{# Public docs are meant to be found: index them, and give search + AI engines a real description and a self-referencing canonical per page. #} {# Brand favicon: the coral Succo juice-drop as an inline SVG (self-contained, no static asset needed). #}
Developers Log in Sign up

MCP Server

Succo exposes a remote Model Context Protocol server so an AI client — Claude, an IDE agent, your own tooling — can read your workspaces, surveys, forms and responses directly, acting as you and never beyond the access you already have.

What is MCP

MCP is an open standard for connecting AI applications to external tools and data. Succo’s server is a read-only, stateless Streamable HTTP server: the client opens a session, discovers the available tools, and calls them on your behalf. Every call is authorized live against your account, so a tool can never surface data you couldn’t see yourself.

Endpoint

Point your MCP client at:

https://succo.ai/mcp

The transport is Streamable HTTP (a single endpoint handling the MCP request/response and streaming). No SSE endpoint to configure separately.

Authentication

There are two ways to authenticate, depending on your client:

Personal access token

Create an MCP token (succo_mcp_…) in your Succo account settings and send it as a bearer token. Best for scripts and self-hosted agents:

Authorization: Bearer succo_mcp_your_token_here

OAuth 2.1 connector

Clients that speak OAuth (such as Claude’s connector UI) can connect without a manual token. The server advertises its OAuth metadata via the standard discovery documents, so the client walks the flow for you:

/.well-known/oauth-protected-resource /.well-known/oauth-authorization-server

You approve the connection once on a Succo consent screen; the client then holds a short-lived token scoped to your account.

Tools

The server is read-only. It exposes tools to list and read the same resources as the REST API:

AreaWhat the AI can read
WorkspacesWorkspaces you belong to, and their stats.
Surveys & FormsDefinitions, questions and fields.
ResponsesSubmitted responses (PII stays redacted).
RunsExtraction / analysis runs and their results.
Access is live and scoped to you. The server acts as the token’s owner and re-checks membership on every call — resources you aren’t a member of return “not found”, never someone else’s data.

Connect a client

Setup instructions per client. Everywhere below, the server URL is https://succo.ai/mcp — the same endpoint from the section above. OAuth clients (Claude, Codex) walk you through consent on first use; for a token client (Cursor) create an MCP token (succo_mcp_…) in your Succo account settings first.

Claude

Claude Desktop — add Succo as a custom connector:

  1. Open the Claude desktop app and go to Settings → Connectors.
  2. Click Add custom connector.
  3. Give it a name (e.g. Succo) and paste the server URL https://succo.ai/mcp.
  4. Save. A browser window opens to sign in and authorize access to your Succo account — approve it, then return to Claude.

Succo now shows up in the connectors menu: open the connectors/tools icon in any chat, enable Succo, and ask in natural language. Nothing to paste into a config file — the connector handles auth (OAuth) for you.

claude.ai (web) — same flow in the browser: Settings → Connectors → Add custom connector, paste the server URL above, authorize.

Claude Code — run this command in a terminal; on first use your browser opens to authorize access:

claude mcp add --transport http succo https://succo.ai/mcp

Codex (OpenAI)

Add this block to ~/.codex/config.toml, then run codex mcp login succo to authorize access:

[mcp_servers.succo]
url = "https://succo.ai/mcp"

Cursor

In Cursor, open Settings → Tools & MCP → New MCP Server and paste this configuration, replacing YOUR_PERSONAL_TOKEN with a token created in your Succo account settings:

{
  "mcpServers": {
    "succo": {
      "url": "https://succo.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_PERSONAL_TOKEN"
      }
    }
  }
}

Any other MCP-compatible client works too: point it at the server URL and authenticate with OAuth or a bearer token. Prefer plain REST? Head back to Get Started or the API Reference.