{"_id":"@abdlrahmansaber/mcpkit","_rev":"2-68a4359ae03f43a84a6672fa30db53aa","name":"@abdlrahmansaber/mcpkit","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@abdlrahmansaber/mcpkit","version":"0.1.0","keywords":["mcp","model-context-protocol","ai","agent","devtools"],"license":"MIT","_id":"@abdlrahmansaber/mcpkit@0.1.0","maintainers":[{"name":"abdlrahmansaber","email":"abdlrahmansaber652@gmail.com"}],"homepage":"https://github.com/AbdlrahmanSaberAbdo/mcpkit#readme","bugs":{"url":"https://github.com/AbdlrahmanSaberAbdo/mcpkit/issues"},"bin":{"mcpkit":"dist/bin/mcpkit.js"},"dist":{"shasum":"aa2ac98548276950b5ce7b3e35bca7466e794d3a","tarball":"https://registry.npmjs.org/@abdlrahmansaber/mcpkit/-/mcpkit-0.1.0.tgz","fileCount":14,"integrity":"sha512-CgGh2xdzSxY1A35+8yG/6RSTQAJxo6ND7AOGdWPmIUxFZiHAZ3GqiHa5TGJ2meSDO3nkOR8nOL3Grd0QF9Dpzg==","signatures":[{"sig":"MEYCIQCHcz1/PR0GpRm9LywTHLVikOBfBjBRghOEj0qrPaiLugIhAIW2EvAUbneQ3EbGSPmIPP6HgZaP9RDPfkmOqpSIqxkH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127598},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"e2163494f61285ea3ad82281c988b4952245e22d","scripts":{"dev":"tsup --watch","lint":"eslint src bin","test":"vitest run","build":"tsup","lint:fix":"eslint src bin --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"abdlrahmansaber","email":"abdlrahmansaber652@gmail.com"},"repository":{"url":"git+https://github.com/AbdlrahmanSaberAbdo/mcpkit.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Developer Toolkit — scaffold, proxy, and inspect MCP servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.18.0","ejs":"^3.1.10","open":"^10.1.0","yaml":"^2.7.0","commander":"^12.1.0","@apidevtools/swagger-parser":"^10.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","eslint":"^9.17.0","vitest":"^3.0.0","@types/ws":"^8.5.14","@eslint/js":"^9.17.0","@types/ejs":"^3.1.5","typescript":"^5.7.0","@types/node":"^22.0.0","typescript-eslint":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/mcpkit_0.1.0_1777292444741_0.013342675514851798","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@abdlrahmansaber/mcpkit","version":"0.1.1","description":"MCP Developer Toolkit — scaffold, proxy, and inspect MCP servers","type":"module","publishConfig":{"access":"public"},"bin":{"mcpkit":"dist/bin/mcpkit.js"},"repository":{"type":"git","url":"git+https://github.com/AbdlrahmanSaberAbdo/mcpkit.git"},"bugs":{"url":"https://github.com/AbdlrahmanSaberAbdo/mcpkit/issues"},"homepage":"https://github.com/AbdlrahmanSaberAbdo/mcpkit#readme","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest","lint":"eslint src bin","lint:fix":"eslint src bin --fix","typecheck":"tsc --noEmit"},"keywords":["mcp","model-context-protocol","ai","agent","devtools"],"license":"MIT","engines":{"node":">=20.0.0"},"dependencies":{"commander":"^12.1.0","ws":"^8.18.0","yaml":"^2.7.0","@apidevtools/swagger-parser":"^10.1.1","ejs":"^3.1.10","open":"^10.1.0"},"devDependencies":{"@eslint/js":"^9.17.0","@types/ejs":"^3.1.5","@types/node":"^22.0.0","@types/ws":"^8.5.14","eslint":"^9.17.0","tsup":"^8.4.0","typescript":"^5.7.0","typescript-eslint":"^8.18.0","vitest":"^3.0.0"},"_id":"@abdlrahmansaber/mcpkit@0.1.1","gitHead":"bec8e958242a8692cf881f06e9f79f4c255260e1","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-h19FlRSHnzENU75d/bpJT+LCBS82+GOhwfRAGmDcYdSDGHy97NQLgfJhrNZsfL4cvs0wBGLRy0nCNdtvrlcsLQ==","shasum":"7900443940ad96d4c3491ee37db56fa3938ba10f","tarball":"https://registry.npmjs.org/@abdlrahmansaber/mcpkit/-/mcpkit-0.1.1.tgz","fileCount":14,"unpackedSize":125978,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDa5cEFvcnXBryuHLJtPRcQqPN/l6oYWdU4rhjANL6WuAiASkfkY0jSNUWSlzoQtSMQ9xE7XnoTQf4vHAGbYPoR9sA=="}]},"_npmUser":{"name":"abdlrahmansaber","email":"abdlrahmansaber652@gmail.com"},"directories":{},"maintainers":[{"name":"abdlrahmansaber","email":"abdlrahmansaber652@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcpkit_0.1.1_1777295187739_0.49682666876243387"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-27T12:20:44.568Z","modified":"2026-04-27T13:06:28.104Z","0.1.0":"2026-04-27T12:20:44.877Z","0.1.1":"2026-04-27T13:06:27.975Z"},"bugs":{"url":"https://github.com/AbdlrahmanSaberAbdo/mcpkit/issues"},"license":"MIT","homepage":"https://github.com/AbdlrahmanSaberAbdo/mcpkit#readme","keywords":["mcp","model-context-protocol","ai","agent","devtools"],"repository":{"type":"git","url":"git+https://github.com/AbdlrahmanSaberAbdo/mcpkit.git"},"description":"MCP Developer Toolkit — scaffold, proxy, and inspect MCP servers","maintainers":[{"name":"abdlrahmansaber","email":"abdlrahmansaber652@gmail.com"}],"readme":"# mcpkit\n\nMCP Developer Toolkit — scaffold, proxy, and inspect MCP servers.\n\nMCP (Model Context Protocol) is the standard interface between AI agents and tools. mcpkit gives you the developer tooling that's been missing: generate MCP servers from config files, debug tool calls in real-time, and proxy traffic for inspection.\n\n## Install\n\nPublished on npm as **`@abdlrahmansaber/mcpkit`** ([package page](https://www.npmjs.com/package/@abdlrahmansaber/mcpkit)). The CLI command on your PATH stays **`mcpkit`**:\n\n```bash\nnpm install -g @abdlrahmansaber/mcpkit   # global CLI → run `mcpkit`\nnpx @abdlrahmansaber/mcpkit --help       # run without global install\n```\n\nRequires Node.js 20+.\n\nTo hack on the CLI from a clone, use `npm link` (see [CONTRIBUTING.md](CONTRIBUTING.md)).\n\n## Commands\n\n### `mcpkit init` — Scaffold an MCP Server\n\nGenerate a complete MCP server project from a YAML config or OpenAPI spec.\n\n```bash\n# From a YAML config\nmcpkit init --from config.yaml\n\n# From an OpenAPI spec\nmcpkit init --from openapi.yaml --format openapi\n\n# Preview without writing\nmcpkit init --from config.yaml --dry-run\n\n# HTTP transport instead of stdio\nmcpkit init --from config.yaml --transport http\n```\n\n**YAML config format:**\n\n```yaml\nname: my-api-server\ntransport: stdio\ntools:\n  - name: get_user\n    description: Get user by ID\n    params:\n      id:\n        type: string\n        required: true\n  - name: list_orders\n    description: List orders for a user\n    params:\n      user_id:\n        type: string\n        required: true\n      limit:\n        type: integer\n        default: 10\n```\n\nThis generates a ready-to-run TypeScript MCP server with typed handler stubs. Edit the handlers in `src/tools/`, run `npm install && npm run dev`.\n\n### `mcpkit proxy` — Transparent MCP Proxy\n\nSit between an MCP client and server, logging all JSON-RPC traffic.\n\n```bash\n# Wrap a server command\nmcpkit proxy -- node my-server.js\n\n# Output NDJSON traces\nmcpkit proxy --json -- node my-server.js\n\n# Forward traces to inspector\nmcpkit proxy --inspector ws://localhost:3200/ws/ingest -- node my-server.js\n```\n\nOutput (stderr):\n\n```\n[mcpkit] proxy started for: node my-server.js\n[10:15:30] → tools/call search_repos (333ms) ✓\n[10:15:31] → tools/call query_db (120ms) ✓\n[10:15:32] → tools/call deploy (—) ✗\n```\n\n### `mcpkit inspect` — Real-Time Debug Dashboard\n\nProxy + browser-based inspector for MCP traffic. Real-time visibility into every tool call, latency, and request/response payload.\n\n```bash\n# Inspect a server (opens browser dashboard)\nmcpkit inspect -- node my-server.js\n\n# Custom port\nmcpkit inspect --port 3201 -- node my-server.js\n\n# Terminal only (no browser)\nmcpkit inspect --log-only -- node my-server.js\n\n# Export traces to file on exit\nmcpkit inspect --export traces.json -- node my-server.js\n```\n\nThe dashboard shows:\n- Live stream of all tool calls with method, tool name, latency, and status\n- Click any row to see full request/response JSON\n- Filter by method, status, or direction\n- Search across tool names and arguments\n- Color-coded: green = success, red = error, yellow = slow, gray = notification\n\n![mcpkit inspector dashboard](https://github.com/user-attachments/assets/07278d77-9abe-45d7-896e-4ac777a34cf2)\n\nUse the **Tools only** filter to hide protocol noise and focus on real tool calls:\n\n![mcpkit inspector tools only filter](https://github.com/user-attachments/assets/d4dd531d-5312-451c-93de-6d7438ee2625)\n\n### `mcpkit serve` — Shared Inspector Dashboard\n\nStart a standalone dashboard that accepts traces from multiple MCP servers at once. No server to wrap — all MCP servers proxy their traces here.\n\n```bash\n# Start the shared dashboard (keep this terminal open)\nmcpkit serve\n\n# Custom port\nmcpkit serve --port 3201\n```\n\nOutput:\n```\n[mcpkit] inspector dashboard: http://localhost:3200\n[mcpkit] waiting for proxy connections on ws://localhost:3200/ws/ingest\n```\n\nThen configure each MCP server with `--inspector` to stream traces into it:\n\n```json\n{\n  \"mcpServers\": {\n    \"my-server\": {\n      \"command\": \"mcpkit\",\n      \"args\": [\"proxy\", \"--server-name\", \"my-server\", \"--inspector\", \"ws://localhost:3200/ws/ingest\", \"--\", \"node\", \"my-server.js\"]\n    },\n    \"other-server\": {\n      \"command\": \"mcpkit\",\n      \"args\": [\"proxy\", \"--server-name\", \"other-server\", \"--inspector\", \"ws://localhost:3200/ws/ingest\", \"--\", \"node\", \"other-server.js\"]\n    }\n  }\n}\n```\n\nThe dashboard shows a **Server** column so you can tell which MCP each call came from, and a **Server filter** to focus on one at a time.\n\n## Use with Cursor / Claude Desktop\n\nAdd mcpkit as a proxy wrapper in your MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"my-server\": {\n      \"command\": \"mcpkit\",\n      \"args\": [\"proxy\", \"--\", \"node\", \"my-server.js\"]\n    }\n  }\n}\n```\n\nOr for inspection:\n\n```json\n{\n  \"mcpServers\": {\n    \"my-server\": {\n      \"command\": \"mcpkit\",\n      \"args\": [\"inspect\", \"--log-only\", \"--export\", \"traces.json\", \"--\", \"node\", \"my-server.js\"]\n    }\n  }\n}\n```\n\n## Development\n\n```bash\ngit clone https://github.com/AbdlrahmanSaberAbdo/mcpkit.git\ncd mcpkit\nnpm install\nnpm run dev        # watch mode (tsup)\nnpm test           # Vitest\nnpm run lint       # ESLint\nnpm run typecheck  # tsc --noEmit\nnpm run build      # production build\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for PR guidelines, releases, and how to run `mcpkit init` safely with `--output`.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}