{
  "schema_version": "0.1.0",
  "name": "V-Sum MCP",
  "description": "Read-only Model Context Protocol server for V-Sum technical briefings, events, and company roster. JSON-RPC 2.0 over streamable HTTP; MCP Apps ui:// resource for inline briefing UI.",
  "version": "1.42.0",
  "serverUrl": "https://vsum-os.pages.dev/mcp",
  "serverInfo": {
    "name": "v-sum",
    "version": "1.42.0",
    "title": "V-Sum"
  },
  "protocolVersion": "2025-06-18",
  "capabilities": {
    "tools": true,
    "resources": true,
    "prompts": false
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://vsum-os.pages.dev/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"
          ]
        }
      }
    }
  ],
  "links": {
    "documentation": "https://vsum-os.pages.dev/developers",
    "publicApi": "https://api.v-sum.com",
    "publicApiSpec": "https://api.v-sum.com/spec.json",
    "openapi": "https://vsum-os.pages.dev/openapi.json",
    "llms_txt": "https://vsum-os.pages.dev/llms.txt"
  }
}