{
  "schema": "leumas.docs.page/1",
  "id": "pkg:@leumas/mcp-kit",
  "slug": "packages/mcp-kit",
  "kind": "capabilities",
  "bucket": "package",
  "title": "@leumas/mcp-kit",
  "name": "@leumas/mcp-kit",
  "eyebrow": null,
  "chip": null,
  "summary": "Turn any Leumas adapter/tool into an MCP server — the contract helpers + adapter→server compiler.",
  "keywords": [
    "mcp-kit",
    "turn",
    "server",
    "adapter",
    "leumas",
    "leumas mcp kit",
    "tool"
  ],
  "audience": "both",
  "funnel": {
    "product": null,
    "cta": null
  },
  "body": "# @leumas/mcp-kit\n\nTurn any Leumas adapter/tool into an **MCP server** any coding agent can call. The SDK half of MCP\ngeneration — the runtime that loads + serves these lives in `shared/engines/mcp`.\n\n**Absorbs (DRY-consolidated from):** `opensource/mcp-server-library/sdk/*`.\n\n## Usage\n\n```js\nimport { defineServer, defineTool, adapterToServer } from '@leumas/mcp-kit';\n\n// hand-authored:\nconst math = defineServer({ name: 'math', tools: [\n  defineTool({ name: 'add', inputs: [{ key: 'a', type: 'number' }, { key: 'b', type: 'number' }], run: ({ a, b }) => a + b }),\n]});\n\n// or compile an existing adapter system:\nconst physics = adapterToServer(physicsAdapter);   // every adapter fn becomes an MCP tool\n```\n\n`server.manifest()` is what the engine's `GET /mcp` returns; `server.call(tool, args)` runs one.\n",
  "source": {
    "path": "shared/packages/mcp-kit/README.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 952,
    "hash": "b71faa1ce96a34aa7bd470e0e07135ece99f1517"
  },
  "urls": {
    "html": "/p/packages/mcp-kit",
    "json": "/docs/packages/mcp-kit.json",
    "md": "/docs/packages/mcp-kit.md"
  },
  "links": {
    "composes": [],
    "usedBy": [
      "pkg:@leumas/app-kit"
    ],
    "product": [
      "pkg:@leumas/admin",
      "pkg:@leumas/studio"
    ],
    "howTo": [],
    "skills": []
  },
  "exports": {
    "total": 3,
    "component": 0,
    "hook": 0,
    "helper": 3,
    "names": [
      {
        "n": "adapterToServer",
        "k": "helper"
      },
      {
        "n": "defineServer",
        "k": "helper"
      },
      {
        "n": "defineTool",
        "k": "helper"
      }
    ]
  }
}
