@0pi/mcp-server
v1.0.3
Published
Ephemeral shared workspace for AI agents - cache contexts, bridge multi-agent workflows, and share data between sessions. Free 2-hour temporary storage.
Downloads
401
Maintainers
Readme
0pi MCP Server
Dropbox for AI Agents - Ephemeral shared workspace for caching contexts and bridging multi-agent workflows
A Model Context Protocol (MCP) server that enables AI agents to cache contexts, bridge workflows, and share ephemeral data via the 0pi API.
Use Cases
🧠 Context Caching - Offload large contexts when approaching token limits
🤝 Multi-Agent Bridge - Share data between different AI agents seamlessly
📦 Temporary Storage - 2-hour auto-expiring storage for agent content
🔄 Workflow Continuity - Pass intermediate results between sessions
🌐 Web Automation - Store DOM snapshots for multi-step workflows
💾 Code Sharing - Temporary storage for generated code
Features
- Create Shared Workspaces: Save large JSON structures, reasoning states, or DOM elements to the cloud
- Retrieve Workspaces: Access previously saved data via workspace ID
- JSONL Logging: All MCP interactions are logged locally in JSON Lines format for debugging and analytics
- Ephemeral Storage: All data expires after 2 hours (configurable)
Installation
As a Local MCP Server
- Install dependencies:
cd mcp-server
npm install- Configure environment (optional):
cp .env.example .env
# Edit .env to set AGENTBOX_API_URL if needed- Run the server:
npm startInstall via NPM (Future)
npm install -g @agentbox/mcp-server
agentbox-mcpConfiguration with AI Tools
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"agentbox": {
"command": "node",
"args": ["/absolute/path/to/botbox/mcp-server/index.js"],
"env": {
"AGENTBOX_API_URL": "https://0pi.dev"
}
}
}
}Cline (VS Code)
Add to your Cline MCP settings:
{
"mcpServers": {
"agentbox": {
"command": "node",
"args": ["/absolute/path/to/botbox/mcp-server/index.js"],
"env": {
"AGENTBOX_API_URL": "https://0pi.dev"
}
}
}
}Available Tools
1. create_shared_workspace
Save data to an ephemeral cloud workspace.
Parameters:
agent_id(required): Your agent identifier (e.g., "claude-coder")data(required): The payload to save (object, array, or string)intent(optional): Brief description of why you're saving thisttl_seconds(optional): Time-to-live in seconds (max 7200, default 7200)
Example:
{
"agent_id": "claude-researcher",
"data": {
"research_findings": [...],
"next_steps": [...]
},
"intent": "Saving research results for coding agent",
"ttl_seconds": 3600
}Returns:
{
"workspace_id": "a8f92k3d",
"url": "https://0pi.dev/w/a8f92k3d",
"expires_in": 3600
}2. get_shared_workspace
Retrieve data from a workspace.
Parameters:
workspace_id(required): The 8-character workspace ID
Example:
{
"workspace_id": "a8f92k3d"
}Returns:
{
"agent_id": "claude-researcher",
"payload_type": "json",
"data": { ... },
"intent": "Saving research results for coding agent",
"created_at": "2026-05-03T13:57:56Z"
}JSONL Logging
All MCP interactions are logged to logs/mcp-conversations.jsonl in JSON Lines format (one JSON object per line).
Log Entry Format:
{
"timestamp": "2026-05-03T13:57:56.123Z",
"event_type": "workspace_created",
"tool_name": "create_shared_workspace",
"agent_id": "claude-coder",
"workspace_id": "a8f92k3d",
"workspace_url": "https://0pi.dev/w/a8f92k3d",
"payload_size": 15420,
"intent": "saving DOM structure for handoff",
"error": null,
"metadata": null
}Event Types:
server_started: MCP server initializedtools_listed: Agent queried available toolstool_called: Agent invoked a toolworkspace_created: Workspace successfully createdworkspace_creation_failed: Error creating workspaceworkspace_retrieved: Workspace data retrievedworkspace_retrieval_failed: Error retrieving workspacetool_execution_failed: General tool execution error
Analyzing Logs:
# View recent events (last 10 lines)
tail -10 mcp-server/logs/mcp-conversations.jsonl
# View all workspace creations
cat mcp-server/logs/mcp-conversations.jsonl | grep "workspace_created"
# Count events by type using jq
cat mcp-server/logs/mcp-conversations.jsonl | jq -s 'group_by(.event_type) | map({event: .[0].event_type, count: length})'
# View errors only
cat mcp-server/logs/mcp-conversations.jsonl | jq 'select(.error != null)'
# Count workspaces by agent
cat 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})'Environment Variables
AGENTBOX_API_URL: Base URL for AgentBox API (default:https://0pi.dev)AGENTBOX_LOG_DIR: Directory for log files (default:./logs)
Development
# Run in development
npm start
# Test the server manually
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node index.jsArchitecture
┌─────────────────┐
│ AI Agent │
│ (Claude/GPT) │
└────────┬────────┘
│ MCP Protocol
│
┌────────▼────────┐
│ MCP Server │
│ (this package) │
│ │
│ ┌───────────┐ │
│ │ SQLite │ │ (Local logging)
│ │ Log │ │
│ └───────────┘ │
└────────┬────────┘
│ HTTPS
│
┌────────▼────────┐
│ AgentBox API │
│ (0pi.dev) │
│ │
│ ┌───────────┐ │
│ │ Redis │ │ (Ephemeral storage)
│ └───────────┘ │
└─────────────────┘License
MIT
