{"_id":"@amaiko-ai/plane-mcp-server","_rev":"4-ba12cc9fe94134cbfd55b573920ed5ce","name":"@amaiko-ai/plane-mcp-server","dist-tags":{"latest":"1.3.1"},"versions":{"1.0.0":{"name":"@amaiko-ai/plane-mcp-server","version":"1.0.0","keywords":["mcp","model-context-protocol","plane","intake","triage","issue-management","project-management","claude","ai"],"author":{"url":"https://github.com/amaiko-ai","name":"Amaiko"},"license":"MIT","_id":"@amaiko-ai/plane-mcp-server@1.0.0","maintainers":[{"name":"amaiko","email":"info@amaiko.ai"}],"homepage":"https://github.com/amaiko-ai/plane-mcp-server#readme","bugs":{"url":"https://github.com/amaiko-ai/plane-mcp-server/issues"},"bin":{"plane-mcp-server":"build/index.js"},"dist":{"shasum":"11bc583f50ec94bea0d0a34191d7e1ccead5e45c","tarball":"https://registry.npmjs.org/@amaiko-ai/plane-mcp-server/-/plane-mcp-server-1.0.0.tgz","fileCount":7,"integrity":"sha512-ktAy6GORnwVyPgcrEhef2189Rv8Z06t2y3OmYUPCJ+0kG9qsncgPtHFJUD/Eqpz5UveYHIk80c2VAmdmyG8DKA==","signatures":[{"sig":"MEYCIQDnwV07EUsEyCLDOTOZCq/PGbCyDZZclazN4QTKasy93QIhANgoikPAk3QkoMS7CPRAgTfFgbcJASeKXui20p2mlakc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27009},"main":"./build/index.js","type":"module","_from":"file:amaiko-ai-plane-mcp-server-1.0.0.tgz","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"biome check .","test":"echo \"Tests coming soon\" && exit 0","build":"tsc && chmod +x build/index.js","lint:ci":"biome ci .","lint:fix":"biome check --write ."},"_npmUser":{"name":"amaiko","email":"info@amaiko.ai"},"_resolved":"/private/var/folders/dp/17cg72d92jz5r4g__ss2v09h0000gn/T/e23456ef84735f5341bca8a372c6bdcc/amaiko-ai-plane-mcp-server-1.0.0.tgz","_integrity":"sha512-ktAy6GORnwVyPgcrEhef2189Rv8Z06t2y3OmYUPCJ+0kG9qsncgPtHFJUD/Eqpz5UveYHIk80c2VAmdmyG8DKA==","repository":{"url":"git+https://github.com/amaiko-ai/plane-mcp-server.git","type":"git"},"_npmVersion":"11.6.1","description":"MCP server for managing Plane intake queue and issue workflows","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.0","@biomejs/biome":"^2.3.4"},"_npmOperationalInternal":{"tmp":"tmp/plane-mcp-server_1.0.0_1762800907467_0.859420654494657","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@amaiko-ai/plane-mcp-server","version":"1.1.0","keywords":["mcp","model-context-protocol","plane","intake","triage","issue-management","project-management","claude","ai"],"author":{"url":"https://github.com/amaiko-ai","name":"Amaiko"},"license":"MIT","_id":"@amaiko-ai/plane-mcp-server@1.1.0","maintainers":[{"name":"amaiko","email":"info@amaiko.ai"}],"homepage":"https://github.com/amaiko-ai/plane-mcp-server#readme","bugs":{"url":"https://github.com/amaiko-ai/plane-mcp-server/issues"},"bin":{"plane-mcp-server":"build/index.js"},"dist":{"shasum":"7f99bd49e5088c64fc698b7310b141b9ae02e139","tarball":"https://registry.npmjs.org/@amaiko-ai/plane-mcp-server/-/plane-mcp-server-1.1.0.tgz","fileCount":7,"integrity":"sha512-fBBwbB7WgBUH0c8LPvOmX4Y7qehjkV0NCOuRbFz2PqMMD3fqEUrTt/N6Z/eUcl32c3XSn0+hoeFYIW7YWjFXuw==","signatures":[{"sig":"MEUCIQCjruo1qh76duDfba+WPzTWZ3JHZpPmoN1HtK6Aq8iFHQIgV0AppN3SvmFyyHIzz8wQ5wHHcCkB4jEewgq40ifDyTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amaiko-ai%2fplane-mcp-server@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27009},"main":"./build/index.js","type":"module","_from":"file:amaiko-ai-plane-mcp-server-1.1.0.tgz","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"biome check .","test":"echo \"Tests coming soon\" && exit 0","build":"tsc && chmod +x build/index.js","lint:ci":"biome ci .","lint:fix":"biome check --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9dbdffbe-cf91-47d1-b111-1fd51d24b745"}},"_resolved":"/tmp/7aa526a9fd1fcff76e76c4ca57b18fee/amaiko-ai-plane-mcp-server-1.1.0.tgz","_integrity":"sha512-fBBwbB7WgBUH0c8LPvOmX4Y7qehjkV0NCOuRbFz2PqMMD3fqEUrTt/N6Z/eUcl32c3XSn0+hoeFYIW7YWjFXuw==","repository":{"url":"git+https://github.com/amaiko-ai/plane-mcp-server.git","type":"git"},"_npmVersion":"11.6.1","description":"MCP server for managing Plane intake queue and issue workflows","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.0","@biomejs/biome":"^2.3.4"},"_npmOperationalInternal":{"tmp":"tmp/plane-mcp-server_1.1.0_1762804349466_0.6706254093799273","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@amaiko-ai/plane-mcp-server","version":"1.3.1","keywords":["mcp","model-context-protocol","plane","intake","triage","issue-management","project-management","claude","ai"],"author":{"url":"https://github.com/amaiko-ai","name":"Amaiko"},"license":"MIT","_id":"@amaiko-ai/plane-mcp-server@1.3.1","maintainers":[{"name":"amaiko","email":"info@amaiko.ai"}],"homepage":"https://github.com/amaiko-ai/plane-mcp-server#readme","bugs":{"url":"https://github.com/amaiko-ai/plane-mcp-server/issues"},"bin":{"plane-mcp-server":"build/index.js"},"dist":{"shasum":"46978f33d19e964d041aaaec70986326e60abf15","tarball":"https://registry.npmjs.org/@amaiko-ai/plane-mcp-server/-/plane-mcp-server-1.3.1.tgz","fileCount":29,"integrity":"sha512-SG9d2vgM7BwWggphiAzl0h0QrQ0UU6L2QK1BvllISEHGKQS27aLl2h3faJfcui63bZ857ovjaZY1Xb47V46HhA==","signatures":[{"sig":"MEUCIHtrx7QptzJ+xvzb2A1DBwqDQ5+zYz1/HHI4Ja/chZPcAiEAhRHGLK/tVlm+qdlTPmXxiFIboMY7U9dgLH7s5ILRV88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amaiko-ai%2fplane-mcp-server@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40458},"main":"./build/index.js","type":"module","_from":"file:amaiko-ai-plane-mcp-server-1.3.1.tgz","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx src/index.ts","lint":"biome check .","test":"echo \"Tests coming soon\" && exit 0","build":"tsc && chmod +x build/index.js","lint:ci":"biome ci .","lint:fix":"biome check --write .","build:binaries":"bash scripts/build-executables.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9dbdffbe-cf91-47d1-b111-1fd51d24b745"}},"_resolved":"/tmp/c5b1ab83965d599b905225e4953abcae/amaiko-ai-plane-mcp-server-1.3.1.tgz","_integrity":"sha512-SG9d2vgM7BwWggphiAzl0h0QrQ0UU6L2QK1BvllISEHGKQS27aLl2h3faJfcui63bZ857ovjaZY1Xb47V46HhA==","repository":{"url":"git+https://github.com/amaiko-ai/plane-mcp-server.git","type":"git"},"workspaces":["."],"_npmVersion":"11.6.1","description":"MCP server for managing Plane intake queue and issue workflows","directories":{},"_nodeVersion":"24.11.0","dependencies":{"axios":"^1.13.2","@modelcontextprotocol/sdk":"^1.21.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.0","@biomejs/biome":"^2.3.4"},"_npmOperationalInternal":{"tmp":"tmp/plane-mcp-server_1.3.1_1762880737814_0.30756109176808066","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-11-10T18:55:07.382Z","modified":"2025-11-12T09:31:25.739Z","1.0.0":"2025-11-10T18:55:07.686Z","1.1.0":"2025-11-10T19:52:29.650Z","1.3.1":"2025-11-11T17:05:38.043Z"},"bugs":{"url":"https://github.com/amaiko-ai/plane-mcp-server/issues"},"author":{"url":"https://github.com/amaiko-ai","name":"Amaiko"},"license":"MIT","homepage":"https://github.com/amaiko-ai/plane-mcp-server#readme","keywords":["mcp","model-context-protocol","plane","intake","triage","issue-management","project-management","claude","ai"],"repository":{"url":"git+https://github.com/amaiko-ai/plane-mcp-server.git","type":"git"},"description":"MCP server for managing Plane intake queue and issue workflows","maintainers":[{"email":"info@amaiko.ai","name":"amaiko"},{"email":"florian@amaiko.ai","name":"florianschaueramaikoai"}],"readme":"# Plane Intake MCP Server\n\n[![npm version](https://badge.fury.io/js/@amaiko-ai%2Fplane-mcp-server.svg)](https://www.npmjs.com/package/@amaiko-ai/plane-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nMCP server for managing [Plane](https://plane.so) intake queue (triage workflow). Works with any Plane instance - self-hosted or cloud.\n\n## Features\n\n- **List intake items** with optional status filtering\n- **Accept intake items** and convert to regular issues with labels\n- **Decline/reject intake items** to keep your queue clean\n- **Mark items as duplicates** to reduce noise\n\n## Installation\n\n### Homebrew (Recommended for macOS/Linux)\n\n```bash\nbrew install https://raw.githubusercontent.com/amaiko-ai/plane-mcp-server/main/Formula/plane-mcp-server.rb\n```\n\nThen configure Claude Desktop:\n\n```json\n{\n  \"mcpServers\": {\n    \"plane-intake\": {\n      \"command\": \"plane-mcp-server\",\n      \"args\": [],\n      \"env\": {\n        \"PLANE_API_KEY\": \"your-api-key-here\",\n        \"PLANE_WORKSPACE_SLUG\": \"your-workspace-slug\",\n        \"PLANE_API_HOST_URL\": \"https://app.plane.so\"\n      }\n    }\n  }\n}\n```\n\nConfig location: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)\n\n**Updates:** `brew upgrade plane-mcp-server`\n\n### Windows\n\nDownload the Windows binary from [releases](https://github.com/amaiko-ai/plane-mcp-server/releases/latest):\n- `plane-mcp-server-windows-x64.exe`\n\nThen configure Claude Desktop at `%APPDATA%\\Claude\\claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"plane-intake\": {\n      \"command\": \"C:\\\\path\\\\to\\\\plane-mcp-server-windows-x64.exe\",\n      \"args\": [],\n      \"env\": {\n        \"PLANE_API_KEY\": \"your-api-key-here\",\n        \"PLANE_WORKSPACE_SLUG\": \"your-workspace-slug\",\n        \"PLANE_API_HOST_URL\": \"https://app.plane.so\"\n      }\n    }\n  }\n}\n```\n\n### Quick Install Script (Alternative - macOS/Linux)\n\n**macOS and Linux:**\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/amaiko-ai/plane-mcp-server/main/install.sh | bash\n```\n\nThis will download, install, and configure everything automatically.\n\n### Manual Installation\n\n#### Option 1: Standalone Binary\n\nDownload the pre-built binary for your platform from the [latest release](https://github.com/amaiko-ai/plane-mcp-server/releases/latest):\n\n- **macOS ARM64** (Apple Silicon): `plane-mcp-server-macos-arm64`\n- **macOS x64** (Intel): `plane-mcp-server-macos-x64`\n- **Linux x64**: `plane-mcp-server-linux-x64`\n- **Linux ARM64**: `plane-mcp-server-linux-arm64`\n- **Windows x64**: `plane-mcp-server-windows-x64.exe`\n\nThen configure Claude Desktop manually:\n\n```json\n{\n  \"mcpServers\": {\n    \"plane-intake\": {\n      \"command\": \"/path/to/plane-mcp-server-macos-arm64\",\n      \"args\": [],\n      \"env\": {\n        \"PLANE_API_KEY\": \"your-api-key-here\",\n        \"PLANE_API_HOST_URL\": \"https://app.plane.so\",\n        \"PLANE_WORKSPACE_SLUG\": \"your-workspace\"\n      }\n    }\n  }\n}\n```\n\nConfig location: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)\n\n#### Option 2: Via npm (Requires Node.js)\n\n<details>\n<summary>Click to expand npm installation instructions</summary>\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"plane-intake\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@amaiko-ai/plane-mcp-server\"],\n      \"env\": {\n        \"PLANE_API_KEY\": \"your-api-key-here\",\n        \"PLANE_API_HOST_URL\": \"https://app.plane.so\",\n        \"PLANE_WORKSPACE_SLUG\": \"your-workspace\"\n      }\n    }\n  }\n}\n```\n\n**⚠️ macOS PATH Issue:**\n\nOn macOS, Claude Desktop (GUI app) may not find `npx` in your PATH. If you see errors like `spawn npx ENOENT`, use the absolute path to `npx`:\n\n```bash\n# Find your npx location\nwhich npx\n# Example output: /usr/local/bin/npx or /Users/you/.nvm/versions/node/v20.0.0/bin/npx\n```\n\nThen update your config with the absolute path:\n\n```json\n{\n  \"mcpServers\": {\n    \"plane-intake\": {\n      \"command\": \"/usr/local/bin/npx\",\n      \"args\": [\"-y\", \"@amaiko-ai/plane-mcp-server\"],\n      \"env\": {\n        \"PLANE_API_KEY\": \"your-api-key-here\",\n        \"PLANE_API_HOST_URL\": \"https://app.plane.so\",\n        \"PLANE_WORKSPACE_SLUG\": \"your-workspace\"\n      }\n    }\n  }\n}\n```\n\n**Configuration file locations:**\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n- Linux: `~/.config/Claude/claude_desktop_config.json`\n\n</details>\n\n### Claude Code Plugin\n\nIf you're using the Amaiko Plane plugin for Claude Code, this server is automatically configured. See the [plane plugin](https://github.com/amaiko-ai/claude-plugins) for details.\n\n## Configuration\n\nThe server requires these environment variables:\n\n| Variable | Required | Default | Description |\n|----------|----------|---------|-------------|\n| `PLANE_API_KEY` | ✅ Yes | - | Your Plane API key |\n| `PLANE_WORKSPACE_SLUG` | ✅ Yes | - | Your workspace identifier |\n| `PLANE_API_HOST_URL` | ❌ No | `https://app.plane.so` | Plane instance URL |\n\n### Getting Your API Key\n\n1. Go to your Plane instance\n2. Navigate to **Settings** → **API Tokens**\n3. Create a new token\n4. Copy and use it as `PLANE_API_KEY`\n\n### Finding Your Workspace Slug\n\nYour workspace slug is in the URL: `https://app.plane.so/{workspace-slug}/...`\n\n## Available Tools\n\n### list_intake_items\n\nList all intake items for a project.\n\n**Parameters:**\n- `project_id` (string, required): UUID of the project\n- `status` (string, optional): Filter by status\n  - `-2`: Pending\n  - `-1`: Declined\n  - `1`: Accepted\n  - `2`: Duplicate\n\n**Example:**\n```typescript\n{\n  \"project_id\": \"abc-123-def-456\",\n  \"status\": \"-2\"  // Only pending items\n}\n```\n\n### accept_intake_item\n\nAccept an intake item and convert it to a regular issue.\n\n**Parameters:**\n- `project_id` (string, required): UUID of the project\n- `issue_id` (string, required): UUID of the intake issue\n- `label_ids` (array, optional): Label UUIDs to add after accepting\n\n**Example:**\n```typescript\n{\n  \"project_id\": \"abc-123-def-456\",\n  \"issue_id\": \"issue-789\",\n  \"label_ids\": [\"label-1\", \"label-2\"]\n}\n```\n\n### decline_intake_item\n\nDecline/reject an intake item.\n\n**Parameters:**\n- `project_id` (string, required): UUID of the project\n- `issue_id` (string, required): UUID of the intake issue\n\n**Example:**\n```typescript\n{\n  \"project_id\": \"abc-123-def-456\",\n  \"issue_id\": \"issue-789\"\n}\n```\n\n### mark_intake_duplicate\n\nMark an intake item as duplicate of another issue.\n\n**Parameters:**\n- `project_id` (string, required): UUID of the project\n- `duplicate_issue_id` (string, required): UUID of the duplicate intake issue\n- `primary_issue_id` (string, required): UUID of the primary issue\n\n**Example:**\n```typescript\n{\n  \"project_id\": \"abc-123-def-456\",\n  \"duplicate_issue_id\": \"issue-789\",\n  \"primary_issue_id\": \"issue-123\"\n}\n```\n\n## Usage Examples\n\n### With Claude Desktop\n\nOnce configured, you can ask Claude:\n\n```\n\"Show me all pending intake items for project ABC\"\n\"Accept intake item XYZ and add labels 'bug' and 'high-priority'\"\n\"Decline intake item ABC\"\n\"Mark intake item DEF as duplicate of issue GHI\"\n```\n\n### With MCP Inspector\n\nFor testing and debugging:\n\n```bash\nnpx @modelcontextprotocol/inspector npx @amaiko-ai/plane-mcp-server\n```\n\n## Development\n\n### Setup\n\n```bash\ngit clone https://github.com/amaiko-ai/plane-mcp-server.git\ncd plane-mcp-server\npnpm install\n```\n\n### Build\n\n```bash\n# Build TypeScript\npnpm build\n\n# Build standalone executables (requires Bun)\n./scripts/build-executables.sh\n```\n\n### Test Locally\n\n```bash\n# Set environment variables\nexport PLANE_API_KEY=your-key\nexport PLANE_WORKSPACE_SLUG=your-workspace\nexport PLANE_API_HOST_URL=https://app.plane.so\n\n# Run in development mode\npnpm dev\n```\n\n### Testing with MCP Inspector\n\n```bash\nexport PLANE_API_KEY=your-key\nexport PLANE_WORKSPACE_SLUG=your-workspace\nnpx @modelcontextprotocol/inspector pnpm dev\n```\n\n## Troubleshooting\n\n### Server won't start\n\n**Check environment variables:**\n```bash\necho $PLANE_API_KEY\necho $PLANE_WORKSPACE_SLUG\n```\n\n**Verify API key works:**\n```bash\ncurl -H \"X-API-Key: $PLANE_API_KEY\" \\\n  \"https://app.plane.so/api/v1/workspaces/$PLANE_WORKSPACE_SLUG/projects/\"\n```\n\n### Tools not appearing in Claude\n\n1. Restart Claude Desktop completely (quit and reopen)\n2. Check the MCP logs:\n   - macOS: `~/Library/Logs/Claude/mcp.log`\n   - Windows: `%APPDATA%\\Claude\\Logs\\mcp.log`\n3. Verify your `claude_desktop_config.json` syntax is valid\n\n### API errors\n\n**401 Unauthorized:**\n- Verify your API key is correct\n- Check key hasn't expired in Plane settings\n\n**404 Not Found:**\n- Verify workspace slug is correct\n- Ensure project IDs are valid UUIDs\n\n## Roadmap\n\n- [ ] Support for creating intake items\n- [ ] Bulk operations (accept/decline multiple)\n- [ ] Filtering by priority, labels, assignee\n- [ ] Integration with Plane webhooks\n- [ ] Support for custom intake workflows\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\nMIT © [Amaiko](https://github.com/amaiko-ai)\n\n## Links\n\n- [GitHub Repository](https://github.com/amaiko-ai/plane-mcp-server)\n- [npm Package](https://www.npmjs.com/package/@amaiko-ai/plane-mcp-server)\n- [Model Context Protocol](https://modelcontextprotocol.io)\n- [Plane](https://plane.so)\n- [Claude Desktop](https://claude.ai/download)\n\n## Support\n\n- [Open an issue](https://github.com/amaiko-ai/plane-mcp-server/issues)\n- [Discussions](https://github.com/amaiko-ai/plane-mcp-server/discussions)\n","readmeFilename":"README.md"}