{
  "schema_version": "0.1.0",
  "name": "V-Sum MCP",
  "description": "Model Context Protocol servers for V-Sum. Public endpoint: read-only briefings, events, and companies (no auth). Admin endpoint: full operational control with staff API key auth.",
  "version": "1.47.0",
  "serverUrl": "https://v-sum.com/mcp",
  "serverInfo": {
    "name": "v-sum",
    "version": "1.47.0",
    "title": "V-Sum"
  },
  "protocolVersion": "2025-06-18",
  "capabilities": {
    "tools": true,
    "resources": true,
    "prompts": false
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://v-sum.com/mcp",
    "auth": "none",
    "detail": "POST JSON-RPC 2.0 to /mcp. Clients MUST send Accept: application/json, text/event-stream. Notifications return HTTP 202. MCP Apps: all tools expose _meta.ui.resourceUri → ui://v-sum/briefing-browser (resources/read returns text/html;profile=mcp-app)."
  },
  "tools": [
    {
      "name": "search_briefings",
      "description": "Full-text search over V-Sum technical briefings. Matches against title, company, presenter, description, and tags. Returns briefing slug, title, company, event, presenter, and a short description.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "query": {
            "type": "string",
            "description": "Search terms. Multi-word queries are AND-matched."
          },
          "limit": {
            "type": "integer",
            "description": "Max results (default 10, max 50).",
            "default": 10,
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "title": "Search briefings",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://v-sum/briefing-browser",
          "visibility": [
            "model",
            "app"
          ]
        }
      }
    },
    {
      "name": "get_briefing",
      "description": "Get a single briefing by slug, including YouTube video id, presenter, company, event, description, tags, and timestamped chapters (when available).",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "slug": {
            "type": "string",
            "description": "Briefing slug, e.g. \"v-sardine\". Available via search_briefings or list_briefings."
          }
        },
        "required": [
          "slug"
        ]
      },
      "annotations": {
        "title": "Get briefing",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://v-sum/briefing-browser",
          "visibility": [
            "model",
            "app"
          ]
        }
      }
    },
    {
      "name": "list_briefings",
      "description": "List V-Sum briefings, newest event first. Optionally filter by event name or tag. Useful for pagination or topic-scoped exploration.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "event": {
            "type": "string",
            "description": "Filter by event name, e.g. \"V-Sum TwentyOne\"."
          },
          "tag": {
            "type": "string",
            "description": "Filter by tag slug, e.g. \"payments\" or \"compliance\"."
          },
          "limit": {
            "type": "integer",
            "description": "Max results (default 25, max 200).",
            "default": 25,
            "minimum": 1,
            "maximum": 200
          },
          "offset": {
            "type": "integer",
            "description": "Pagination offset.",
            "default": 0,
            "minimum": 0
          }
        }
      },
      "annotations": {
        "title": "List briefings",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://v-sum/briefing-browser",
          "visibility": [
            "model",
            "app"
          ]
        }
      }
    },
    {
      "name": "list_events",
      "description": "List V-Sum convenings (events) in chronological order, with briefing counts per event. Use with list_briefings({event}) to drill into a specific convening.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Max results (default 100, max 500).",
            "default": 100,
            "minimum": 1,
            "maximum": 500
          },
          "offset": {
            "type": "integer",
            "description": "Pagination offset.",
            "default": 0,
            "minimum": 0
          }
        }
      },
      "annotations": {
        "title": "List events",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://v-sum/briefing-browser",
          "visibility": [
            "model",
            "app"
          ]
        }
      }
    },
    {
      "name": "list_companies",
      "description": "List every company that has given a technical briefing at V-Sum, with their homepage URL and the slug of their most recent briefing. One entry per company.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Max results (default 200, max 1000).",
            "default": 200,
            "minimum": 1,
            "maximum": 1000
          },
          "offset": {
            "type": "integer",
            "description": "Pagination offset.",
            "default": 0,
            "minimum": 0
          }
        }
      },
      "annotations": {
        "title": "List companies",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://v-sum/briefing-browser",
          "visibility": [
            "model",
            "app"
          ]
        }
      }
    }
  ],
  "admin": {
    "endpoint": "https://v-sum.com/mcp/admin",
    "auth": "bearer",
    "auth_detail": "Staff API token required: Authorization: Bearer stk_... — issued on admin Team page",
    "access_levels": [
      "read",
      "write",
      "operate"
    ],
    "tool_count": 61,
    "tool_domains": [
      "events",
      "people",
      "nominations",
      "tasks",
      "registrations",
      "analytics",
      "sponsors",
      "communications",
      "content",
      "system"
    ],
    "tools": [
      {
        "name": "list_events",
        "domain": "events",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_event",
        "domain": "events",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "update_event",
        "domain": "events",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "create_event",
        "domain": "events",
        "minimumLevel": "operate",
        "approvalRequired": false
      },
      {
        "name": "manage_attendees",
        "domain": "events",
        "minimumLevel": "operate",
        "approvalRequired": false
      },
      {
        "name": "manage_breakouts",
        "domain": "events",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "sync_event_to_studio",
        "domain": "events",
        "minimumLevel": "operate",
        "approvalRequired": false
      },
      {
        "name": "search_people",
        "domain": "people",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_person",
        "domain": "people",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "create_person",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "update_person",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "add_note",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "record_contact_signal",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "list_person_emails",
        "domain": "people",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "add_person_email",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "set_primary_email",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "list_companies",
        "domain": "people",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_company",
        "domain": "people",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "create_company",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "update_company",
        "domain": "people",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "merge_people",
        "domain": "people",
        "minimumLevel": "operate",
        "approvalRequired": false
      },
      {
        "name": "list_nominations",
        "domain": "nominations",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_nomination",
        "domain": "nominations",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "create_nomination",
        "domain": "nominations",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "update_nomination_status",
        "domain": "nominations",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "update_nomination",
        "domain": "nominations",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "list_tasks",
        "domain": "tasks",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "create_task",
        "domain": "tasks",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "update_task",
        "domain": "tasks",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "list_registrations",
        "domain": "registrations",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_registration",
        "domain": "registrations",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "update_registration",
        "domain": "registrations",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "export_registrations",
        "domain": "registrations",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_event_stats",
        "domain": "analytics",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_pipeline_summary",
        "domain": "analytics",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_dashboard",
        "domain": "analytics",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "list_sponsors",
        "domain": "sponsors",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_sponsor",
        "domain": "sponsors",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "update_sponsor_stage",
        "domain": "sponsors",
        "minimumLevel": "write",
        "approvalRequired": true,
        "approvalCondition": "Only when deal_value is changed — pipeline_stage changes alone do not require approval"
      },
      {
        "name": "track_deliverable",
        "domain": "sponsors",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "create_invoice",
        "domain": "sponsors",
        "minimumLevel": "operate",
        "approvalRequired": true
      },
      {
        "name": "create_payment_link",
        "domain": "sponsors",
        "minimumLevel": "operate",
        "approvalRequired": true
      },
      {
        "name": "list_email_threads",
        "domain": "communications",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "list_email_messages",
        "domain": "communications",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "list_comm_sends",
        "domain": "communications",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_comm_send",
        "domain": "communications",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "list_scheduled_sends",
        "domain": "communications",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "draft_email",
        "domain": "communications",
        "minimumLevel": "operate",
        "approvalRequired": true
      },
      {
        "name": "send_internal_notification",
        "domain": "communications",
        "minimumLevel": "operate",
        "approvalRequired": false
      },
      {
        "name": "list_briefings",
        "domain": "content",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "get_briefing",
        "domain": "content",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "update_briefing_metadata",
        "domain": "content",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "publish_briefing",
        "domain": "content",
        "minimumLevel": "operate",
        "approvalRequired": true
      },
      {
        "name": "list_approvals",
        "domain": "tasks",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "provide_approval_context",
        "domain": "tasks",
        "minimumLevel": "operate",
        "approvalRequired": false
      },
      {
        "name": "list_changelog",
        "domain": "system",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "create_changelog_entry",
        "domain": "system",
        "minimumLevel": "write",
        "approvalRequired": false
      },
      {
        "name": "whoami",
        "domain": "system",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "list_audit_log",
        "domain": "system",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "query_contact_signals",
        "domain": "people",
        "minimumLevel": "read",
        "approvalRequired": false
      },
      {
        "name": "report_problem",
        "domain": "system",
        "minimumLevel": "read",
        "approvalRequired": false
      }
    ],
    "resources": [
      {
        "uri": "ops://v-sum/agent-guide",
        "description": "Operational guide: data model, workflows, approval policies"
      }
    ],
    "openapi": "https://v-sum.com/mcp/admin/openapi.json"
  },
  "registry": "https://github.com/superduperdot/vsum-mcp",
  "links": {
    "documentation": "https://v-sum.com/developers",
    "agents": "https://v-sum.com/agents",
    "agents_json": "https://v-sum.com/agents.json",
    "publicApi": "https://api.v-sum.com",
    "publicApiSpec": "https://api.v-sum.com/spec.json",
    "openapi": "https://v-sum.com/openapi.json",
    "adminOpenapi": "https://v-sum.com/mcp/admin/openapi.json",
    "llms_txt": "https://v-sum.com/llms.txt",
    "auth_md": "https://v-sum.com/auth.md"
  }
}