{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
  "name": "ai.sinwan/mcp",
  "title": "sinwan",
  "version": "1.0.0",
  "description": "Build and run AI voice agents for phone calls: create and publish agents, attach knowledge bases and tools, buy and route phone numbers, place calls, run outbound campaigns, manage contacts and leads, and read transcripts and post-call analyses.",
  "websiteUrl": "https://sinwan.ai/developers.html",
  "icons": [
    {
      "src": "https://sinwan.ai/icon.svg",
      "mimeType": "image/svg+xml"
    }
  ],
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://api.sinwan.ai/mcp",
      "supportedProtocolVersions": [
        "2025-06-18",
        "2025-03-26"
      ]
    }
  ],
  "url": "https://api.sinwan.ai/mcp",
  "transport": "streamable-http",
  "authentication": {
    "type": "oauth2",
    "protectedResourceMetadata": "https://api.sinwan.ai/.well-known/oauth-protected-resource/mcp",
    "authorizationServer": "https://api.sinwan.ai",
    "alternatives": [
      {
        "type": "apiKey",
        "header": "X-API-Key"
      }
    ]
  },
  "tools": [
    {
      "name": "get_catalog",
      "description": "Supported models, voices, phone numbers, tools and the prompting guide."
    },
    {
      "name": "list_agents",
      "description": "Agents in the workspace."
    },
    {
      "name": "get_agent",
      "description": "One agent with its versions."
    },
    {
      "name": "get_effective_config",
      "description": "The configuration a call would run with."
    },
    {
      "name": "create_agent",
      "description": "Create a voice agent."
    },
    {
      "name": "update_agent",
      "description": "Change an agent's draft: instructions, voice, language, analysis."
    },
    {
      "name": "manage_agent_tools",
      "description": "Attach or detach tools on an agent."
    },
    {
      "name": "manage_agent_knowledge",
      "description": "Attach or detach knowledge bases on an agent."
    },
    {
      "name": "publish_agent",
      "description": "Publish an immutable version."
    },
    {
      "name": "list_workflows",
      "description": "Multi-agent workflows."
    },
    {
      "name": "get_workflow",
      "description": "One workflow."
    },
    {
      "name": "create_workflow",
      "description": "Create a workflow over published agents."
    },
    {
      "name": "update_workflow",
      "description": "Change a workflow's draft."
    },
    {
      "name": "publish_workflow",
      "description": "Publish a workflow version."
    },
    {
      "name": "list_knowledge_bases",
      "description": "Knowledge bases."
    },
    {
      "name": "get_knowledge_base",
      "description": "One knowledge base and its sources."
    },
    {
      "name": "search_knowledge_base",
      "description": "Search a knowledge base."
    },
    {
      "name": "create_knowledge_base",
      "description": "Create a knowledge base."
    },
    {
      "name": "manage_kb_source",
      "description": "Add, refresh or remove a crawled source."
    },
    {
      "name": "add_kb_document",
      "description": "Add a document."
    },
    {
      "name": "list_contacts",
      "description": "Contacts."
    },
    {
      "name": "upsert_contact",
      "description": "Create or update a contact."
    },
    {
      "name": "list_leads",
      "description": "Leads in a list."
    },
    {
      "name": "import_leads",
      "description": "Import leads into a list."
    },
    {
      "name": "list_campaigns",
      "description": "Outbound campaigns."
    },
    {
      "name": "get_campaign",
      "description": "One campaign with its progress."
    },
    {
      "name": "create_campaign",
      "description": "Create an outbound campaign."
    },
    {
      "name": "control_campaign",
      "description": "Start, pause or stop a campaign."
    },
    {
      "name": "list_calls",
      "description": "Calls with their outcomes."
    },
    {
      "name": "get_call",
      "description": "One call: transcript, analysis, recording disposition."
    },
    {
      "name": "place_call",
      "description": "Place an outbound call."
    },
    {
      "name": "set_recording_disposition",
      "description": "Keep or delete a call's recording."
    },
    {
      "name": "search_available_numbers",
      "description": "Numbers available to buy."
    },
    {
      "name": "purchase_phone_number",
      "description": "Buy a number."
    },
    {
      "name": "assign_phone_number",
      "description": "Route a number to a published agent or workflow."
    },
    {
      "name": "manage_notification_rules",
      "description": "Who gets notified about what."
    },
    {
      "name": "get_credits",
      "description": "The workspace balance."
    },
    {
      "name": "manage_integration",
      "description": "Credential pages and integrations."
    },
    {
      "name": "manage_webhook_tool",
      "description": "Tools the agent calls over HTTP."
    },
    {
      "name": "request_credential",
      "description": "Ask a person for a credential without it passing through the model."
    },
    {
      "name": "manage_mcp_server",
      "description": "The customer's own MCP servers."
    },
    {
      "name": "authorize_mcp_server",
      "description": "Authorize sinwan against a customer MCP server."
    },
    {
      "name": "manage_delivery_endpoints",
      "description": "Where post-call results are delivered."
    },
    {
      "name": "manage_enrichers",
      "description": "Caller context fetched before the call."
    },
    {
      "name": "manage_members",
      "description": "Workspace members and roles."
    }
  ],
  "prompts": [
    {
      "name": "get_started",
      "description": "From an empty workspace to a first voice agent on a live number."
    },
    {
      "name": "build_agent",
      "description": "Design interview for a new voice agent, then build, publish and test-call."
    },
    {
      "name": "improve_agent",
      "description": "Evidence-first tuning of an agent that misbehaves, from its transcripts."
    },
    {
      "name": "build_integration",
      "description": "Connect the customer's CRM, ERP or API: enrichers, webhook tools, credentials, their MCP servers."
    },
    {
      "name": "build_workflow",
      "description": "One call, several agents: design the routing, then create, publish and prove the handoffs."
    }
  ]
}
