{"id":"638108bc-bf4a-4745-8ea0-4feb46150188","slug":"0pi-mcp-server","kind":"mcp","name":"0pi-mcp-server","summary":"Dropbox and pastebin for AI agents. Open and free. Useful for caching contexts and bridging multi-agent workflows","owner":"dizzydes","repoUrl":"https://github.com/dizzydes/0pi-mcp-server","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-03-05T18:14:21.000Z","addedAt":"2026-10-21T04:17:03.669Z","logoUrl":"https://avatars.githubusercontent.com/u/10514807?u=bdcb18de24e155c37e4c3beeba7c6fa95da46849&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["files-documents","cloud-infra","search"],"tags":["ai-agents","ai-agents-mcp","ai-cache","caching","chatgpt","claude","clawdbot","data-dump"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-23T07:30:04.315Z","sample":false,"url":"https://conduits.dev/tools/0pi-mcp-server","language":"JavaScript","transports":["stdio"],"install":{"npm":"@0pi/mcp-server"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# 0pi MCP Server\n\n> **Dropbox for AI Agents** - Ephemeral shared workspace for caching contexts and bridging multi-agent workflows\n\nA Model Context Protocol (MCP) server that enables AI agents to cache contexts, bridge workflows, and share ephemeral data via the 0pi free and open API. \nThink of it like a pastebin or Dropbox for Agents.\n\n## Use Cases\n\n🧠 **Context Caching** - Offload large contexts when approaching token limits  \n🤝 **Multi-Agent Bridge** - Share data between different AI agents seamlessly  \n📦 **Temporary Storage** - 2-hour auto-expiring storage for agent content  \n🔄 **Workflow Continuity** - Pass intermediate results between sessions  \n🌐 **Web Automation** - Store DOM snapshots for multi-step workflows  \n💾 **Code Sharing** - Temporary storage for generated code\n\n## Features\n\n- **Create Shared Workspaces**: Save large JSON structures, reasoning states, or DOM elements to the cloud\n- **Retrieve Workspaces**: Access previously saved data via workspace ID\n- **JSONL Logging**: All MCP interactions are logged locally in JSON Lines format for debugging and analytics\n- **Ephemeral Storage**: All data expires after 2 hours (configurable)\n\n## Installation\n\n### As a Local MCP Server\n\n1. **Install dependencies**:\n```bash\ncd mcp-server\nnpm install\n```\n\n2. **Configure environment** (optional):\n```bash\ncp .env.example .env\n# Edit .env to set 0PI_API_URL if needed\n```\n\n3. **Run the server**:\n```bash\nnpm start\n```\n\n### Install via NPM\n\n```bash\nnpm install -g @0pi/mcp-server\n# or use npx\nnpx @0pi/mcp-server\n```\n\n## Configuration with AI Tools\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"0pi\": {\n      \"command\": \"npx\",\n      \"args\": [\"@0pi/mcp-server\"],\n      \"env\": {\n        \"0PI_API_URL\": \"https://0pi.dev\"\n      }\n    }\n  }\n}\n```\n\n### Cline (VS Code)\n\nAdd to your Cline MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"0pi\": {\n      \"command\": \"npx\",\n      \"args\": [\"@0pi/mcp-server\"],\n      \"env\": {\n        \"0PI_API_URL\": \"https://0pi.dev\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\n### 1. `create_shared_workspace`\n\nSave data to an ephemeral cloud workspace.\n\n**Parameters**:\n- `agent_id` (required): Your agent identifier (e.g., \"claude-coder\")\n- `data` (required): The payload to save (object, array, or string)\n- `intent` (optional): Brief description of why you're saving this\n- `ttl_seconds` (optional): Time-to-live in seconds (max 7200, default 7200)\n\n**Example**:\n```json\n{\n  \"agent_id\": \"claude-researcher\",\n  \"data\": {\n    \"research_findings\": [...],\n    \"next_steps\": [...]\n  },\n  \"intent\": \"Saving research results for coding agent\",\n  \"ttl_seconds\": 3600\n}\n```\n\n**Returns**:\n```json\n{\n  \"workspace_id\": \"a8f92k3d\",\n  \"url\": \"https://0pi.dev/w/a8f92k3d\",\n  \"expires_in\": 3600\n}\n```\n\n### 2. `get_shared_workspace`\n\nRetrieve data from a workspace.\n\n**Parameters**:\n- `workspace_id` (required): The 8-character workspace ID\n\n**Example**:\n```json\n{\n  \"workspace_id\": \"a8f92k3d\"\n}\n```\n\n**Returns**:\n```json\n{\n  \"agent_id\": \"claude-researcher\",\n  \"payload_type\": \"json\",\n  \"data\": { ... },\n  \"intent\": \"Saving research results for coding agent\",\n  \"created_at\": \"2026-05-03T13:57:56Z\"\n}\n```\n\n## JSONL Logging\n\nAll MCP interactions are logged to `logs/mcp-conversations.jsonl` in JSON Lines format (one JSON object per line).\n\n**Log Entry Format**:\n```json\n{\n  \"timestamp\": \"2026-05-03T13:57:56.123Z\",\n  \"event_type\": \"workspace_created\",\n  \"tool_name\": \"create_shared_workspace\",\n  \"agent_id\": \"claude-coder\",\n  \"workspace_id\": \"a8f92k3d\",\n  \"workspace_url\": \"https://0pi.dev/w/a8f92k3d\",\n  \"payload_size\": 15420,\n  \"intent\": \"saving DOM structure for handoff\",\n  \"error\": null,\n  \"metadata\": null\n}\n```\n\n**Event Types**:\n- `server_started`: MCP server initialized\n- `tools_listed`: Agent queried available tools\n- `tool_called`: Agent invoked a tool\n- `workspace_created`: Workspace successfully created\n- `workspace_creation_failed`: Error creating workspace\n- `workspace_retrieved`: Workspace data retrieved\n- `workspace_retrieval_failed`: Error retrieving workspace\n- `tool_execution_failed`: General tool execution error\n\n**Analyzing Logs**:\n```bash\n# View recent events (last 10 lines)\ntail -10 mcp-server/logs/mcp-conversations.jsonl\n\n# View all workspace creations\ncat mcp-server/logs/mcp-conversations.jsonl | grep \"workspace_created\"\n\n# Count events by type using jq\ncat mcp-server/logs/mcp-conversations.jsonl | jq -s 'group_by(.event_type) | map({event: .[0].event_type, count: length})'\n\n# View errors only\ncat mcp-server/logs/mcp-conversations.jsonl | jq 'select(.error != null)'\n\n# Count workspaces by agent\ncat mcp-server/logs/mcp-conversations.jsonl | jq -s 'map(select(.event_type == \"workspace_created\")) | group_by(.agent_id) | map({agent: .[0].agent_id, count: length})'\n```\n\n## Environment Variables\n\n<<<<<<< HEAD\n- `0PI_API_URL`: API endpoint URL (default: `https://0pi.dev`)\n  - Legacy: `AGENTBOX_API_URL` still supported\n- `0PI_LOG_DIR`: Directory for log files (default: `./logs`)\n  - Legacy: `AGENTBOX_LOG_DIR` still supported\n\n## Development\n\n```bash\n# Run in development\nnpm start\n\n# Test the server manually\necho '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}' | node index.js\n```\n\n## Architecture\n\n```\n┌─────────────────┐\n│   AI Agent      │\n│  (Claude/GPT)   │\n└────────┬────────┘\n         │ MCP Protocol\n         │\n┌────────▼────────┐\n│  MCP Server     │\n│  (this package) │\n│                 │\n│  ┌───────────┐  │\n│  │   JSONL   │  │ (Local logging)\n│  │   Logs    │  │\n│  └───────────┘  │\n└────────┬────────┘\n         │ HTTPS\n         │\n┌────────▼────────┐\n│  0pi API        │\n│  (0pi.dev)      │\n│                 │\n│  ┌───────────┐  │\n│  │   Redis   │  │ (Ephemeral storage)\n│  └───────────┘  │\n└─────────────────┘\n```\n\n## License\n\nMIT\n"}