MCP

Connect AI agents to Sanad

Connect Cursor, Claude, and other MCP clients. Agents create draft quotes and invoices only. You validate before anything is sent.

MCP endpoint (Streamable HTTP)

https://app.sanad.cloud/mcp

API keys are created by an organization owner in the Sanad app under Settings → Organization → MCP. This page does not issue keys.

Connect a client

Use the same endpoint for Cursor, Claude, ChatGPT, Gemini, or any MCP client that speaks Streamable HTTP.

Cursor

Prefer OAuth when available. Paste into ~/.cursor/mcp.json or your project .cursor/mcp.json. Do not set MCP-Protocol-Version in headers.

OAuth (recommended)

{
  "mcpServers": {
    "sanad": {
      "url": "https://app.sanad.cloud/mcp",
      "auth": {
        "CLIENT_ID": "cursor",
        "scopes": [
          "read"
        ]
      }
    }
  }
}

API key

{
  "mcpServers": {
    "sanad": {
      "url": "https://app.sanad.cloud/mcp",
      "headers": {
        "Authorization": "Bearer mcp_sk_…"
      }
    }
  }
}

Claude Desktop / Claude Code

Use static OAuth client id claude, or add the HTTP server from the CLI.

OAuth mcp.json

{
  "mcpServers": {
    "sanad": {
      "url": "https://app.sanad.cloud/mcp",
      "auth": {
        "CLIENT_ID": "claude",
        "scopes": [
          "read"
        ]
      }
    }
  }
}

Claude Code CLI

claude mcp add --transport http sanad https://app.sanad.cloud/mcp

ChatGPT

Add a custom MCP connector with Bearer auth. Replace the placeholder with a key from Settings.

ChatGPT

Name:      sanad
URL:       https://app.sanad.cloud/mcp
Auth type: Bearer token
Token:     mcp_sk_…

Gemini CLI

Use httpUrl plus Authorization header. Run gemini mcp list to verify.

Gemini CLI

{
  "mcpServers": {
    "sanad": {
      "httpUrl": "https://app.sanad.cloud/mcp",
      "headers": {
        "Authorization": "Bearer mcp_sk_…"
      }
    }
  }
}

Other MCP clients

Any Streamable HTTP client can POST to the endpoint with Bearer auth or OAuth discovery.

Other MCP clients

Endpoint:  https://app.sanad.cloud/mcp
Transport: Streamable HTTP (POST)
Auth:      Authorization: Bearer <your key>

For AI agents reading this page

You are reading https://sanad.cloud/mcp (or /en/mcp, /fr/mcp, /ar/mcp).
Setup for Sanad MCP at https://app.sanad.cloud/mcp.
Do not invent mcp.sanad.cloud or another host.

Steps:
1. Ask which client the user uses (Cursor, Claude Desktop/Code, ChatGPT, Gemini, other) and OAuth vs API key. Do not register a server unattended.
2. Emit the matching config for that client only (do not dump every snippet unless asked). Prefer OAuth for Cursor/Claude when available; Bearer for headless/ChatGPT/Gemini.
3. Ask before OAuth consent approval. Never type credentials or complete signup for them.
4. Verify in that client's MCP UI/CLI. If not connected, stop and report the failure. Common Cursor failure: HTTP 405 if MCP-Protocol-Version was set in mcp.json headers.
5. Report the 18 tools and the draft-only / no-validate-send boundary. Ask what they want first.

Standing preference: use MCP tools over browser-driving the Sanad UI for CRM/document reads and draft writes. Prefer MCP over inventing REST calls when tools exist. Never call or invent validate/send/pay/finalize/convert/delete tools.

Tools (all 18):
get_revenue_summary, get_payment_metrics, list_customers, get_customer, list_documents, get_document, list_contracts, list_opportunities, get_opportunity, create_opportunity, update_opportunity, create_opportunities_batch, create_quote_draft, add_quote_line, update_quote_draft, create_g12_draft, fill_g12_draft, create_g12_bis_draft, fill_g12_bis_draft

Forbidden via MCP: validate/send/finalize documents, record payments, convert/delete opportunities. Humans finish validation in the Sanad UI. Money uses int64 minor units.

Reference:
- MCP endpoint: https://app.sanad.cloud/mcp
- OAuth PRM: https://app.sanad.cloud/.well-known/oauth-protected-resource
- OAuth AS metadata: https://app.sanad.cloud/.well-known/oauth-authorization-server
- API keys: Sanad app Settings → Organization → MCP (OWNER only)
- Product facts: https://sanad.cloud/llms.txt
- Support: https://sanad.cloud/en/support

What agents can and cannot do

Allowed

  • Read revenue, payments, customers, documents, contracts, and opportunities
  • Create and update draft quotes and G12 / G12 Bis drafts
  • Create and update CRM opportunities (live records, not drafts)

Not allowed via MCP

  • Validate or send documents
  • Finalize G12 / G12 Bis
  • Record payments or post to the ledger
  • Convert or delete opportunities

Not sure which plan fits?

Request a short demo. We walk through how you bill today, show Sanad on your workflow, and answer pricing questions. Usually within one business day.

Cookie preferences

We use cookies to improve your experience and (optionally) enable analytics.