{"_id":"@blazing-customs/ppx-mcp-stdio","_rev":"6-9abfd97c9de2e98726e47f5fc3d7efbd","name":"@blazing-customs/ppx-mcp-stdio","dist-tags":{"latest":"0.1.0-alpha.4"},"versions":{"0.1.0-alpha.0":{"name":"@blazing-customs/ppx-mcp-stdio","version":"0.1.0-alpha.0","keywords":["ppx","mcp","claude","cursor","zed","vscode","ai"],"author":{"name":"Blazing Customs"},"license":"Apache-2.0","_id":"@blazing-customs/ppx-mcp-stdio@0.1.0-alpha.0","maintainers":[{"name":"coolblaze03","email":"chabli.boler@gmail.com"}],"homepage":"https://blazing-customs.github.io/ppx-spec/","bugs":{"url":"https://github.com/Blazing-Customs/ppx-sdks/issues"},"bin":{"ppx-mcp-stdio":"dist/cli.js"},"dist":{"shasum":"141e184e90efef532e4788740909dd5815648995","tarball":"https://registry.npmjs.org/@blazing-customs/ppx-mcp-stdio/-/ppx-mcp-stdio-0.1.0-alpha.0.tgz","fileCount":9,"integrity":"sha512-zt070lXuvsBG+d/E8O7D5AtiyaLuMa+O0ebCE61NgDl3xTq6KYWzW9pTi/tGQOUPcrn4vJy1w4r/aeTxdKeX+g==","signatures":[{"sig":"MEQCIDm7GZFi1lSTfLYWm/jCW+bC/EjnhBedMjWCABhO6rlyAiAEBGF8d+qg0V8WiNz/aQFik8zZg1khhVniMbG1yJlf/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23434},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a4e9193d1de69d638b74fa52f8727ab9f03dcabc","scripts":{"lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"coolblaze03","email":"chabli.boler@gmail.com"},"repository":{"url":"git+https://github.com/Blazing-Customs/ppx-sdks.git","type":"git","directory":"typescript/mcp-stdio"},"_npmVersion":"10.8.2","description":"Stdio MCP server that proxies to a PPX provider's HTTP MCP endpoint. Makes PPX-native tools available to editors (Claude Desktop, Cursor, Zed, VS Code) that speak stdio MCP.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/ppx-mcp-stdio_0.1.0-alpha.0_1785446309343_0.48343580603798264","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Speaks the withdrawn v1 consent flow; providers now reject it. Use 0.1.0-alpha.4."},"0.1.0-alpha.1":{"name":"@blazing-customs/ppx-mcp-stdio","version":"0.1.0-alpha.1","keywords":["ppx","mcp","claude","cursor","zed","vscode","ai"],"author":{"name":"Blazing Customs"},"license":"Apache-2.0","_id":"@blazing-customs/ppx-mcp-stdio@0.1.0-alpha.1","maintainers":[{"name":"coolblaze03","email":"chabli.boler@gmail.com"}],"homepage":"https://blazing-customs.github.io/ppx-spec/","bugs":{"url":"https://github.com/Blazing-Customs/ppx-sdks/issues"},"bin":{"ppx-mcp-stdio":"dist/cli.js"},"dist":{"shasum":"7c08634f526c870eb3a174e32478c867894b2434","tarball":"https://registry.npmjs.org/@blazing-customs/ppx-mcp-stdio/-/ppx-mcp-stdio-0.1.0-alpha.1.tgz","fileCount":9,"integrity":"sha512-LYWaHS4G/s1K/X0IfeLmMquExaQQTD78YW0SRHJcfDMtsBz8PPC5+HXEtiyaN37HFbIO9fslNqWMUp+WrrI7KQ==","signatures":[{"sig":"MEQCIHKXsB7KJ2t8fB4TjvzYDT+49IKKd0o5f6PnQzQBxehiAiArkLOtM8tLZ4n1G/8gEKT16j8SXskwt73iK5ONVWWyFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23213},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a4e9193d1de69d638b74fa52f8727ab9f03dcabc","scripts":{"lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"coolblaze03","email":"chabli.boler@gmail.com"},"deprecated":"Speaks the withdrawn v1 consent flow; providers now reject it. Use 0.1.0-alpha.4.","repository":{"url":"git+https://github.com/Blazing-Customs/ppx-sdks.git","type":"git","directory":"typescript/mcp-stdio"},"_npmVersion":"10.8.2","description":"Stdio MCP server that proxies to a PPX provider's HTTP MCP endpoint. Makes PPX-native tools available to editors (Claude Desktop, Cursor, Zed, VS Code) that speak stdio MCP.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/ppx-mcp-stdio_0.1.0-alpha.1_1785446422831_0.48886369533127794","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"@blazing-customs/ppx-mcp-stdio","version":"0.1.0-alpha.2","keywords":["ppx","mcp","claude","cursor","zed","vscode","ai"],"author":{"name":"Blazing Customs"},"license":"Apache-2.0","_id":"@blazing-customs/ppx-mcp-stdio@0.1.0-alpha.2","maintainers":[{"name":"coolblaze03","email":"chabli.boler@gmail.com"}],"homepage":"https://blazing-customs.github.io/ppx-spec/","bin":{"ppx-mcp-stdio":"dist/cli.js"},"dist":{"shasum":"7316dc1c2ecfbfe09233603cc0659056287c6666","tarball":"https://registry.npmjs.org/@blazing-customs/ppx-mcp-stdio/-/ppx-mcp-stdio-0.1.0-alpha.2.tgz","fileCount":9,"integrity":"sha512-tGw31voh5uLaaNJGtibYpsMOm08aVDCJtvcuZOjSUYUzy1+DF0hc6UTW5QTWq1yTKlfheZMCoO0MhpHvlUdiaA==","signatures":[{"sig":"MEUCICCApsySkZ1PTYInTcij4s/QqJ3Jl8Y//tle3ONCTCU3AiEAra4vTnT+cmu2/GIYPaWmEhy1RA4aQfcV8FXShq0SU1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22984},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"565838313702aaf09804746c4df74b85e213a126","scripts":{"lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"coolblaze03","email":"chabli.boler@gmail.com"},"_npmVersion":"10.8.2","description":"Stdio MCP server that proxies to a PPX provider's HTTP MCP endpoint. Makes PPX-native tools available to editors (Claude Desktop, Cursor, Zed, VS Code) that speak stdio MCP.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/ppx-mcp-stdio_0.1.0-alpha.2_1785892990584_0.05585422112794358","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.4":{"name":"@blazing-customs/ppx-mcp-stdio","version":"0.1.0-alpha.4","keywords":["ppx","mcp","claude","cursor","zed","vscode","ai"],"author":{"name":"Blazing Customs"},"license":"Apache-2.0","_id":"@blazing-customs/ppx-mcp-stdio@0.1.0-alpha.4","maintainers":[{"name":"coolblaze03","email":"chabli.boler@gmail.com"}],"homepage":"https://blazing-customs.github.io/ppx-spec/","bin":{"ppx-mcp-stdio":"dist/cli.js"},"dist":{"shasum":"ce99015cdc2a0cd0ee7b679ec66b32aea3c4200c","tarball":"https://registry.npmjs.org/@blazing-customs/ppx-mcp-stdio/-/ppx-mcp-stdio-0.1.0-alpha.4.tgz","fileCount":9,"integrity":"sha512-GSYr+IPFmzbZTrZqu7eCZa6C8mkOBFqbld3BPE9crTUNss2Nf6okPG3dj5ATplnR46C13RIG5UGIIdW3KvI6cQ==","signatures":[{"sig":"MEUCIQCojiKGfBnTuPXpPCCjI/ftbquTlvpndrU0qArDxYmu+wIgS1yiG1z9mHVKJOadqgCoOkd5N63zQRs6BtN7AkGpguA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22984},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1792559ce7c3fbedef14f83fde8c83a1804b26e2","scripts":{"lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"coolblaze03","email":"chabli.boler@gmail.com"},"_npmVersion":"10.8.2","description":"Stdio MCP server that proxies to a PPX provider's HTTP MCP endpoint. Makes PPX-native tools available to editors (Claude Desktop, Cursor, Zed, VS Code) that speak stdio MCP.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.0"},"_npmOperationalInternal":{"tmp":"tmp/ppx-mcp-stdio_0.1.0-alpha.4_1785896833809_0.4854433648378569","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-07-30T21:18:29.211Z","modified":"2026-08-05T02:27:52.645Z","0.1.0-alpha.0":"2026-07-30T21:18:29.511Z","0.1.0-alpha.1":"2026-07-30T21:20:22.969Z","0.1.0-alpha.2":"2026-08-05T01:23:10.726Z","0.1.0-alpha.4":"2026-08-05T02:27:13.945Z"},"author":{"name":"Blazing Customs"},"license":"Apache-2.0","homepage":"https://blazing-customs.github.io/ppx-spec/","keywords":["ppx","mcp","claude","cursor","zed","vscode","ai"],"description":"Stdio MCP server that proxies to a PPX provider's HTTP MCP endpoint. Makes PPX-native tools available to editors (Claude Desktop, Cursor, Zed, VS Code) that speak stdio MCP.","maintainers":[{"name":"coolblaze03","email":"chabli.boler@gmail.com"}],"readme":"# @blazing-customs/ppx-mcp-stdio\n\n> Stdio MCP server that proxies to a PPX provider's HTTP MCP endpoint.\n> Makes PPX-native tools available to any editor that spawns MCP\n> servers as child processes (Claude Desktop, Cursor, Zed, VS Code).\n\nThe PPX provider already exposes MCP over HTTP per MCP 2025-11-25\n(Streamable HTTP). Editors that only support stdio MCP use this package\nas a shim: they spawn `npx @blazing-customs/ppx-mcp-stdio …`, and this process reads\nJSON-RPC frames from stdin, POSTs them to the provider's `/mcp/`\nendpoint, and writes the responses back to stdout.\n\n## Install\n\n```bash\nnpm i @blazing-customs/ppx-mcp-stdio\n```\n\nRequires Node 18.17+. Published version: **0.1.0-alpha.1** ([npm](https://www.npmjs.com/package/@blazing-customs/ppx-mcp-stdio)).\n\n> Alpha, tracking a **draft** specification. Expect breaking changes.\n\n## Editor configurations\n\nCopy-paste ready blocks for the common editors live in\n[`ppx-integrations/mcp-plugins/`](https://github.com/Blazing-Customs/ppx-integrations/tree/main/mcp-plugins/).\n\n**Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"ppx\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@blazing-customs/ppx-mcp-stdio\", \"--provider\", \"https://api.provider.app\"],\n      \"env\": { \"PPX_BEARER\": \"<user-or-grant-scoped-token>\" }\n    }\n  }\n}\n```\n\n**Cursor** (`.cursor/mcp.json` at the project root, or the user-level file):\n\n```json\n{\n  \"mcpServers\": {\n    \"ppx\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@blazing-customs/ppx-mcp-stdio\", \"--provider\", \"https://api.provider.app\"],\n      \"env\": { \"PPX_BEARER\": \"<token>\" }\n    }\n  }\n}\n```\n\n**Zed** (`~/.config/zed/settings.json` → `context_servers`):\n\n```json\n{\n  \"context_servers\": {\n    \"ppx\": {\n      \"command\": { \"path\": \"npx\", \"args\": [\"-y\", \"@blazing-customs/ppx-mcp-stdio\",\n                                            \"--provider\", \"https://api.provider.app\"] },\n      \"settings\": {}\n    }\n  }\n}\n```\n\n**VS Code + Claude Code extension**: same shape as Claude Desktop\n— edit `mcpServers` in the extension's config.\n\n## Flags\n\n| Flag | Env | Meaning |\n| --- | --- | --- |\n| `--provider URL` | `PPX_PROVIDER_URL` | Required. Base URL of the PPX provider. |\n| `--bearer TOKEN` | `PPX_BEARER` | Optional OAuth bearer. Forwarded as `Authorization: Bearer …` |\n| `--verbose / -v` | `PPX_MCP_VERBOSE=1` | Log frames to stderr. |\n\n## What the editor sees\n\nExactly what the PPX provider already exposes over HTTP:\n\n- `initialize`\n- `tools/list` — returns `ppx.get_profile_summary`, `ppx.query_claims`,\n  `ppx.get_effective_profile`, `ppx.propose_updates`,\n  `ppx.list_consent_grants`, `ppx.revoke_consent_grant`\n- `tools/call` — routes every call through the same grant engine the\n  HTTP API uses, so there is no privilege escalation path through MCP.\n\n## License\n\nApache-2.0.\n","readmeFilename":"README.md"}