{
 "recipe": "mcp-server",
 "version": "0.3",
 "status": "test-built",
 "snapshot": "2026-10-12",
 "answers": {
  "use": "commercial",
  "budget": "free",
  "credit": "ok",
  "agent": "claude-code",
  "transport": "stdio",
  "writes": "no"
 },
 "tested": {
  "on": "2026-10-12",
  "same_parts": false,
  "differs_in": [
   "HTTP endpoint (left out here)"
  ]
 },
 "parts": [
  {
   "role": "runtime",
   "name": "Runtime",
   "pick": "x:node22",
   "title": "Node.js 22.19 or newer",
   "url": "https://nodejs.org/en/download",
   "version": null,
   "kind": null,
   "reach": "builtin",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "sdk",
   "name": "MCP SDK",
   "pick": "tool:modelcontextprotocol",
   "title": "MCP TypeScript SDK (server)",
   "url": "https://agentgid.com/tools/modelcontextprotocol/",
   "version": "2.3.1",
   "kind": "runtime",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "schema",
   "name": "Schemas",
   "pick": "tool:zod",
   "title": "Zod",
   "url": "https://agentgid.com/tools/zod/",
   "version": "4.6.7",
   "kind": "runtime",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "lang",
   "name": "Language",
   "pick": "tool:typescript",
   "title": "TypeScript",
   "url": "https://agentgid.com/tools/typescript/",
   "version": "7.0.2",
   "kind": "dev",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "tests",
   "name": "Tests",
   "pick": "tool:vitest",
   "title": "Vitest",
   "url": "https://agentgid.com/tools/vitest/",
   "version": "5.0.4",
   "kind": "dev",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "inspector",
   "name": "Manual and CLI check",
   "pick": "x:mcp-inspector",
   "title": "MCP Inspector",
   "url": "https://github.com/modelcontextprotocol/inspector",
   "version": null,
   "kind": null,
   "reach": "human",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "knowledge",
   "name": "Library knowledge",
   "pick": "mcp:context7",
   "title": "Context7",
   "url": "https://agentgid.com/mcp/servers/io-github-upstash-context7/",
   "version": "4.3.0",
   "kind": null,
   "reach": "mcp",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "data",
   "name": "Tool and asset data",
   "pick": "mcp:agentgid",
   "title": "AgentGid",
   "url": "https://agentgid.com/connect/",
   "version": null,
   "kind": null,
   "reach": "mcp",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "also",
   "name": "Also",
   "pick": "x:mcp-client",
   "title": "MCP TypeScript SDK (client)",
   "url": "https://www.npmjs.com/package/@modelcontextprotocol/client",
   "version": "2.3.1",
   "kind": "dev",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "also",
   "name": "Also",
   "pick": "x:types-node",
   "title": "@types/node",
   "url": "https://www.npmjs.com/package/@types/node",
   "version": "26.6.5",
   "kind": "dev",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  }
 ],
 "install": [
  "node --version   # must print v22.19 or newer",
  "npm init -y && npm pkg set type=module",
  "npm install --save-exact @modelcontextprotocol/server@2.3.1 zod@4.6.7",
  "npm install -D --save-exact typescript@7.0.2 vitest@5.0.4 @modelcontextprotocol/client@2.3.1 @types/node@26.6.5"
 ],
 "checks": [
  {
   "level": "info",
   "text": "The kit uses SDK version 2 (2.3.1). Version 1 (`@modelcontextprotocol/sdk`) still installs and has the most examples online; do not mix the two in one project.",
   "source": "https://agentgid.com/tools/modelcontextprotocol/"
  }
 ],
 "summary": {
  "parts": 10,
  "roles": 8,
  "fromAgentGid": 6,
  "collected": 4,
  "manual": [],
  "credits": [],
  "paid": [],
  "free": true,
  "blocks": 0,
  "warns": 0,
  "assets": 0,
  "cleared": 0,
  "byHand": []
 }
}
