{"_id":"@ben-rogerson/pico-mcp","_rev":"4-0056f0ae9fffc1c0e73266df3346e15c","name":"@ben-rogerson/pico-mcp","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@ben-rogerson/pico-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","git","workspace","worktree","development"],"author":{"name":"Ben Rogerson","email":"info@benrogerson.dev"},"license":"MIT","_id":"@ben-rogerson/pico-mcp@0.1.0","maintainers":[{"name":"ben-rogerson","email":"info@benrogerson.dev"}],"homepage":"https://github.com/ben-rogerson/pico-mcp#readme","bugs":{"url":"https://github.com/ben-rogerson/pico-mcp/issues"},"bin":{"pico-mcp":"server.js"},"dist":{"shasum":"baaae0240f2fe30581f092e3c9bf323dcbb31b15","tarball":"https://registry.npmjs.org/@ben-rogerson/pico-mcp/-/pico-mcp-0.1.0.tgz","fileCount":26,"integrity":"sha512-f6QsuHahZDvMnyc6M1+TXxquq2AV8EDTXnXuF1Qia2kBfSn3NQkqADHaEGsZ/uyMGKcBC9f+OB7umGCXLyObQQ==","signatures":[{"sig":"MEYCIQCCGd9DjBjyOWXTYWDsl9F7arfBOlwhGrNjzUkKmZMDNQIhAMHEbCZ9SlfX/yFeQthnPozWldx5M4FKxOA2ELouxHow","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151609},"main":"server.js","type":"module","gitHead":"7270843c39d909c467e526d963c088eae0f86bf3","private":false,"scripts":{"dev":"node scripts/dev-startup.js","lint":"npx prettier . --fix","test":"vitest","build":"next build && npm run build:mcp","start":"next start","inspect":"npx @modelcontextprotocol/inspector --config mcp-servers.json --server pico","test:ui":"vitest --ui","build:mcp":"mkdir -p dist && cp -r src dist/ && cp package.json dist/","prepublishOnly":"npm run build:mcp"},"_npmUser":{"name":"ben-rogerson","email":"info@benrogerson.dev"},"repository":{"url":"git+https://github.com/ben-rogerson/pico-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for managing git worktrees and workspaces. Provides tools for creating isolated development environments, tracking changes, and managing collaborative workflows.","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.24.2","next":"^15.4.6","uuid":"^13.0.0","react":"^19.1.0","openai":"^5.12.2","js-yaml":"^4.1.0","react-dom":"^19.1.0","@types/js-yaml":"^4.0.9","@vercel/mcp-adapter":"^1.0.0","@modelcontextprotocol/sdk":"^1.17.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","postcss":"^8.5.4","prettier":"^3.6.2","@vitest/ui":"^3.2.4","typescript":"^5","@types/node":"^20","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","@types/react":"^19","autoprefixer":"^10.4.21","@types/webpack":"^5.28.5"},"_npmOperationalInternal":{"tmp":"tmp/pico-mcp_0.1.0_1759497681507_0.22056958626209866","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ben-rogerson/pico-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","git","workspace","worktree","development"],"author":{"name":"Ben Rogerson","email":"info@benrogerson.dev"},"license":"MIT","_id":"@ben-rogerson/pico-mcp@0.1.1","maintainers":[{"name":"ben-rogerson","email":"info@benrogerson.dev"}],"homepage":"https://github.com/ben-rogerson/pico-mcp#readme","bugs":{"url":"https://github.com/ben-rogerson/pico-mcp/issues"},"bin":{"pico-mcp":"dist/server.js"},"dist":{"shasum":"099ed16cf2485e4fcc254a23f88c68d4282c8517","tarball":"https://registry.npmjs.org/@ben-rogerson/pico-mcp/-/pico-mcp-0.1.1.tgz","fileCount":61,"integrity":"sha512-Mhm1Ednqbc8f54RkXQ/3Wf6HpplKVta3CD3oYxwI4eRyNku8nAe4SbiZW6Tm/wk0lNWyCtCsd4gso4SoRET4Fw==","signatures":[{"sig":"MEUCIANBLVmsddiMn8A9D0JZ76aQyIn2iIL/PoeIrHrg0+4ZAiEAmUDFU19ATGw9FfKQNiFzk7jsZE2/Sm5TuZ8zAABD5Yo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360287},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","gitHead":"d34ee22301ea522116223cb85b9088fffdab84ef","private":false,"scripts":{"dev":"node scripts/dev-startup.js","lint":"npx prettier . --fix","test":"vitest","build":"next build && npm run build:mcp","start":"next start","inspect":"npx @modelcontextprotocol/inspector --config mcp-servers.json --server pico","test:ui":"vitest --ui","build:mcp":"tsc -p tsconfig.mcp.json","prepublishOnly":"npm run build:mcp"},"_npmUser":{"name":"ben-rogerson","email":"info@benrogerson.dev"},"repository":{"url":"git+https://github.com/ben-rogerson/pico-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for managing git worktrees and workspaces. Provides tools for creating isolated development environments, tracking changes, and managing collaborative workflows.","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.24.2","next":"^15.4.6","uuid":"^13.0.0","react":"^19.1.0","openai":"^5.12.2","js-yaml":"^4.1.0","react-dom":"^19.1.0","@types/js-yaml":"^4.0.9","@vercel/mcp-adapter":"^1.0.0","@modelcontextprotocol/sdk":"^1.17.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","postcss":"^8.5.4","prettier":"^3.6.2","@vitest/ui":"^3.2.4","typescript":"^5","@types/node":"^20","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","@types/react":"^19","autoprefixer":"^10.4.21","@types/webpack":"^5.28.5"},"_npmOperationalInternal":{"tmp":"tmp/pico-mcp_0.1.1_1759498622931_0.01697152305729177","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ben-rogerson/pico-mcp","version":"0.1.2","keywords":["mcp","model-context-protocol","git","workspace","worktree","development"],"author":{"name":"Ben Rogerson","email":"info@benrogerson.dev"},"license":"MIT","_id":"@ben-rogerson/pico-mcp@0.1.2","maintainers":[{"name":"ben-rogerson","email":"info@benrogerson.dev"}],"homepage":"https://github.com/ben-rogerson/pico-mcp#readme","bugs":{"url":"https://github.com/ben-rogerson/pico-mcp/issues"},"bin":{"pico-mcp":"dist/server.js"},"dist":{"shasum":"dedb05f13a455ccc0d4fc73310c60d0e41161010","tarball":"https://registry.npmjs.org/@ben-rogerson/pico-mcp/-/pico-mcp-0.1.2.tgz","fileCount":61,"integrity":"sha512-8ihRD4aHx4WQMp4tiucADDhT0HwbqBeOLy9Sv1x0+BMe6Y+pWLZVfQ5QfDMxeFO09Jfy7I/x1ZDNqJ1C6DPSEA==","signatures":[{"sig":"MEUCIC6wyJAmBc/6K1dZEu4qN7BCVbq9ak18dhJhimEWxknGAiEAm2+/bQMM624C/6K55L7W73T8xpHsTPArUFOa8cE1TWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360253},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","gitHead":"aacdd6b485060d968dd8065b8e0010a971db4f3c","private":false,"scripts":{"dev":"node scripts/dev-startup.js","lint":"npx prettier . --fix","test":"vitest","build":"next build && npm run build:mcp","start":"next start","inspect":"npx @modelcontextprotocol/inspector --config mcp-servers.json --server pico","test:ui":"vitest --ui","build:mcp":"tsc -p tsconfig.mcp.json && tsc-alias -p tsconfig.mcp.json","prepublishOnly":"npm run build:mcp"},"_npmUser":{"name":"ben-rogerson","email":"info@benrogerson.dev"},"repository":{"url":"git+https://github.com/ben-rogerson/pico-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for managing git worktrees and workspaces. Provides tools for creating isolated development environments, tracking changes, and managing collaborative workflows.","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.24.2","next":"^15.4.6","uuid":"^13.0.0","react":"^19.1.0","openai":"^5.12.2","js-yaml":"^4.1.0","react-dom":"^19.1.0","@types/js-yaml":"^4.0.9","@vercel/mcp-adapter":"^1.0.0","@modelcontextprotocol/sdk":"^1.17.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","postcss":"^8.5.4","prettier":"^3.6.2","tsc-alias":"^1.8.16","@vitest/ui":"^3.2.4","typescript":"^5","@types/node":"^20","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","@types/react":"^19","autoprefixer":"^10.4.21","@types/webpack":"^5.28.5"},"_npmOperationalInternal":{"tmp":"tmp/pico-mcp_0.1.2_1759498833946_0.4239800457852798","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ben-rogerson/pico-mcp","version":"0.2.0","private":false,"description":"MCP server for managing git worktrees and workspaces. Provides tools for creating isolated development environments, tracking changes, and managing collaborative workflows.","main":"dist/stdio.js","bin":{"pico-mcp":"dist/stdio.js"},"scripts":{"dev":"nodemon","build":"tsc -p tsconfig.stdio.json && tsc-alias -p tsconfig.stdio.json && node scripts/fix-imports.js","prepublishOnly":"npm run build","preview":"vite preview","inspect":"npx @modelcontextprotocol/inspector node dist/stdio.js","lint":"npx prettier . --fix && tsc --noEmit","test":"vitest","test:ui":"vitest --ui"},"dependencies":{"@modelcontextprotocol/sdk":"^1.17.3","glob":"^11.0.3","js-yaml":"^4.1.0","uuid":"^13.0.0","zod":"^3.24.2","zod-to-json-schema":"^3.24.6"},"devDependencies":{"@types/js-yaml":"^4.0.9","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19.2.0","@types/uuid":"^10.0.0","@vitejs/plugin-react":"^4.3.4","@vitest/ui":"^3.2.4","autoprefixer":"^10.4.21","concurrently":"^9.2.1","nodemon":"^3.1.10","postcss":"^8.5.4","prettier":"^3.6.2","react":"^19.1.0","react-dom":"^19.1.0","react-router-dom":"^7.5.0","tailwindcss":"^4.1.12","tsc-alias":"^1.8.16","tsx":"^4.20.6","typescript":"^5","vite":"^6.0.11","vitest":"^3.2.4"},"keywords":["mcp","model-context-protocol","git","workspace","worktree","development"],"author":{"name":"Ben Rogerson","email":"info@benrogerson.dev"},"license":"MIT","homepage":"https://github.com/ben-rogerson/pico-mcp#readme","repository":{"type":"git","url":"git+https://github.com/ben-rogerson/pico-mcp.git"},"type":"module","publishConfig":{"access":"public"},"_id":"@ben-rogerson/pico-mcp@0.2.0","gitHead":"7ac41d3e1287fd08cdff4b6a884ad7125ffbba4d","types":"./dist/stdio.d.ts","bugs":{"url":"https://github.com/ben-rogerson/pico-mcp/issues"},"_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-X/zKFnbllXOfjndid30GTjK4Gpc4vE6EdZYjSB5UiV51UFBOgZ5+wmAVKZ6mJufyeCl3ew0kieJliGij9RN3qQ==","shasum":"884e631778068b7702b8435b754f5cab5f7e8c67","tarball":"https://registry.npmjs.org/@ben-rogerson/pico-mcp/-/pico-mcp-0.2.0.tgz","fileCount":36,"unpackedSize":163116,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF2DmF3xddqp0dE1VtiMXqpMXjOYdx0MDoWmnT1u6b9KAiB2k03ghQsVZJPAhjHGBrJkZDc2SIXmsMfT/7BexNbUTw=="}]},"_npmUser":{"name":"ben-rogerson","email":"info@benrogerson.dev"},"directories":{},"maintainers":[{"name":"ben-rogerson","email":"info@benrogerson.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pico-mcp_0.2.0_1759566736227_0.019901296987693717"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-03T13:21:21.406Z","modified":"2025-10-04T08:32:16.660Z","0.1.0":"2025-10-03T13:21:21.694Z","0.1.1":"2025-10-03T13:37:03.162Z","0.1.2":"2025-10-03T13:40:34.145Z","0.2.0":"2025-10-04T08:32:16.449Z"},"bugs":{"url":"https://github.com/ben-rogerson/pico-mcp/issues"},"author":{"name":"Ben Rogerson","email":"info@benrogerson.dev"},"license":"MIT","homepage":"https://github.com/ben-rogerson/pico-mcp#readme","keywords":["mcp","model-context-protocol","git","workspace","worktree","development"],"repository":{"type":"git","url":"git+https://github.com/ben-rogerson/pico-mcp.git"},"description":"MCP server for managing git worktrees and workspaces. Provides tools for creating isolated development environments, tracking changes, and managing collaborative workflows.","maintainers":[{"name":"ben-rogerson","email":"info@benrogerson.dev"}],"readme":"# Pico MCP Server\n\nMCP (Model Context Protocol) server for managing git worktrees and workspaces. Provides tools for creating isolated development environments, tracking changes, and managing collaborative workflows.\n\n## Features\n\n- **Project Discovery**: Auto-scan configured directories for git repositories\n- **Workspace Management**: Create and manage isolated git worktrees for tasks\n- **Metadata Tracking**: YAML-based workspace configuration and history\n- **Auto-commit**: Built-in file monitoring and automatic commit system\n- **Collaboration**: Multi-user workspace support with conversation history\n\n## Get Started\n\n### Install & Use\n\n**Option 1: Install Globally**\n\n```bash\nnpm install -g @ben-rogerson/pico-mcp\n```\n\n**Option 2: Use with npx (no install)**\n\n```bash\nnpx @ben-rogerson/pico-mcp\n```\n\n### Configuration\n\nCreate environment variables (optional):\n\n```env\n# Custom project directories (colon-separated)\n# Default: ~/Projects:~/Code:~/Developer:~/dev\nPROJECT_DIRECTORIES=~/custom-projects:~/work:~/repos\n```\n\n### Connect to Claude Desktop / Cursor\n\nAdd to your MCP configuration:\n\n**Claude Desktop**: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)\n**Cursor**: Settings → MCP Servers → Add Server\n\n**Option 1: Use via npx (Recommended)**\n\n```json\n{\n  \"mcpServers\": {\n    \"pico-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ben-rogerson/pico-mcp\"]\n    }\n  }\n}\n```\n\n**Option 2: After global install**\n\n```json\n{\n  \"mcpServers\": {\n    \"pico-mcp\": {\n      \"command\": \"pico-mcp\"\n    }\n  }\n}\n```\n\n### Available Tools\n\n**Discovery & Navigation**\n\n- `list projects` - Discover git repositories in configured directories\n- `list workspaces` - View all workspaces for a repository\n- `get workspace info` - Get detailed workspace information\n\n**Workspace Lifecycle**\n\n- `create workspace` - Create isolated worktree for a task\n- `initialize workspace metadata` - Initialize metadata for existing workspace\n- `archive workspace` - Archive completed workspace\n- `launch workspace` - Open workspace in IDE/terminal\n\n**Change Management**\n\n- `list changes from specific workspace` - Show detailed changes in a workspace\n- `force commit workspace` - Manually trigger commit in workspace\n- `merge remote workspace changes into local` - Sync remote changes to local workspace\n\n**Integration**\n\n- `generate mr link` - Generate GitLab/GitHub merge request link\n\n## Development\n\n### Run Tests\n\n```sh\nnpm test\n```\n\n### Run Inspector\n\nDebug MCP tools with the inspector:\n\n```sh\nnpm run inspect\n```\n\n### Format Code\n\n```sh\nnpm run lint\n```\n\n## Architecture\n\n- **STDIO Transport**: Native stdin/stdout communication for MCP clients\n- **MCP SDK**: Model Context Protocol implementation\n- **Git Worktrees**: Isolated development environments\n- **YAML Metadata**: Distributed workspace configuration\n\n### Why STDIO?\n\n**STDIO** (stdin/stdout) was chosen over HTTP/SSE and WebSocket transports for several key reasons:\n\n**Simplicity** - Zero infrastructure required. No web servers, proxies, or network configuration. Just a command that spawns a process.\n\n**Native MCP Support** - Claude Desktop and Cursor natively support STDIO transport out-of-the-box. No additional tooling or adapters needed.\n\n**Security** - Process-level isolation. No exposed ports, no authentication layers, no CORS concerns. Communication stays within the local machine.\n\n**Reliability** - Direct process communication eliminates network latency, connection drops, and HTTP overhead. Works offline.\n\n**Distribution** - Users install via npm and run via npx. No deployment, no hosting, no URL management. Works the same everywhere.\n\n**Developer Experience** - Single command to install and use. No configuration files, no environment setup, no server management.\n","readmeFilename":"README.md"}