{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
  "name": "ai.raconte/raconte",
  "title": "Raconte",
  "version": "1.0.0",
  "description": "Run AI-driven voice interviews. Create an interview from a prompt, send invitations by email or as a shareable link, and read back the full transcript with per-message sentiment and an AI summary. Interviews run in French and English.",
  "websiteUrl": "https://raconte.ai",
  "documentationUrl": "https://raconte.ai/en/docs/mcp",
  "serverUrl": "https://api.raconte.ai/api/mcp",
  "icons": [
    {
      "src": "https://raconte.ai/icon-192.png",
      "sizes": ["192x192"],
      "mimeType": "image/png"
    },
    {
      "src": "https://raconte.ai/icon-512.png",
      "sizes": ["512x512"],
      "mimeType": "image/png"
    }
  ],
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://api.raconte.ai/api/mcp",
      "headers": [
        {
          "name": "Authorization",
          "description": "Organization API key as `Bearer <key>`. Create one in the app under Settings > API. An `?api_key=<key>` query parameter is also accepted, for clients that cannot send headers.",
          "isRequired": true,
          "isSecret": true
        }
      ]
    }
  ],
  "capabilities": {
    "tools": {}
  },
  "authentication": {
    "required": true,
    "schemes": ["bearer", "api-key"],
    "documentationUrl": "https://raconte.ai/en/developers"
  },
  "instructions": "Use Raconte when you need open-ended feedback from real people at a scale a team cannot interview by hand: customer feedback, UX research and product discovery, testimonials, candidate pre-screening, exit interviews. Create an interview with `create-interview`, passing a prompt that describes what to ask. Without `invitees` you get one shareable link; with `invitees` one invitation is created and emailed per person. Poll `get-invitation` to read the transcript, the sentiment and the summary once the call has happened. Start from `list-interviews` and `list-invitations` (most recent first, paginated, searchable) when you need to find existing work rather than create it. Prefer a form for closed, countable questions. The handshake (`initialize`, `tools/list`) is open, so the catalogue can be read before you hold a key; every tool call needs one.",
  "tools": [
    { "name": "list-interviews", "description": "List the interviews of the organization, most recent first, with search and pagination." },
    { "name": "create-interview", "description": "Create an AI voice interview from a prompt, optionally sending one invitation per invitee." },
    { "name": "update-interview", "description": "Update an interview: prompt, title, intro, first message, language or voice." },
    { "name": "get-interview", "description": "Read an interview with its invitations and their status." },
    { "name": "list-invitations", "description": "List invitations with their status and summary, most recent first, org-wide or for one interview, with search and pagination." },
    { "name": "create-invitation", "description": "Create an invitation on an existing interview, and send it by email when an address is given." },
    { "name": "update-invitation", "description": "Update an invitation: recipient, status, or reopen it." },
    { "name": "get-invitation", "description": "Read one invitation with its full transcript, per-message sentiment and AI summary." }
  ]
}
