Mercator documentation
Mercator gives agents one interface to:
- Find tools for an open-ended workflow.
- Quote an immutable plan of one or more tool calls.
- Pay for and run the plan as one durable job.
Downstream services remain independently operated and use open payment protocols such as MPP and x402.
Choose a path
- New to Mercator: Install Mercator, then run your first job.
- Connecting another client: Find your app in Agent setup.
- Building an integration: Start with the API and key concepts.
- Managing payments: Read costs and payment and MACH.
- Operating a service: See Mercator for service owners.
Installation
Run this in your computer's terminal. Setup detects installed agents and lets you choose which ones to connect:
curl -fsSL https://mercator.sh/install.sh | shComplete authorization in your agent, then run your first job. For Claude Desktop, Claude web, ChatGPT, or individual agent instructions, see Agent setup. For setup options and updates, see the CLI reference.
During authorization, new sessions sign in and approve payment permission in one Tempo Wallet approval. Existing sessions approve access for the same account wallet.
Run your first job
After setup, authorize Mercator and fund your wallet in Account. Then give your agent this prompt:
Use Mercator to find NVIDIA's latest 10-Q and 8-K via SEC submissions. Return official links,
dates, and one-sentence summaries.For more ideas, ask for get_suggested_queries. The same catalog appears under Try Mercator
after CLI setup:
| Demo | Complexity | Prompt |
|---|---|---|
| Tokenized NVIDIA comparison | Complex | Compare tokenized NVDA: issuer, chains, value, dividend-adjusted price, liquidity, redemption; flag conflicts and missing data. |
| Escape the fog | Moderate | Compare tomorrow's SF, Half Moon Bay and Livermore forecasts; map the sunniest trip from the Ferry Building with two food stops. |
| Research to launch artwork | Complex | Research 3 AI expense-report competitors; propose sourced positioning, generate launch artwork, and return a one-page brief. |
The agent should:
- Call
search_serviceswith the complete outcome. - Build the smallest valid plan from the returned endpoint.
- Call
quote_plan; search, inspection, and quoting are free. - Call
create_jobonce with a stable idempotency key and the quoted total asapproved_total. - Poll
get_jobuntil it returns a terminal result.
Expected outcome: the agent returns both filings, dates, official sources, and summaries. If the job remains pending, it should return the job ID so polling can resume without another purchase.
Paid execution uses the limits approved during browser authorization. An explicit budget in your prompt is an additional limit. For native MPP clients such as Hermes, configure the client's payment wallet and provide an explicit budget or approve the quote before paying.
API
Mercator offers REST and MCP interfaces:
- REST: Read the live OpenAPI specification, which includes the generated
x-mercator-mcptool contracts. - MCP: Connect a Streamable HTTP client to
https://mercator.sh/mcp/auth.
Both interfaces share discovery, quoting, jobs, and accounting. Use MCP for agent workflows or REST for direct application integration.
Service discovery
- API catalog
- Agent discovery document
- MCP server card
- Agent skills index
- OAuth setup guide
- OAuth protected-resource metadata
- WebMCP: Read-only service search and description tools on the homepage.
To require a specific provider, pass its service ID and serviceMode=require to REST search:
curl -G 'https://mercator.sh/v1/services/search' \
--data-urlencode 'query=search the web' \
--data-urlencode 'serviceId=exa' \
--data-urlencode 'serviceMode=require'In MCP, pass service_ids: ["exa"] and service_mode: "require" to search_services.
Use prefer to retain relevant fallback services. Add more IDs to either list to select more
than one provider. Submitted plans name the exact service and endpoint for each node.
MCP tools
Use this table to find the REST route or MCP tool for each operation.
| Operation | REST | MCP |
|---|---|---|
| List curated Mercator quick-start queries | GET /v1/suggested-queries | get_suggested_queries |
| Get connection status | — | get_connection_status |
| Search downstream MPP services | GET /v1/services/search | search_services |
| Describe a downstream MPP service | GET /v1/services/{serviceId} | describe_service |
| Live-price a plan without a budget or payment | POST /v1/quote | quote_plan |
| Submit a durable plan | POST /v1/jobs | create_job |
| List retained jobs for the authenticated wallet | GET /v1/jobs | list_jobs |
| Poll or retrieve a cached job result | GET /v1/jobs/{jobId} | get_job |
| Retrieve one cached node result or selected field | GET /v1/jobs/{jobId}/results/{nodeId} | get_job_details |
| Fund wallet | — | fund_wallet |
| Claim wallet | — | claim_wallet |
| Review a completed workflow and its tool calls | POST /v1/jobs/{jobId}/feedback | create_job_review |
| Retrieve feedback reward status | GET /v1/jobs/{jobId}/feedback | get_job_review |
| Send product feedback or a bug report to Mercator maintainers | POST /v1/product-feedback | send_product_feedback |
Run a REST workflow
Use the live OpenAPI document for complete schemas. This workflow requires a payment-capable client
with an existing local Mercator wallet for submission. Replace each {{PLACEHOLDER}} with the
returned endpoint, quote, or job value before running its command.
-
Search for an endpoint that satisfies the complete outcome:
curl -G 'https://mercator.sh/v1/services/search' \ --data-urlencode 'query=find the latest official NVIDIA SEC filing' \ --data-urlencode 'resolution=live' \ --data-urlencode 'limit=5' -
Inspect the returned endpoint's input schema. Save
plan.jsonwith its exactserviceId,method,path, and schema-valid input:curl 'https://mercator.sh/v1/services/{{SERVICE_ID}}'{ "nodes": [ { "id": "filing", "serviceId": "{{SERVICE_ID}}", "method": "{{METHOD}}", "path": "{{PATH}}", "input": { "query": "latest official NVIDIA SEC filing" }, "dependsOn": [] } ] } -
Quote the plan without spending money:
curl 'https://mercator.sh/v1/quote' \ --header 'content-type: application/json' \ --data-binary @plan.json -
Save
job.jsonwith the unchanged plan and a new 8–200 characteridempotencyKey. Submit it with the quotedtotalAmountas your spending cap. The CLI handles the MPP payment challenge using your existing local wallet. Persist the returnedjobId.An empty request may return a zero-value discovery challenge. It cannot submit a job; retrying it with a payment credential returns
400. Use the quoted plan to obtain the actual charge.{ "idempotencyKey": "{{IDEMPOTENCY_KEY}}", "plan": { "nodes": [ { "id": "filing", "serviceId": "{{SERVICE_ID}}", "method": "{{METHOD}}", "path": "{{PATH}}", "input": { "query": "latest official NVIDIA SEC filing" }, "dependsOn": [] } ] } }mercator local submit \ --url 'https://mercator.sh/v1/jobs' \ --max-spend '{{QUOTED_TOTAL}}' \ --body "$(cat job.json)"If submission times out, retry the unchanged body with the same key. A new key can create a second paid job. Never reuse a key with a changed plan.
-
Poll the same job while
statusispendingorrunning:curl 'https://mercator.sh/v1/jobs/{{JOB_ID}}'
Terminal statuses are succeeded, partially_succeeded, and failed; each returns cached
outputs, summary: {succeeded, failed, skipped}, and a failures array with node IDs, services,
and reasons. Partial success retains successful outputs: present those first, then explain failures.
An interrupted job keeps its state; continue polling its ID. Free calls retry transient failures
up to three times. After a durable purchase claim, Mercator attempts a paid provider request at most
once. A permanent failure skips dependent nodes, while independent nodes can finish. Completed
purchases remain billable.
To read only the outputs you need, request a summary, then select a successful node:
curl 'https://mercator.sh/v1/jobs/{{JOB_ID}}?result_mode=summary'
curl 'https://mercator.sh/v1/jobs/{{JOB_ID}}/results/{{NODE_ID}}'
curl --get 'https://mercator.sh/v1/jobs/{{JOB_ID}}/results/{{NODE_ID}}' \
--data-urlencode 'result_pointer=/results/0'Recover historical jobs
Call list_jobs({ limit: 10 }) with an OAuth bearer or verified Tempo Wallet account session to find
your wallet's retained jobs. Use a returned jobId with get_job to retrieve cached outputs for free.
Pass nextCursor (the last job ID) as cursor to continue, keeping the same optional status filter.
If that job expires, restart without a cursor.
Job records, cached results, and charged idempotency records expire after seven days. History does
not preserve reports composed by your agent.
Wallet sign-in grants history access without creating a spending key. Revoking an agent connection does not remove your account session's access. REST and both MCP endpoints accept either identity; an explicit invalid bearer is rejected even when a valid session cookie is present.
From a signed-in, same-origin browser, read history with the existing HttpOnly session:
const history = await fetch('/v1/jobs?limit=10', { credentials: 'same-origin' }).then(
(response) => response.json(),
)Cookie-authenticated requests must be same-origin. For external clients, use your OAuth access
token for /mcp/auth:
curl 'https://mercator.sh/v1/jobs?limit=10&status=succeeded' \
-H "Authorization: Bearer $MERCATOR_ACCESS_TOKEN"Pass the returned nextCursor as the cursor query parameter for the next page.
The response includes jobs, optional nextCursor, and next_action; provider payloads stay private.
Key concepts
- Plan: An immutable directed acyclic graph of 1–10 service calls. Each node declares its endpoint, input, and dependencies; Mercator derives prices from live quotes.
- Job: One durable execution of an approved plan. Mercator will execute nodes concurrently whenever possible.
- Failures: A failed job includes sanitized per-node
nodeId,serviceId, andreasonentries; raw provider errors remain private. - Rank: Final display order after provider preference and health routing.
- Score: Unchanged relevance and price components. Routing can place a lower score before a higher one.
Mercator sends each provider its schema-validated input, explicitly referenced dependency output, a provider-scoped idempotency key, and the payment credential for that purchase. It does not send the full workflow or the client's wallet credentials.
Costs and payment
- Free: Discovery, service inspection, quotes, result reads, and product feedback.
- Paid jobs: The quote includes provider costs and Mercator's cost multiplier. You pay the quoted total before execution.
- Job reviews: Free; require proof from the original payer.
Quotes are advisory and do not create payment credentials or purchase provider results. Mercator
validates live payment terms again during execution while enforcing the accepted total and stored
per-node limits. Plans contain no client-owned prices: quote_plan returns totalAmount, and
create_job passes it unchanged as approved_total. Hosted OAuth limits and any explicit budget
cap spending. Legacy MCP challenge clients and separate local wallets require quote approval or a
sufficient explicit budget, including after a price change.
Do not paste or send private keys. Wallet tooling handles signing and payment authorization; Mercator receives only the protocol credentials needed for the approved request.
Mercator supports MPP with two payment methods:
- Tempo: Mercator advertises a USDC.e charge. Clients can fund it with MACH through the canonical swapper, pay USDC.e directly, or use a supported pathUSD auto-swap.
- Stripe: Pay in USD with a shared payment token (SPT).
Mercator pays providers through MPP on Tempo or x402 on Base. Base is not a customer payment rail. Stripe automatic payment recovery is not supported; contact support if a payment is interrupted.
Mercator's Tempo payment clients use mercator.sh for MPP client attribution in on-chain
transfer memos. Downstream payments also retain the provider's payment realm.
Failed-job refunds
Unused capacity on failed Tempo jobs is refunded to your wallet in MACH at a 1:1 value. Stripe payments are not automatically refunded.
MACH
MACH is a USD-denominated credit on Tempo for paying approved merchants, including Mercator.
- View or add MACH: Open Account. Hosted MCP users can also ask their agent to call
fund_wallet. - Claim the social grant: Run
mercator account claim githubormercator account claim x, or ask an agent to callclaim_wallet. - One grant per wallet: A wallet can claim once per campaign across GitHub and X. A prior claim disables both options, including for tester accounts.
- Purchase rate: 1 USD buys 1 MACH, minted directly to the authenticated Tempo wallet.
- Automatic use: The connected wallet uses MACH for paid Mercator jobs after funding completes.
Before purchasing, confirm the wallet address. MACH:
- Can be sent only to approved merchants, including Mercator.
- Cannot be moved between personal wallets.
- Cannot be redeemed for cash, swapped, or bridged by Mercator.
- Does not expire.
The Tempo mainnet token contract is
0x20c000000000000000000000f37de3740ADec032.
Social claim browser security
Start a social claim in the same browser that completes GitHub or X authorization. The first
POST /v1/claims response requires a matching Origin and sets a secure, HTTP-only cookie.
Retain it and retry the identical
request once. Keep that cookie for the provider callback; concurrent claims use separate cookies.
A copied authorization link cannot complete the claim in another browser. If the cookie expires or is cleared, start a new claim. Replaying an existing claim cannot change its recipient.
Service feedback
Mercator combines relevance, price, reliability, and user-reported quality when surfacing tools. After a job reaches a terminal state, an agent can review:
- The complete workflow.
- Up to 25 executed nodes.
Eligible reviews may receive 0.01 MACH after successful reward issuance. Feedback and individual tool reviews are retained for 90 days.
Feedback criteria
| Criterion | Requirement |
|---|---|
| Review content | Include an overall 1–5 rating, at least one tool rating, or both. |
| Comment limits | Overall comments: 2,000 characters. Tool comments: 1,000 characters. |
| Tool reference | Use the plan's nodeId; Mercator resolves the service and endpoint from the stored job. |
| Tags | accurate, fast, good_value, helpful, inaccurate, poor_value, slow, or unhelpful. |
| Idempotency | A job accepts one canonical review. Replaying the same body returns it; changing it returns 409. |
| Authorization | The original job payer signs a route-bound zero-value proof; no tokens transfer. |
Reward eligibility additionally requires:
- Submission within five minutes of job completion.
- Retained customer spend after refundable unused capacity strictly greater than
0.01.
Example request
Ask an MCP-connected agent to call create_job_review. It returns a bounded command equivalent to:
mercator local submit \
--url 'https://mercator.sh/v1/jobs/<job-id>/feedback' \
--max-spend 0 \
--body '{
"rating": 5,
"comment": "Useful result and good value.",
"tools": [
{
"nodeId": "first_call",
"rating": 5,
"comment": "Returned the right source quickly.",
"tags": ["accurate", "fast"]
}
]
}'The command requires an existing local wallet that matches the original job payer. Hosted MCP authorization does not create that local wallet. The CLI obtains the zero-value challenge and uses the local wallet to sign the proof; it transfers no tokens.
If the reward is queued, poll its status:
curl 'https://mercator.sh/v1/jobs/<job-id>/feedback'Mercator for service owners
Mercator ingests reviewed catalogs and endpoint metadata for services that use supported open payment protocols such as MPP and x402.
To request discovery, email mercator@tempo.xyz with:
- Service URL.
- Documentation or OpenAPI URL.
- Supported payment protocol.
- Short capability description.
Reporting bugs
Ran into an issue with Mercator? Report it through either channel:
- Email mercator@tempo.xyz.
- Ask an MCP-connected agent to call
send_product_feedback.
For an issue involving a known job:
- Provide its UUIDv4 in the optional
job_idfield. - Omit
job_idwhen no job was created or its ID is unknown. - Use the same field with
POST /v1/product-feedback. - Treat the ID as a result-access capability. It is shared with maintainers for investigation.
Do not include:
- Secrets, credentials, or payment material.
- Personal data.
- Raw tool inputs or outputs.
Use the job feedback endpoint for workflow and service-quality reviews, not product bugs.
Agent setup
Start with Set up Mercator for the connection and verification checklist, or choose your app below for detailed instructions.
| Where you use your agent | Setup path |
|---|---|
| Claude Code, Codex, Cursor, or another installed client | Local agents |
| Claude Desktop chat, Claude web, or Cowork | Claude connectors |
| ChatGPT on the web | Developer-mode app |
| Cloud agent, team-managed host, or remote machine | Managed and remote environments |
| Another MCP client | Manual installation |
Local agents
Run this in your computer's terminal. Setup detects installed clients and lets you select which ones to configure:
curl -fsSL https://mercator.sh/install.sh | shTo configure just one client during installation, pass its ID after sh -s --:
curl -fsSL https://mercator.sh/install.sh | sh -s -- --client cursorIf Mercator is already installed, use the command for your client below. Run project-scoped setup from the project you use in that agent. Commands register Mercator; authorization is a separate step.
Activate after installation
Installation writes configuration; the running agent must load it before tools are available.
mercator refresh updates managed files but does not restart your client.
| Client / change | Next step |
|---|---|
| Claude Code terminal plugin | Run /reload-plugins in the current session. If it warns about the prompt cache, run /reload-plugins --force. Restart Claude Code if unsupported. |
| Claude Code without an interactive terminal | Start a new session to load plugin MCP changes. |
| Codex plugin | Check plugin/MCP status first: recent versions support live refresh. If tools remain missing, fully quit and reopen the desktop app, or exit and resume the CLI. |
| Grok plugin | Restart Grok after a plugin refresh when setup requests it. |
| Standalone MCP configuration | If Mercator is missing, restart the client, then authorize. Plugin reload may not load standalone registrations. |
Codex AGENTS.md guidance | Start a new session to load changed instructions. |
After activation, complete the client's OAuth flow and call search_services and
get_connection_status there. mercator doctor verifies the separate CLI connection.
For immediate terminal access, use mercator login, mercator tools, and mercator call;
this does not activate tools in an already-running agent.
Claude Code
User MCP registration and Mercator plugin.
mercator setup --client claudeIn Claude Code, run /mcp, select Mercator, and complete browser authorization.
See Claude Code MCP.
Codex
Local Codex MCP registration; requires the Codex CLI on PATH.
mercator setup --client codexRun codex mcp login mercator to authorize. See Codex MCP configuration.
Cursor
User MCP configuration in ~/.cursor/mcp.json.
mercator setup --client cursorOpen Cursor's Customize page, find Mercator under MCP servers, and complete its OAuth sign-in. See Cursor MCP.
Visual Studio Code
MCP registration through the code command.
mercator setup --client vscodeRun MCP: List Servers from the Command Palette, select Mercator, and start it. Complete any trust and sign-in prompts, then enable its tools in agent chat. See VS Code MCP.
Gemini CLI
User MCP registration.
mercator setup --client geminiIn Gemini CLI, run /mcp auth mercator and complete browser authorization.
See Gemini MCP authentication.
Cline
Use Cline's native setup so the server is saved in the configuration your client reads:
cline mcpChoose Add server, name it mercator, select Streamable HTTP, and enter
https://mercator.sh/mcp/auth. Complete browser authorization; use Authorize OAuth to retry.
In the IDE extension, use MCP Servers > Remote Servers instead. See Cline MCP configuration.
mercator setup --client cline currently writes project .cline/mcp.json; Cline's documented
CLI location is ~/.cline/mcp.json, and the extension manages its own configuration. Use the
native setup above until the installer targets those locations.
Continue
Project .continue/mcpServers/mercator.json.
mercator setup --client continueUse Agent mode in Continue and complete the OAuth sign-in for Mercator. See Continue MCP.
Windsurf
User ~/.codeium/windsurf/mcp_config.json.
mercator setup --client windsurfOpen MCPs in the Cascade panel, select Mercator, and complete OAuth authorization. See Cascade MCP.
Grok
User MCP registration and Mercator plugin.
mercator setup --client grokOpen /mcps, select Mercator, and press i to authorize.
See Grok MCP.
Hermes
Native MPP integration at /mcp, not hosted OAuth.
mercator setup --client hermesThe installer selects /mcp and sets up the hermes-mpp payment plugin. Complete any
remaining plugin and wallet steps it prints before paid use. Native MPP requires quote approval
or an explicit spending budget. See Hermes MCP commands.
Kiro
User ~/.kiro/settings/mcp.json.
mercator setup --client kiroConnect to Mercator from Kiro's MCP controls and complete the browser authorization it opens. See Kiro MCP authentication.
LM Studio
User ~/.lmstudio/mcp.json.
mercator setup --client lmstudioEnable Mercator in LM Studio and complete the browser authorization it opens. See LM Studio MCP authentication.
Muse Code
XDG Muse settings, normally ~/.config/muse/settings.json.
mercator setup --client museRun muse mcp login mercator to authorize.
OpenClaw
Native MCP configuration with OAuth enabled.
mercator setup --client openclawInteractive setup starts login; otherwise run openclaw mcp login mercator.
See OpenClaw OAuth.
Zed
context_servers in Zed user settings.
mercator setup --client zedOpen Settings > AI > MCP Servers and complete Mercator's OAuth prompt. Use it from Zed's Agent Panel. See Zed MCP.
Claude Desktop chat and Claude web
- Open Customize > Connectors, click +, then Add custom connector in Claude Desktop or claude.ai.
- Name it Mercator and enter
https://mercator.sh/mcp/auth. - Complete Claude's connection and authorization flow, then check the free
search_servicesandget_connection_statustools in your conversation.
This uses Claude's remote connector; no terminal installation is required. The user completes authorization and chooses wallet limits. See Claude's connector guide if your organization manages connector access.
Cowork can use the same remote connector. If the connector controls are unavailable, check the host's current account and organization requirements; installing a CLI inside the conversation does not enable them.
ChatGPT web
Where your account and workspace permit custom apps:
- Enable Developer mode in Settings > Security and login.
- Open Plugins, use the + button, and create a developer-mode app named Mercator.
- Enter
https://mercator.sh/mcp/auth, choose OAuth, and complete authorization. If prompted for a registration method, use dynamic client registration (DCR). - Select the app from the conversation's Developer mode tools, then verify the connection.
Follow OpenAI's developer-mode guide
for current availability and controls. A local Codex registration or mercator login does not
authorize this ChatGPT connection. Do not run the installer in ChatGPT's code-execution sandbox.
Managed and remote environments
- Cloud or team-managed agents: use the host's native plugin or connector controls. Where it
supports remote MCP with OAuth, add
https://mercator.sh/mcp/authusing Streamable HTTP and complete authorization. An administrator may need to enable the integration first. - SSH, containers, and remote development: run setup where the intended agent client runs. Configuration written there does not configure a separate desktop app. Use the client's documented OAuth callback or remote-browser flow; a loopback callback must reach the machine running that client. See the Grok and OpenClaw notes.
- No connector controls or compatible OAuth support: use a supported client instead. Do not repeatedly run the installer in a disposable sandbox or paste tokens or private keys into chat.
- Unclear app or mode: identify it before choosing a setup path. Claude Code, Claude Desktop chat, local Codex, and ChatGPT web do not share one installation or authorization flow.
Verify the connection
Then verify the connection in that client. See manual installation for direct MCP commands and configuration examples without installer-managed setup.
In the client you connected, ask:
Use Mercator to search for web research services, then check my connection status.
Do not create a paid job.- Confirm the agent can call
search_servicesandget_connection_status; both checks are free. - Follow any returned authorization or funding steps. Registration, a browser account login, or an HTTP 401 challenge alone does not prove the client's connection is ready.
- Hosted OAuth: choose wallet limits and expiry during authorization. Zero limits allow connecting without spending authority; a successful connection does not imply paid readiness.
- Hermes/native MPP:
get_connection_statusreportsmcp_challengewithout wallet balances. Check the native payment plugin and wallet separately; this response does not verify spending readiness. - Keep each client's authorization in that client. CLI login and
mercator doctorcannot verify credentials owned by another agent host.
CLI reference
Setup options, updates, and manual registration. For the installer, see Installation.
The installer downloads a checksum-verified standalone executable; Node.js and Bun are not required. It updates the active shell's PATH profile when needed. A failed reinstall keeps using the existing executable.
Configuration
Pass setup arguments after sh -s --:
curl -fsSL https://mercator.sh/install.sh | sh -s -- --client codex- Codex/ChatGPT desktop: Installs one local plugin by default. ChatGPT web uses the separate developer-mode app setup.
- Claude Code and Grok CLI: Registers the public
tempoxyz/docsmarketplace and installs its Mercator plugin. - No detected client: Installs the local desktop plugin when enabled. Install a supported
client and rerun setup, or use
mercator setup --manualfor other MCP clients. - Cloud/team marketplaces: Managed by the host.
CLI commands
| Command | Purpose |
|---|---|
mercator login | Authorize the CLI through browser OAuth. |
mercator logout | Remove local CLI credentials. |
mercator tools | List live MCP tools and schemas. |
mercator call <tool> --input '{…}' | Invoke an MCP tool. |
mercator setup | Connect Mercator to installed agent clients. |
mercator status | Show client registrations and connection status. |
mercator account | Manage hosted wallet access, limits, funding, and revocation. |
mercator refresh | Update and refresh existing managed integrations using saved setup choices. |
mercator doctor | Check MCP transport, discovery, and local integrations. |
mercator uninstall | Remove MCP registrations, the plugin, and managed guidance. |
mercator local | Use a separate local wallet and submit REST jobs. |
Use the CLI as an MCP client
Interactive mercator setup signs in the CLI through browser OAuth when needed, then checks
discovery and spending capacity automatically. Existing CLI credentials are reused. This connection
is named mercator cli; agent clients authorize separately.
--yes, non-interactive setup, and mercator refresh never launch login. If login is cancelled,
installed integrations remain in place; rerun mercator setup in an interactive terminal.
To sign in explicitly, then discover and invoke live tools:
mercator login
mercator tools
mercator call get_connection_status
mercator call search_services --input '{"query":"web research"}'
mercator doctor- Choose wallet limits in the browser authorization flow. Login and doctor create no paid jobs.
toolsreturns current tool descriptions and input schemas.callaccepts a JSON object and returns the MCP result; tool errors exit nonzero. Paid tools use the connection's approved limits.- Credentials stay in endpoint-scoped, owner-only files under
~/.local/share/mercator/oauth/. Expiring bearers refresh automatically. Other agent clients retain their own authorization. - The Tempo access key remains valid until revoked by default. Revoke the connection in Account to disable OAuth first, then ask Tempo Wallet to revoke the on-chain key. For a key that has not yet been published, Account returns its signed public authorization so Wallet can authorize and revoke it in one transaction.
mercator logoutremoves local CLI credentials. Revoke mercator cli in Account to revoke its wallet access.
Setup options
| Option | Behavior |
|---|---|
--client <name> | Configure one client; repeat for several. IDs: claude, cline, codex, continue, cursor, gemini, grok, hermes, kiro, lmstudio, muse, openclaw, vscode, windsurf, and zed. |
--url <url> | Use another Mercator MCP endpoint, including a local development endpoint. |
--dry-run | Preview configuration changes without writing them. |
--yes | Select every detected client unless --client is specified, and apply without setup prompts or installer-initiated login. Existing CLI credentials are reused. |
--verbose | Keep progress output and append detailed setup diagnostics. |
--manual | Print MCP/OAuth connection instructions without configuring integrations. Incompatible with --client, --force, and --remove-agents. |
--force | Recreate MCP registrations; complete native OAuth in the client. |
--plugin / --no-plugin | Enable or disable the local desktop plugin. Enabled by default. |
--skill / --no-skill | Include or omit the Mercator skill inside the plugin. Included by default. |
--agents / --no-agents | Enable or disable managed Codex AGENTS.md guidance. Enabled by default. |
--remove-agents | Remove only managed Codex guidance and stop; incompatible with --force and --no-agents. |
The bootstrap installer accepts these environment overrides:
| Variable | Behavior |
|---|---|
MERCATOR_BIN_DIR | Set the executable directory; highest precedence. Relative paths are resolved before installation. |
MERCATOR_INSTALL_DIR | Set the executable directory when MERCATOR_BIN_DIR is unset. |
INSTALL_DIR | Generic fallback when neither Mercator-specific directory is set. |
MERCATOR_INSTALLER_URL | Download a specific trusted HTTPS release installer. |
MERCATOR_NO_MODIFY_PATH=true | Leave shell profiles unchanged and print the PATH command instead. |
MERCATOR_SKIP_SETUP=true | Install the CLI without running setup. Run mercator setup later. |
Install the plugin from the Tempo marketplace
The installer bootstraps the Mercator plugin for detected supported clients. To install it directly,
add the public Tempo marketplace and select the mercator@tempo plugin:
Codex
codex plugin marketplace add tempoxyz/docs --ref main
codex plugin add mercator@tempoClaude Code
claude plugin marketplace add tempoxyz/docs
claude plugin install mercator@tempo --scope userGrok
grok plugin marketplace add tempoxyz/docs
grok plugin install mercator@tempoManual installation
Merge configuration examples into the existing file; preserve other servers and settings.
For other MCP clients, run mercator setup --manual. Add https://mercator.sh/mcp/auth
using Streamable HTTP and complete OAuth in that client; see the
registration instructions if it requires a client ID.
After connecting, verify with the free search_services and get_connection_status tools in your client.
A successful registration or a 401 challenge is not proof of payment readiness. mercator doctor
cannot read credentials managed by the client.
You can register the remote MCP endpoint directly in a supported harness:
Codex
codex mcp add mercator --url https://mercator.sh/mcp/auth --oauth-client-registration dcrClaude Code
claude mcp add --scope user --transport http mercator https://mercator.sh/mcp/authGemini CLI
gemini mcp add mercator https://mercator.sh/mcp/auth --transport http --scope userVS Code
code --add-mcp '{"name":"mercator","type":"http","url":"https://mercator.sh/mcp/auth"}'OpenClaw
openclaw mcp set mercator '{"url":"https://mercator.sh/mcp/auth","transport":"streamable-http","auth":"oauth"}'
openclaw mcp login mercatorIf the browser cannot reach OpenClaw's loopback callback, use its documented remote-browser fallback. Do not paste authorization codes into chat.
Hermes
hermes mcp add mercator --url https://mercator.sh/mcpThis registers the MCP server only. Paid use also requires the native MPP plugin and wallet;
mercator setup --client hermes checks the plugin and prints any remaining steps.
Kiro
Add to ~/.kiro/settings/mcp.json:
{"mcpServers":{"mercator":{"url":"https://mercator.sh/mcp/auth"}}}LM Studio
Add to ~/.lmstudio/mcp.json:
{"mcpServers":{"mercator":{"url":"https://mercator.sh/mcp/auth"}}}Muse Code
Bootstrap only Muse's MCP configuration, then authorize with Muse:
mercator setup --client muse --no-plugin --no-agents
muse mcp login mercatorSetup preserves other entries in ~/.config/muse/settings.json (or the XDG_CONFIG_HOME
equivalent), initializes schema_version: 1, and adds Mercator using transport: "streamable_http".
It uses an existing mcpServers map when present, otherwise mcp_servers. Start a new Muse session
and check /mcp. Configuration does not complete OAuth; Muse stores and refreshes the credentials.
This integration does not require Muse's experimental plugin commands.
Zed
Add mercator under context_servers in the Zed user settings file:
{"context_servers":{"mercator":{"url":"https://mercator.sh/mcp/auth"}}}Manual registration saves the server configuration. Complete authorization and
verify the connection in that client. OAuth-capable clients open Account
when authorization is required. Run mercator account to manage wallet access, limits, funding, and revocation.