
Questions this page should answer
- How do I connect my AI agent with OAuth?
- Which MCP endpoint should my client use?
- When do I need a personal access token?
- How do I confirm tools are available in my client?
Before you connect
- In Atomic, open
Profile settingsand selectMCP. - Use the MCP endpoint:
What this page gives you
- Your Atomic MCP endpoint.
- A copyable server URL used by OAuth-enabled custom connectors.
- Personal access token creation and revocation for clients without OAuth.
- The configuration pattern for other remote HTTP MCP clients.
Important: If you need a personal access token, treat it like a password. Store it in your client config or secret manager, not in shared docs or chat threads.
How project access works
OAuth connections and personal access tokens inherit your user permissions. They cannot access projects you cannot already open in Atomic, and they cannot use tools for projects below the Starter plan. You do not need to put a project id in your client configuration. When a tool runs:- Atomic uses the only accessible project automatically when your account has access to one project.
- If your account has access to multiple projects, Atomic returns a project chooser with each project id, name, domain, and workspace.
- Ask the AI client to use the right project and rerun the tool with
projectIdin the tool arguments.
Organize items in folders
MCP tools can organize Content documents, Workflows, Grids, and saved custom Reports using the same folders as the app. Each tool uses the selected project and the collection’s existing permissions and plan requirements. Reading folders requires view permission; creating, editing, and moving require full permission for that collection.
List folders first to get folder IDs, names, descriptions, and item-to-folder assignments. Use the existing Content,
Workflow, Grid, or Report listing tools to discover item IDs and details. Items absent from the assignments are at
the top level.
To create a folder, supply
name and an optional description. To edit one, supply folderId, name, and
description. Both text fields replace their saved values; use an empty description to clear it. Folder names
support up to 120 characters and descriptions up to 2,000 characters.
To move an item, supply its itemId and destination folderId. Use a string ID for Content and a numeric ID for
Workflows, Grids, and Reports. Set folderId to null to move the item back to the top level. The item and folder
must belong to the same project and collection. Only saved custom reports can be moved; built-in reports remain
at the top level.
For example, after identifying report 42 and a report folder 7, call move_report_to_folder with:
Review Social posts
A connected client can revise, approve, or request changes to an existing Grid Social post. This uses the same review history and permissions as the Social posts screen.- Read
get_grid_sheetand identify the post’ssheetId,rowId,columnId, and current revision. - Call
review_grid_social_postwith those IDs,expectedRevision, and anaction:revise,approve, orrequest_changes. - For
revise, send the complete editablecontent, includingplatform,postType,authorName, andbody. Preserve the fields you want to keep and omit obsolete media fields when changing formats. Do not send server-owned status, history, actor, or revision fields. Keep carouselimageUrlsandimageAltTextsin the same order. - Review the returned revision. A revision returns the post to awaiting approval. Approve separately using the new revision; do not reuse the old one.
- For
request_changes, include actionablefeedback. If another editor changed the revision, read the sheet again and review the newer content before retrying.
update_grid_cell or update_grid_cells to revise an existing Social post.
Reading requires access to the project’s workflows. Revising requires Workflows write access; approving or requesting changes requires Social post approval write access. See reviewer permissions.
Review actions do not publish or schedule a post. Use the approved revision in a separate publishing workflow, then inspect the provider result. This connector procedure has no separate product screen; its resulting revision and approval state appear in the existing Social post review dialog.
Test an AI-search prompt
Ask your connected agent to test prompt text on any engine available on the project’s plan. Thetest_ai_search_prompt_run tool takes prompt and engine, with an optional promptCategory, then returns a runId.
Tests do not add saved prompts, create groups, select engines, or enable ongoing tracking. Saving prompts for
regular tracking is a separate action. The agent can use
get_ai_search_prompt_run to check progress and read the answer, citations, and brand classifications.
Tests share a billing-cycle run allowance with regular prompt tracking. Each prompt tested on one engine uses one run.
The allowance per billing cycle follows your plan’s tracking schedule: Starter has 825 runs (75 × 11 scheduled executions every three days),
Team has 3,840 (240 × 16 scheduled executions every two days), Team Max has 13,020, Frontier Analyst has 24,800, and Frontier Growth
has 49,600. The daily plans use capacity × 31. Tests use this same allowance, with no separate test pool.
A successful billing renewal resets the used-run count. Duplicate payment events and plan changes do not reset it. Failed attempts use a run; requesting a prompt and
engine that already has a pending run returns that run without using another. Test runs require full AI-search permission.
Cursor
Cursor can connect directly to Atomic’s HTTP MCP endpoint. Open Cursor MCP settings and add this server to yourmcp.json:
atomic-ai MCP server in Cursor. The tools list should load without any project-specific header.
Claude custom connector
Claude and Claude Desktop can connect directly to Atomic using the remote custom connector flow. You do not need to paste an MCP token or configure OAuth client credentials.- In Claude, open
Settings>Connectors. - Select
Add custom connector. - Enter
Atomic AIas the name. - Enter the remote MCP server URL:
- Leave the optional OAuth Client ID and OAuth Client Secret empty.
- Select
Add, thenConnect. - Sign in to Atomic and approve the requested tool access.

ChatGPT custom app
ChatGPT can connect to Atomic through an OAuth-enabled custom MCP app. You do not need to create or paste a personal MCP token.- Enable developer mode in ChatGPT.
- Open
Settings>Appsand create a custom app. - Enter the Atomic MCP endpoint:
- Choose OAuth authentication and let ChatGPT register its public client automatically.
- Sign in to Atomic and approve the requested tool access.
Codex
Codex can add Atomic as a remote MCP server and authenticate through OAuth:Claude Desktop local configuration
For clients that use Claude Desktop’s localclaude_desktop_config.json rather than remote custom connectors, use mcp-remote to bridge to Atomic’s HTTP MCP endpoint.
Add this server to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS:
Claude Code
Claude Code can add Atomic as a remote HTTP MCP server from the terminal:atomic-ai is connected and that tools are available.
Other MCP clients
If your client supports dynamic registration, connect it tohttps://app.atomicagi.com/api/mcp and use the authorization code flow with S256 PKCE. Register the callback URI your client uses to finish sign-in.
You can register up to five distinct callback URIs. Use one exactly as registered when starting sign-in, including the port and path. Callback URIs must be free of embedded credentials and fragments.
Clients without OAuth support can use a personal bearer token:
Use Atomic as a remote HTTP MCP server when the client supports HTTP MCP:
mcp-remote with the Claude Desktop pattern.
Test the connection
You can test the token and endpoint withcurl:
tools array.
Quick setup checklist
- Choose your AI agent on the Atomic MCP page.
- Add the Atomic endpoint in your client and complete OAuth sign-in.
- Restart or refresh the MCP client.
- Confirm the Atomic tools list appears.
- Run a harmless read-only tool first.
- If asked to choose a project, pass the returned
projectIdon the next call.
Troubleshooting
The client shows no tools
Check that the MCP token is active, the endpoint ends with/api/mcp, and the authorization header starts with Bearer .
Claude Desktop says the config is invalid
Use thecommand and args format with mcp-remote. Claude Desktop does not accept the direct url and headers format used by Cursor.
Claude custom connector does not open Atomic sign-in
Confirm that the connector URL is exactlyhttps://app.atomicagi.com/api/mcp and that the optional OAuth Client ID and OAuth Client Secret fields are empty. Remove and add the connector again if Claude cached a failed setup attempt.
The tool asks you to choose a project
Choose the project by name or domain. The AI client should call the tool again with the returnedprojectId in the tool arguments.
A token was shared by mistake
Revoke it fromProfile settings > MCP immediately and create a new token.
Keep in mind
- MCP tokens inherit your user permissions.
- Claude custom connectors use OAuth and do not require a manually created MCP token.
- ChatGPT custom apps and standards-compliant native MCP clients can use OAuth without a personal MCP token.
- Tokens do not grant access to projects you cannot open in Atomic.
- Project selection is explicit when your account can access multiple projects.
- Revoke old tokens when you stop using a client.
Where to go next
Add tracked prompts through MCP
Useadd_project_prompts to add AI-search prompts directly to the selected Atomic project.
Use update_project_prompt with a promptId from get_project_prompts to change text (prompt), funnel stage (promptCategory), topic assignments (promptTopicIds) or tracking status (isActive). Supply at least one changed field; omitted fields are preserved and an empty topic array clears assignments. Updates do not schedule an immediate tracking run.
Use delete_project_prompt with promptId to permanently remove a tracked prompt. Both tools require full AI Search permission and restrict changes to the selected project. To pause tracking, use update_project_prompt with isActive: false.
Supply a non-empty prompts list. Each item needs prompt text and a promptCategory:
awareness, consideration, decision, or branded. You can also supply promptTopicIds
for topics in that project.
get_project_prompts first to check existing prompts:
exact-text duplicates update their stage without scheduling another tracking run.
The response reports savedPrompts, totalPrompts submitted after deduplication, and
remainingPrompts capacity (-1 means unlimited).
Project setup tools
Start withlist_workspaces and list_projects, then inspect get_project or get_project_setup_status using an explicit projectId. Tool discovery and both inspection tools work before MCP entitlement is enabled, but require accepted project access and general-settings read permission. Source and tracking details are marked restricted when the connected user lacks the corresponding permission.
Setup status reports saved configuration, not live integration health or indexing completion. Knowledge, publishing, competitors, brand kits and tracking are optional steps according to your goals. A knowledge base can be configured before any files are indexed. Credit status uses the same contract as Atomic:
available: -1 means unlimited credits.
Checkout requires an existing project and full workspace billing permission. create_project creates the requested project before billing. Without a subscription it returns checkout for that new project; never substitute another project. Complete payment interactively at the returned checkout link; the link alone does not activate a plan. Use Atomic workspace billing interactively when a workspace subscription already exists. Autonomous MCP tools cannot change an existing subscription. New Google connections also require interactive sign-in in Atomic.
Project updates require full general-settings permission. Topic mutations require full AI Search permission; competitor deletion requires full Competitors permission. Updating a project SERP location does not overwrite existing brand-kit targeting. Use update_brand_kit separately when its search targeting should also change.
Project onboarding and AI Search reporting tools
create_project requires a selected paymentPlanId, but does not require an existing subscription. It creates the requested project first. Without a subscription (or after a canceled subscription), it returns billing.status: checkout_required and a checkout URL for that same project. paymentPlanId remains null until payment succeeds; requestedPaymentPlanId identifies the selected plan. With an active subscription, it leaves the new project unbilled and returns billing.status: interactive_billing_required with nextAction: open_workspace_billing. Select and confirm the plan for this project in Atomic workspace billing. MCP does not activate a plan, invoice prorations, or end a trial.
If billing preparation fails after creation, the tool returns the created project ID, billing.status: failed, and recovery tool arguments. Inspect the actual project plan before retrying billing; do not repeat project creation or upgrade an unrelated project. Checkout links require interactive payment and do not activate plans by themselves.
Use list_workspaces to choose a workspace, get_payment_plans to choose a payment plan, and list_projects to find the stable project ID. Project tools accept projectId when your client needs to select a project.
Statistics default to the last 30 days. Run history includes all dates unless dates are supplied. Weekly boundary buckets are clipped to your requested date range.
Mention statistics return
mentionCount, validAnswerCount, mentionPercentage and a derived mentionFrequency label. Failed, pending and unclassified answers are excluded. Visibility remains a separate position-weighted metric. An empty sample returns zero counts and percentage, with a null label.
get_gsc_keywords and get_gsc_pages support results beyond the first 100 rows. Use page, limit and nextPage to retrieve more results. Zero-click rows are retained.
get_citations accepts startDate and endDate. get_sentiment returns structured sentiment data and counts/percentages by default. Set includeRawText: true only when you need the full evaluation text.
Adding an existing exact-text prompt updates its stage without starting another run. New prompts still schedule tracking runs.
Reuse a workspace Google connection
These tools reuse a Google account already authorized in Atomic. They do not start OAuth or accept external Google tokens.
Use the Atomic
siteId and propertyId returned by property discovery. googlePropertyId is Google’s identifier and is not the input record ID. Event discovery defaults to the last 30 days; an event absent from that period may still be configured by name.
Read tools require workspace integrations access. Saving requires full workspace integrations access and full project data-sources access. All selected sources must belong to the workspace connection, and the project must belong to that workspace.
Connecting GSC follows the app flow and updates the project’s domain to match the selected site. GA4 event selection is stored on the property and shared by projects using that property. Omitting eventNames preserves the current selection; passing [] clears it. This configures Atomic reporting events and does not change Google’s key-event settings.
