{"_id":"@eliemessiecode/pi-mcp","_rev":"5-5eed38b9c84bc1e109b274689946d2c4","name":"@eliemessiecode/pi-mcp","dist-tags":{"latest":"1.2.2"},"versions":{"1.0.0":{"name":"@eliemessiecode/pi-mcp","version":"1.0.0","keywords":["pi-package","mcp","model-context-protocol","extension","ai-agent","tools"],"author":{"name":"ElieMessieCode"},"license":"MIT","_id":"@eliemessiecode/pi-mcp@1.0.0","maintainers":[{"name":"eliemessiecode","email":"eliemessie1@gmail.com"}],"homepage":"https://github.com/ElieMessieCode/pi-mcp#readme","bugs":{"url":"https://github.com/ElieMessieCode/pi-mcp/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c1cfae5f4acc8c5cc5b68ee4122759fcc8a84c63","tarball":"https://registry.npmjs.org/@eliemessiecode/pi-mcp/-/pi-mcp-1.0.0.tgz","fileCount":4,"integrity":"sha512-230+ihreURE47h8YZ2pKqPjiHWW/lz1Ok/xS4lJfpahQNnlzPWhWSlyfe83qvCpcRQX+K6KCbGeXMati5GuvMw==","signatures":[{"sig":"MEUCIAcszhAgqcPe1UjQyGT42K38/3zoZmkJxynyhLzcMQ9RAiEA+NGLIMCVamVqqNFbc+WztDRik3NpPExTK2Ab7nPILSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55273},"main":"index.ts","engines":{"node":">=18.0.0"},"gitHead":"ae5957512064a79b0a73153ba7c60bd21791d64d","_npmUser":{"name":"eliemessiecode","email":"eliemessie1@gmail.com"},"repository":{"url":"git+https://github.com/ElieMessieCode/pi-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Connect MCP (Model Context Protocol) HTTP servers to Pi agent. Auto-discover and use MCP tools.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-mcp_1.0.0_1773589225826_0.35144646372612254","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@eliemessiecode/pi-mcp","version":"1.0.1","keywords":["pi-package","mcp","model-context-protocol","extension","ai-agent","tools"],"author":{"name":"ElieMessieCode"},"license":"MIT","_id":"@eliemessiecode/pi-mcp@1.0.1","maintainers":[{"name":"eliemessiecode","email":"eliemessie1@gmail.com"}],"homepage":"https://github.com/ElieMessieCode/pi-mcp#readme","bugs":{"url":"https://github.com/ElieMessieCode/pi-mcp/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9d7af75dca2031813f400683378cdad639d0e58b","tarball":"https://registry.npmjs.org/@eliemessiecode/pi-mcp/-/pi-mcp-1.0.1.tgz","fileCount":4,"integrity":"sha512-PRfns74/hKBq9y20ZaSObR6d/ltQylqAaUhxjE+Sf7EBopEWJLEiMdPtw3HlG+oGlf2hsavw/JMbl2ovIjzjrQ==","signatures":[{"sig":"MEYCIQD7kSQk51oqeVPq1wrt0R919BrghH7KFXnRIBnZpW3wAAIhAM1qRd0Qt6YUV3Y5A4d9hGk/cjAv2bVZEwEYaynU8ByF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55580},"main":"index.ts","engines":{"node":">=18.0.0"},"gitHead":"2aa6f4279cf6a90375831018399c985b963ba54e","_npmUser":{"name":"eliemessiecode","email":"eliemessie1@gmail.com"},"repository":{"url":"git+https://github.com/ElieMessieCode/pi-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Connect MCP (Model Context Protocol) HTTP servers to Pi agent. Auto-discover and use MCP tools.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-mcp_1.0.1_1773589409248_0.5803777155552088","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@eliemessiecode/pi-mcp","version":"1.2.0","keywords":["pi-package","mcp","model-context-protocol","extension","ai-agent","tools"],"author":{"name":"ElieMessieCode"},"license":"MIT","_id":"@eliemessiecode/pi-mcp@1.2.0","maintainers":[{"name":"eliemessiecode","email":"eliemessie1@gmail.com"}],"homepage":"https://github.com/ElieMessieCode/pi-mcp#readme","bugs":{"url":"https://github.com/ElieMessieCode/pi-mcp/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"dae8a90f061f5120a37f49355c3c6c1ef68680f5","tarball":"https://registry.npmjs.org/@eliemessiecode/pi-mcp/-/pi-mcp-1.2.0.tgz","fileCount":4,"integrity":"sha512-cOFVZ674NKrO5uotoMgnqpo1+BJrzrRjRYISHxNJWEO+jbCVNv0XDLRyjxaWd5pBvHEX9n+aG7LQ16Hp3lfT4Q==","signatures":[{"sig":"MEQCIF+OWt8WiKU9BUTeH/JwovVYlVsnoBvlUmbD0Jh+B3QTAiBNfo3X8YclpekPRVl9C7XmFn4l1R8Av24/++Nk4FIyVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64113},"main":"index.ts","engines":{"node":">=18.0.0"},"gitHead":"8c3ef58150d03c86365d866dfc9ae42c023535fd","_npmUser":{"name":"eliemessiecode","email":"eliemessie1@gmail.com"},"repository":{"url":"git+https://github.com/ElieMessieCode/pi-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Connect MCP (Model Context Protocol) HTTP servers to Pi agent. Auto-discover and use MCP tools.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-mcp_1.2.0_1773589948059_0.5294628142147637","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@eliemessiecode/pi-mcp","version":"1.2.1","keywords":["pi-package","mcp","model-context-protocol","extension","ai-agent","tools"],"author":{"name":"ElieMessieCode"},"license":"MIT","_id":"@eliemessiecode/pi-mcp@1.2.1","maintainers":[{"name":"eliemessiecode","email":"eliemessie1@gmail.com"}],"homepage":"https://github.com/ElieMessieCode/pi-mcp#readme","bugs":{"url":"https://github.com/ElieMessieCode/pi-mcp/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"2338ce4c2e89c8e453e5a045727490ef3ed86d60","tarball":"https://registry.npmjs.org/@eliemessiecode/pi-mcp/-/pi-mcp-1.2.1.tgz","fileCount":4,"integrity":"sha512-p24vh58eFZtEj65W6OvLnctbTEnQu4wiO1vx48uN4Xldd7J15IjmXDSbV7y/zQYnonkQd4iJHT0ZB3FwTqu46w==","signatures":[{"sig":"MEQCIE2Q9yNVtY3RszYI4TVPB3aJOgCC/QOxEJ7XSMPHCheAAiBzcOg0FUPHtD0Jqju0xG3+bL0b5o43nAC4hhn7T8AOHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62383},"main":"index.ts","engines":{"node":">=18.0.0"},"gitHead":"6ff64fb172c9e06d0c1f56361580771528830fdb","_npmUser":{"name":"eliemessiecode","email":"eliemessie1@gmail.com"},"repository":{"url":"git+https://github.com/ElieMessieCode/pi-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Connect MCP (Model Context Protocol) HTTP servers to Pi agent. Auto-discover and use MCP tools.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-mcp_1.2.1_1773592496948_0.8392675290696685","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@eliemessiecode/pi-mcp","version":"1.2.2","description":"Connect MCP (Model Context Protocol) HTTP servers to Pi agent. Auto-discover and use MCP tools.","keywords":["pi-package","mcp","model-context-protocol","extension","ai-agent","tools"],"main":"index.ts","pi":{"extensions":["./index.ts"]},"repository":{"type":"git","url":"git+https://github.com/ElieMessieCode/pi-mcp.git"},"homepage":"https://github.com/ElieMessieCode/pi-mcp#readme","bugs":{"url":"https://github.com/ElieMessieCode/pi-mcp/issues"},"author":{"name":"ElieMessieCode"},"license":"MIT","engines":{"node":">=18.0.0"},"gitHead":"110c1ec9eadbf348c2cf776ce5bfe18edf2574b3","_id":"@eliemessiecode/pi-mcp@1.2.2","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-peJpZ6o+SwWZuNZkJ2gZ6GC9t6K5TDgC/fzM35elL9/IfWn6TzeAW/3G4Jw7/shxzkv7wIHS5kI1LsEqThlhzQ==","shasum":"fd85cc685e2c6861ab50ace083e6806f65532e33","tarball":"https://registry.npmjs.org/@eliemessiecode/pi-mcp/-/pi-mcp-1.2.2.tgz","fileCount":4,"unpackedSize":64032,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDNtDa7P4O23umxPaLgNClI0nXcH+BFWU87vUDNi5tF+wIhAMTA6+sGFv1BV5iBZ0YByv2AUT0RdSJU2x/Vu7bgY0yu"}]},"_npmUser":{"name":"eliemessiecode","email":"eliemessie1@gmail.com"},"directories":{},"maintainers":[{"name":"eliemessiecode","email":"eliemessie1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-mcp_1.2.2_1773594657497_0.322432124222813"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T15:40:25.712Z","modified":"2026-03-15T17:10:57.757Z","1.0.0":"2026-03-15T15:40:26.028Z","1.0.1":"2026-03-15T15:43:29.377Z","1.2.0":"2026-03-15T15:52:28.206Z","1.2.1":"2026-03-15T16:34:57.111Z","1.2.2":"2026-03-15T17:10:57.641Z"},"bugs":{"url":"https://github.com/ElieMessieCode/pi-mcp/issues"},"author":{"name":"ElieMessieCode"},"license":"MIT","homepage":"https://github.com/ElieMessieCode/pi-mcp#readme","keywords":["pi-package","mcp","model-context-protocol","extension","ai-agent","tools"],"repository":{"type":"git","url":"git+https://github.com/ElieMessieCode/pi-mcp.git"},"description":"Connect MCP (Model Context Protocol) HTTP servers to Pi agent. Auto-discover and use MCP tools.","maintainers":[{"name":"eliemessiecode","email":"eliemessie1@gmail.com"}],"readme":"# pi-mcp\r\n\r\n> Pi extension for connecting MCP (Model Context Protocol) HTTP servers\r\n\r\n[![npm version](https://badge.fury.io/js/%40eliemessiecode%2Fpi-mcp.svg)](https://www.npmjs.com/package/@eliemessiecode/pi-mcp)\r\n[![Downloads](https://img.shields.io/npm/dm/@eliemessiecode/pi-mcp.svg)](https://www.npmjs.com/package/@eliemessiecode/pi-mcp)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\n## Features\r\n\r\n- Connect to MCP servers via HTTP/SSE or Streamable HTTP\r\n- Auto-discover tools available on servers\r\n- Register MCP tools as native Pi tools\r\n- Manage connections via slash commands\r\n- Persistent configuration across sessions\r\n- Global and per-project server configurations\r\n\r\n## Installation\r\n\r\n### Via npm (recommended)\r\n```bash\r\nnpm install -g @eliemessiecode/pi-mcp\r\n```\r\n\r\n### Via bun\r\n```bash\r\nbun install -g @eliemessiecode/pi-mcp\r\n```\r\n\r\n### Via Pi\r\n```bash\r\npi install npm:@eliemessiecode/pi-mcp\r\n```\r\n\r\n### Via Git\r\n```bash\r\npi install git:github.com/ElieMessieCode/pi-mcp\r\n```\r\n\r\n### Manual\r\nCopy the `pi-mcp` folder to:\r\n- `~/.pi/agent/extensions/pi-mcp/` (global - all projects)\r\n- `.pi/extensions/pi-mcp/` (project-local)\r\n\r\n## Usage\r\n\r\n### Commands\r\n\r\n| Command | Description |\r\n|---------|-------------|\r\n| `/mcp add <name> <url> [options]` | Add server (options: `--global`, `--project`, `--insecure`, `--timeout`) |\r\n| `/mcp remove <name>` | Remove a server |\r\n| `/mcp list` | List configured servers (grouped by scope) |\r\n| `/mcp connect [name]` | Connect to server(s) - all if no name |\r\n| `/mcp disconnect [name]` | Disconnect from server(s) - all if no name |\r\n| `/mcp tools [name]` | List available tools |\r\n| `/mcp resources [name]` | List available resources |\r\n| `/mcp prompts [name]` | List available prompts |\r\n| `/mcp status` | Show connection status |\r\n| `/mcp refresh [name]` | Refresh tool list |\r\n| `/mcp scopes` | Show config file paths |\r\n| `/mcp move <name> --global\\|--project` | Move server between scopes |\r\n| `/mcp export [file]` | Export servers to JSON |\r\n| `/mcp import <file>` | Import servers from JSON |\r\n| `/mcp-status` | Quick status overview |\r\n| `/mcp-logs` | View debug logs |\r\n| `/mcp-logs clear` | Clear debug logs |\r\n\r\n### Examples\r\n\r\nAdd an MCP server (global):\r\n```\r\n/mcp add my-server https://my-mcp-server.com/mcp\r\n```\r\n\r\nAdd a server for current project only:\r\n```\r\n/mcp add unity http://localhost:53559 --project\r\n```\r\n\r\nAdd server with authentication:\r\n```\r\n/mcp add github https://api.github.com/mcp Authorization=Bearer ghp_xxx\r\n```\r\n\r\nConnect to all servers:\r\n```\r\n/mcp connect\r\n```\r\n\r\nUse an MCP tool (auto-registered):\r\n```\r\nTools are automatically registered with the prefix: mcp_<server-name>_<tool-name>\r\n```\r\n\r\n## Supported Protocols\r\n\r\n- **Streamable HTTP** (recommended): JSON-RPC with SSE support\r\n- **SSE**: Server-Sent Events for notifications\r\n- **Simple HTTP**: Request-response JSON-RPC\r\n\r\n## Supported Data Types\r\n\r\nMCP tools are automatically converted to Pi tools with:\r\n- JSON Schema to TypeBox parameter conversion\r\n- Supported types: `string`, `number`, `integer`, `boolean`, `array`, `object`\r\n- Automatic description and documentation\r\n\r\n## Configuration Scopes\r\n\r\n| Scope | Path | Usage |\r\n|-------|------|-------|\r\n| Global | `~/.pi/agent/mcp/servers.json` | Shared across all projects |\r\n| Project | `.pi/mcp/servers.json` | Specific to current project |\r\n\r\nServers auto-connect on Pi startup.\r\n\r\n## Project Structure\r\n\r\n```\r\npi-mcp/\r\n├── index.ts           # Main extension\r\n├── package.json       # Package metadata\r\n├── README.md          # This documentation\r\n├── LICENSE            # MIT license\r\n├── CHANGELOG.md       # Version history\r\n└── CONTRIBUTING.md    # Contribution guidelines\r\n```\r\n\r\n## Compatible MCP Server Example\r\n\r\n```typescript\r\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\r\n\r\nconst server = new McpServer({\r\n  name: \"example-server\",\r\n  version: \"1.0.0\",\r\n});\r\n\r\nserver.tool(\"get_weather\", \r\n  { city: { type: \"string\", description: \"City name\" } },\r\n  async ({ city }) => ({\r\n    content: [{ type: \"text\", text: `Weather in ${city}: Sunny, 22C` }]\r\n  })\r\n);\r\n\r\nserver.start(3000);\r\n```\r\n\r\n## Troubleshooting\r\n\r\n**Connection failed:**\r\n- Verify the URL is accessible\r\n- Check authentication headers\r\n- Use `/mcp status` to see errors\r\n\r\n**Tools not detected:**\r\n- Use `/mcp refresh <name>` to refresh\r\n- Verify the server implements `tools/list`\r\n- Check Docker logs if using Docker: `docker logs <container-name>`\r\n\r\n**Request timeout:**\r\n- Default timeout: 30 seconds\r\n- Check network latency\r\n\r\n**Pi shows 0 tools:**\r\n- Ensure Unity Editor is running (for Unity MCP)\r\n- Check the MCP plugin is connected in Unity\r\n- View logs: `/mcp-logs`\r\n\r\n## Roadmap\r\n\r\n### High Priority\r\n- [x] Auto-reconnect when server drops\r\n- [x] Periodic health check for server connections\r\n- [x] Tool cleanup when server disconnects\r\n\r\n### Medium Priority\r\n- [x] MCP Resources support (`/mcp resources`)\r\n- [x] MCP Prompts support (`/mcp prompts`)\r\n- [x] TLS/SSL skip option (`--insecure`)\r\n- [x] Configurable timeout per server (`--timeout <ms>`)\r\n- [x] Move server between scopes (`/mcp move <name> --global|--project`)\r\n- [x] Export/Import server configuration\r\n\r\n### Low Priority\r\n- [ ] Server groups (`/mcp group add <name> <server1> <server2>`)\r\n- [ ] Tool filters (`/mcp add x --filter=\"assets-*\"`)\r\n- [ ] Connection history\r\n- [ ] Usage metrics\r\n- [ ] Custom tool templates\r\n\r\n### Known Bugs\r\n- [ ] Handle special characters in URLs\r\n- [ ] More explicit timeout error messages\r\n- [ ] Support Basic authentication\r\n\r\n## Contributing\r\n\r\nContributions are welcome!\r\n\r\n1. Fork the repo\r\n2. Create a branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit changes (`git commit -m 'Add amazing feature'`)\r\n4. Push (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n## License\r\n\r\nMIT - see [LICENSE](LICENSE) for details\r\n\r\n---\r\n\r\n## What's New in v1.2.0\r\n\r\n- Auto-reconnect when server drops (up to 3 attempts)\r\n- Periodic health check for server connections (30s interval)\r\n- Automatic tool cleanup when server disconnects\r\n- MCP Resources support\r\n- MCP Prompts support\r\n- TLS/SSL skip option (`--insecure`)\r\n- Configurable timeout per server (`--timeout <ms>`)\r\n- Move server between scopes (`/mcp move`)\r\n- Export/Import server configuration\r\n\r\n---\r\n\r\n**Repository:** [github.com/ElieMessieCode/pi-mcp](https://github.com/ElieMessieCode/pi-mcp)\r\n","readmeFilename":"README.md"}