# MCP Server Setup

Connect AI coding tools to 85 Sapiom services via remote MCP server

## Navigation

**Getting Started:** [All You Need](/index.md) | [Getting Started](/introduction.md) | [How Sapiom Works](/how-it-works.md) | [Quick Start](/quick-start.md) | [Using Services](/using-services.md) | [For AI Tools](/for-agents.md)  
**Capabilities:** [Overview](/capabilities.md) | [Verify Users](/capabilities/verify.md) | [Search the Web](/capabilities/search.md) | [AI Model Access](/capabilities/ai-models.md) | [Generate Images](/capabilities/images.md) | [Audio Services](/capabilities/audio.md) | [Browser Automation](/capabilities/browser.md)  
**Integration / Agent Frameworks:** [Overview](/integration/agent-frameworks.md) | [LangChain](/integration/agent-frameworks/langchain.md) | [LangChain Classic](/integration/agent-frameworks/langchain-classic.md)  
**Integration / HTTP Clients:** [Overview](/integration/http-clients.md) | [Axios](/integration/http-clients/axios.md) | [Fetch](/integration/http-clients/fetch.md) | [Node.js HTTP](/integration/http-clients/node-http.md)  
**Governance:** [Overview](/governance.md) | [Setting Up Rules](/governance/rules.md) | [Agents & Identity](/governance/agents.md) | [Activity](/governance/activity.md)  
**Reference / API Reference:** [Introduction](/api-reference/introduction.md)  
**Reference / API Reference / Endpoints:** [Agents Endpoints](/api-reference/endpoints/agents.md) | [Get agent by ID](/api-reference/endpoints/agents/v1-agents-by-id-get.md) | [Update agent](/api-reference/endpoints/agents/v1-agents-by-id-patch.md) | [List all agents](/api-reference/endpoints/agents/v1-agents-get.md) | [Create a new agent](/api-reference/endpoints/agents/v1-agents-post.md) | [API Endpoints](/api-reference/endpoints.md) | [Get Sapiom payment JWKS](/api-reference/endpoints/other/.well-known-sapiom-jwks.json-get.md) | [Analytics Endpoints](/api-reference/endpoints/other.md) | [Get analytics chart](/api-reference/endpoints/other/v1-analytics-chart-get.md) | [Get analytics leaderboards](/api-reference/endpoints/other/v1-analytics-leaderboards-get.md) | [Get analytics summary](/api-reference/endpoints/other/v1-analytics-summary-get.md) | [Rules Endpoints](/api-reference/endpoints/rules.md) | [Get rule by ID](/api-reference/endpoints/rules/v1-spending-rules-by-id-get.md) | [Update a rule](/api-reference/endpoints/rules/v1-spending-rules-by-ruleId-put.md) | [List all rules](/api-reference/endpoints/rules/v1-spending-rules-get.md) | [Create a new rule](/api-reference/endpoints/rules/v1-spending-rules-post.md) | [Transactions Endpoints](/api-reference/endpoints/transactions.md) | [Complete a transaction](/api-reference/endpoints/transactions/v1-transactions-by-transactionId-complete-post.md) | [List transaction costs](/api-reference/endpoints/transactions/v1-transactions-by-transactionId-costs-get.md) | [Add cost to transaction](/api-reference/endpoints/transactions/v1-transactions-by-transactionId-costs-post.md) | [Add facts to transaction](/api-reference/endpoints/transactions/v1-transactions-by-transactionId-facts-post.md) | [Get transaction details](/api-reference/endpoints/transactions/v1-transactions-by-transactionId-get.md) | [Reauthorize a transaction with x402 payment data](/api-reference/endpoints/transactions/v1-transactions-by-transactionId-reauthorize-post.md) | [List transactions](/api-reference/endpoints/transactions/v1-transactions-get.md) | [Create a new transaction](/api-reference/endpoints/transactions/v1-transactions-post.md) | [Verification Endpoints](/api-reference/endpoints/verification.md) | [Check verification code](/api-reference/endpoints/verification/v1-services-verify-check-post.md) | [Send verification code](/api-reference/endpoints/verification/v1-services-verify-send-post.md)  
**Reference / SDK Reference:** [@sapiom/axios](/reference/sdk/axios.md) | [@sapiom/fetch](/reference/sdk/fetch.md) | [SDK Reference](/reference/sdk.md) | [@sapiom/langchain-classic](/reference/sdk/langchain-classic.md) | [@sapiom/langchain](/reference/sdk/langchain.md) | [@sapiom/node-http](/reference/sdk/node-http.md)  
**Reference:** [Concepts](/reference/concepts.md)

---

Sapiom's remote MCP server gives AI coding tools direct access to 85 tools — web search, AI models, browser automation, web scraping & crawling, audio generation, image creation, compute (jobs & sandboxes), databases (Redis, Vector, Search, Postgres), messaging (queues & schedules), phone verification, and governance — over HTTP.

---

## Setup

Connect your AI client to Sapiom's remote MCP server:

**Claude Code CLI:**
```bash
    claude mcp add sapiom --transport http https://api.sapiom.ai/v1/mcp
    ```
  
**Claude Code Config:**
Add to your Claude Code settings file (`~/.claude/settings.json` or project `.claude/settings.json`):

    ```json
    {
      "mcpServers": {
        "sapiom": {
          "transport": "http",
          "url": "https://api.sapiom.ai/v1/mcp"
        }
      }
    }
    ```
  
**Cursor / Windsurf:**
Add to your MCP configuration:

    ```json
    {
      "mcpServers": {
        "sapiom": {
          "transport": "http",
          "url": "https://api.sapiom.ai/v1/mcp"
        }
      }
    }
    ```
  

> If your platform requires explicit authentication, add `--header "x-api-key: YOUR_API_KEY"` (CLI) or a `"headers": { "x-api-key": "YOUR_API_KEY" }` block (JSON). Get a key at [app.sapiom.ai/settings](https://app.sapiom.ai/settings).

---

## Available Tools

| Category | Tool | Description |
|----------|------|-------------|
| [Discovery](/integration/mcp-servers/core-tools.md#discovery) | `tool_discover` | Find the best tools for your objective — describe a goal, get ranked recommendations |
| [Search](/integration/mcp-servers/core-tools.md#search) | `sapiom_search` | Web search via Linkup with AI-synthesised answers and source citations |
| [Search](/integration/mcp-servers/core-tools.md#search) | `sapiom_deep_search` | Web + news results via You.com — use with `sapiom_search` for broader coverage |
| [Browser](/integration/mcp-servers/core-tools.md#browser) | `sapiom_fetch` | Fetch and extract webpage content as markdown |
| [Browser](/integration/mcp-servers/core-tools.md#browser) | `sapiom_screenshot` | Capture a webpage screenshot (returns expiring PNG URL) |
| [Audio](/integration/mcp-servers/core-tools.md#audio) | `sapiom_text_to_speech` | Convert text to speech via ElevenLabs (returns mp3 URL) |
| [Audio](/integration/mcp-servers/core-tools.md#audio) | `sapiom_sound_effects` | Generate sound effects from a text description (returns mp3 URL) |
| [Audio](/integration/mcp-servers/core-tools.md#audio) | `sapiom_list_voices` | List available ElevenLabs voices and IDs (free) |
| [AI Models](/integration/mcp-servers/core-tools.md#ai-models) | `sapiom_chat` | Send a prompt to an LLM via OpenRouter (GPT-4o, Claude, etc.) |
| [AI Models](/integration/mcp-servers/core-tools.md#ai-models) | `sapiom_list_models` | List available LLM models and pricing (free) |
| [Image](/integration/mcp-servers/core-tools.md#image-generation) | `sapiom_generate_image` | Generate images from text prompts via Fal.ai (FLUX Schnell/Dev/Pro) |
| [Verify](/integration/mcp-servers/core-tools.md#verification) | `sapiom_verify_send` | Send SMS verification code to a US phone number |
| [Verify](/integration/mcp-servers/core-tools.md#verification) | `sapiom_verify_check` | Check a 6-digit verification code |
| [Governance](/integration/mcp-servers/core-tools.md#governance) | `sapiom_create_agent` | Register a named agent for transaction tracking |
| [Governance](/integration/mcp-servers/core-tools.md#governance) | `sapiom_list_agents` | List registered agents |
| [Governance](/integration/mcp-servers/core-tools.md#governance) | `sapiom_create_spending_rule` | Create spending/usage limits (cost caps, rate limits) |
| [Governance](/integration/mcp-servers/core-tools.md#governance) | `sapiom_list_spending_rules` | List spending rules |
| [Governance](/integration/mcp-servers/core-tools.md#governance) | `sapiom_create_transaction_api_key` | Create a scoped API key (shown once — store securely) |
| [Status](/integration/mcp-servers/core-tools.md#status--auth) | `sapiom_status` | Check authentication and tenant context (free) |
| [Auth](/integration/mcp-servers/core-tools.md#status--auth) | `sapiom_authenticate` | Get authentication flow instructions (browser + device code) |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_deploy` | Deploy a serverless batch job |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_list` | List all deployed jobs |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_get` | Get status of a deployed job |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_update` | Update an existing job |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_delete` | Delete a deployed job |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_trigger` | Trigger a job execution with task payloads |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_list_executions` | List past executions for a job |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_job_get_execution` | Get detailed execution status and results |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_create` | Create a persistent cloud sandbox |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_list` | List all active sandboxes |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_get` | Get sandbox status and details |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_delete` | Delete a sandbox |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_extend` | Extend sandbox lifetime |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_exec` | Execute a command in a sandbox |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_process_logs` | Get process stdout/stderr logs |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_list_files` | List files in a sandbox |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_read_file` | Read a file from a sandbox |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_write_file` | Write a file to a sandbox |
| [Compute](/integration/mcp-servers/compute.md) | `sapiom_sandbox_deploy` | Deploy source files to a sandbox |
| [Database](/integration/mcp-servers/database.md) | `sapiom_redis_create` | Create a Redis database |
| [Database](/integration/mcp-servers/database.md) | `sapiom_redis_create_fixed` | Create a fixed-capacity Redis database (250MB–500GB plans) |
| [Database](/integration/mcp-servers/database.md) | `sapiom_redis_list` | List Redis databases |
| [Database](/integration/mcp-servers/database.md) | `sapiom_redis_delete` | Delete a Redis database |
| [Database](/integration/mcp-servers/database.md) | `sapiom_redis_update` | Update/extend a Redis database |
| [Database](/integration/mcp-servers/database.md) | `sapiom_redis_command` | Execute Redis commands |
| [Database](/integration/mcp-servers/database.md) | `sapiom_vector_create` | Create a Vector index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_vector_list` | List Vector indexes |
| [Database](/integration/mcp-servers/database.md) | `sapiom_vector_delete` | Delete a Vector index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_vector_update` | Update/extend a Vector index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_vector_upsert` | Upsert vectors |
| [Database](/integration/mcp-servers/database.md) | `sapiom_vector_query` | Query vectors by similarity |
| [Database](/integration/mcp-servers/database.md) | `sapiom_searchindex_create` | Create a Search index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_searchindex_list` | List Search indexes |
| [Database](/integration/mcp-servers/database.md) | `sapiom_searchindex_delete` | Delete a Search index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_searchindex_update` | Update/extend a Search index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_searchindex_upsert` | Upsert documents into index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_searchindex_query` | Query a Search index |
| [Database](/integration/mcp-servers/database.md) | `sapiom_database_create` | Provision ephemeral Postgres database |
| [Database](/integration/mcp-servers/database.md) | `sapiom_database_price` | Get Postgres price estimate (free) |
| [Database](/integration/mcp-servers/database.md) | `sapiom_database_list` | List active Postgres databases |
| [Database](/integration/mcp-servers/database.md) | `sapiom_database_get` | Get database details and connection URI |
| [Database](/integration/mcp-servers/database.md) | `sapiom_database_delete` | Delete a Postgres database |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_message_publish` | Publish a message to a URL |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_message_enqueue` | Enqueue a message to a named queue |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_message_batch` | Batch publish messages |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_message_get` | Get message delivery status |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_message_cancel` | Cancel a pending message |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_schedule_create` | Create a cron schedule |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_schedule_list` | List schedules |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_schedule_get` | Get schedule details |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_schedule_delete` | Delete a schedule |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_schedule_pause` | Pause a schedule |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_schedule_resume` | Resume a schedule |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_queue_list` | List queues |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_queue_get` | Get queue details |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_queue_delete` | Delete a queue |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_queue_pause` | Pause a queue |
| [Messaging](/integration/mcp-servers/messaging.md) | `sapiom_queue_resume` | Resume a queue |
| [Scraping](/integration/mcp-servers/scraping.md) | `sapiom_scrape` | Scrape a webpage with format options (markdown, html, screenshot) |
| [Scraping](/integration/mcp-servers/scraping.md) | `sapiom_crawl` | Crawl an entire website (async, returns job ID) |
| [Scraping](/integration/mcp-servers/scraping.md) | `sapiom_crawl_status` | Check crawl job status and retrieve results |
| [Scraping](/integration/mcp-servers/scraping.md) | `sapiom_map` | Map all URLs on a website (fast sitemap discovery) |
| [Scraping](/integration/mcp-servers/scraping.md) | `sapiom_extract` | Extract structured data from pages via natural language prompt |
| [Scraping](/integration/mcp-servers/scraping.md) | `sapiom_extract_status` | Check extract job status and retrieve results |
| [Scraping](/integration/mcp-servers/scraping.md) | `sapiom_site_search` | Search within a specific website's content |

> **Start with `tool_discover`** — describe your goal and it recommends the best tools with usage examples.

---

## Troubleshooting

### "Unauthorized" or 401 errors

Verify your API key is correct and included in the `x-api-key` header. Get a new key at [app.sapiom.ai/settings](https://app.sapiom.ai/settings).

### Tools not appearing

Restart your AI client after adding the MCP server configuration. Verify the URL is exactly `https://api.sapiom.ai/v1/mcp`.

### Timeout errors

Some tools (image generation, deep search, text-to-speech) may take 15–30 seconds. If timeouts persist, try simpler inputs or check service status.

---

## Next Steps

- [Capabilities](/capabilities.md) - Deep-dive into each service: pricing, examples, full parameter details
  - [Agent Frameworks](/integration/agent-frameworks.md) - Programmatic integrations for LangChain and other frameworks