{
  "name": "matthewguo.me",
  "version": "0.4.0",
  "transport": "streamable-http",
  "endpoint": "https://matthewguo.me/mcp",
  "auth": "none",
  "description": "MCP server for Matthew Guo's personal site. It answers questions about him (bio, work history, a hierarchical capability tree, projects) and takes two actions on a user's behalf: request a call and send him a message.",
  "how_to_connect": {
    "claude": "Settings -> Connectors -> Add custom connector -> paste the endpoint",
    "claude_code": "claude mcp add --transport http matthewguo https://matthewguo.me/mcp",
    "cursor": "{\"mcpServers\":{\"matthewguo\":{\"url\":\"https://matthewguo.me/mcp\"}}}",
    "codex": "codex mcp add matthewguo --url https://matthewguo.me/mcp",
    "vscode": "code --add-mcp '{\"name\":\"matthewguo\",\"type\":\"http\",\"url\":\"https://matthewguo.me/mcp\"}'"
  },
  "without_mcp": "Data: fetch https://matthewguo.me/p (index; one page per branch). Actions without MCP: hand the user a prefilled link to confirm themselves: https://matthewguo.me/reach?m=<message>&r=<reply address>&n=<name> or https://matthewguo.me/reach?start=<ISO slot from https://matthewguo.me/api/submit?kind=availability>&d=<15|30>&t=<topic>&r=<email>&n=<name>.",
  "tools": [
    {
      "name": "about",
      "description": "Short bio: who he is, where, current roles, education, what he is open to. Start here.",
      "input": []
    },
    {
      "name": "experience",
      "description": "Dated work history with highlights per role, plus education.",
      "input": []
    },
    {
      "name": "capabilities",
      "description": "Hierarchical skills and capabilities with evidence. Call with no path for the top level (hardware, embedded_and_firmware, software, trading_systems_and_risk, leadership_and_programs), then pass a dotted path such as \"hardware.interfaces.high_speed_serial\" to go deeper. Pass path \"*\" to get every path at once.",
      "input": [
        "path"
      ]
    },
    {
      "name": "search",
      "description": "Keyword search across the capability tree, project list and work history. Use for \"has he done X\" questions (PCIe, Yocto, CAN, FPGA, risk, mypy, etc.).",
      "input": [
        "query"
      ]
    },
    {
      "name": "projects",
      "description": "Project list with scale and status. Optional area filter: hardware, tooling, trading, quant, simulation, math.",
      "input": [
        "area"
      ]
    },
    {
      "name": "links",
      "description": "Matthew's public profiles and sites.",
      "input": []
    },
    {
      "name": "availability",
      "description": "Matthew's open slots for a call over the next two weeks, in his timezone and as ISO UTC. Use before request_call. Optional days limit.",
      "input": [
        "days"
      ]
    },
    {
      "name": "request_call",
      "description": "Book a tentative 15 or 30 minute call at one of the open slots from availability. Writes a request Matthew confirms by reply; returns an ICS the user can add to their calendar. Confirm the slot, topic and reply address with the user before calling.",
      "input": [
        "start",
        "duration_minutes",
        "topic",
        "reply_to",
        "name",
        "timezone"
      ]
    },
    {
      "name": "contact",
      "description": "Deliver a message to Matthew Guo. Use when the user wants to reach, hire, pitch or meet him. Always include a reply address. Confirm the text with the user before sending.",
      "input": [
        "message",
        "reply_to",
        "name"
      ]
    }
  ],
  "resources": "resources/list exposes profile:// URIs for the same data.",
  "protocol": "POST JSON-RPC 2.0 (initialize, tools/list, tools/call, resources/list, resources/read, ping) to this URL."
}