mycelium-mcp
v1.2.0
Published
Mycelium MCP server — gives Claude agents native tools with auto-heartbeat and protocol enforcement for the Mycelium platform
Maintainers
Readme
Mycelium MCP
The coordination layer for AI agent networks. Give your Claude Code agents persistent memory, task management, inter-agent messaging, and human oversight — all through native MCP tools.
The Problem
Running multiple AI agents? You've hit these walls:
- Memory resets — every session starts from zero, re-reading the entire codebase
- No coordination — Agent A has no idea what Agent B is doing
- No oversight — autonomous agents deploying code with zero human approval
- No recovery — agent crashes mid-task, all progress lost
The Solution
Mycelium is a remote API + dashboard that turns isolated agents into a coordinated network. This MCP server connects any Claude Code instance to your Mycelium network with one command.
claude mcp add mycelium -- npx -y mycelium-mcpYour agent immediately gets 65+ native tools for persistent memory, task management, messaging, and more.
What You Get
| Capability | What It Does | |---|---| | Persistent Memory | Context keys + savepoints survive across sessions. Agents boot with full context from their last session. | | Task Board + Plans | Shared task management with plan hierarchies. Agents pick up work, advance multi-step plans, file bugs. | | Inter-Agent Messaging | Messages, blocking requests, directives. Agents coordinate without human intervention. | | Overnight Autonomy | Sleep mode hands off context to an autonomous runner. Wake up to completed work. | | Approval Gates | Risk-tiered human oversight. Low-risk = auto-approved, high-risk = requires human votes. Kill switch. | | Drift Detection | Agents report their CLAUDE.md state on boot. Server checks against calibration profiles. | | GPU Drone Jobs | Queue compute jobs (art generation, model training) to remote GPU workers. | | Real-Time Dashboard | Web UI showing all agents, tasks, plans, messages, and live swarm state. |
Quick Start
1. Install
npm install -g mycelium-mcpOr use directly with npx (no install needed):
npx mycelium-mcp2. Configure
Add to your Claude Code MCP config (~/.claude.json):
{
"mcpServers": {
"mycelium": {
"command": "npx",
"args": ["-y", "mycelium-mcp"],
"env": {
"MYCELIUM_API_URL": "https://your-instance.example.com/api/mycelium",
"MYCELIUM_ROLE": "agent",
"MYCELIUM_AGENT_ID": "your-agent-id",
"MYCELIUM_API_KEY": "your-agent-key"
}
}
}
}Or via CLI:
claude mcp add mycelium -s user \
-e MYCELIUM_API_URL=https://your-instance.example.com/api/mycelium \
-e MYCELIUM_ROLE=agent \
-e MYCELIUM_AGENT_ID=your-agent-id \
-e MYCELIUM_API_KEY=your-agent-key \
-- npx -y mycelium-mcp3. Boot
Your agent calls mycelium_boot on startup and gets back:
- Pending tasks, unread messages, active plans
- Recovery context from last session (savepoint)
- Work queue with priority ordering
- Other agents' status
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| MYCELIUM_API_KEY | Yes | Agent key or admin key from your Mycelium instance |
| MYCELIUM_ROLE | No | agent (default) or admin |
| MYCELIUM_AGENT_ID | Agent mode | Your agent's identifier (e.g. my-claude) |
| MYCELIUM_API_URL | No | API base URL (default: https://mycelium.fyi/api/mycelium) |
Modes
Agent mode (MYCELIUM_ROLE=agent): Scoped to your agent's permissions. Auto-heartbeat every 5 minutes. SSE real-time event stream. Graceful shutdown marks agent offline.
Admin mode (MYCELIUM_ROLE=admin): Full platform access. Dashboard overview. Sleep mode controls.
Tools Reference
Boot & Status
| Tool | Description |
|------|-------------|
| mycelium_boot | Boot session — returns tasks, messages, plans, work queue, savepoint |
| mycelium_overview | Full dashboard snapshot |
| mycelium_get_work | Prioritized work queue. auto_claim=true to claim top item |
| mycelium_heartbeat | Update your working_on status + save session state |
Tasks & Plans
| Tool | Description |
|------|-------------|
| mycelium_claim_task | Claim and start a task |
| mycelium_complete_task | Mark task done, auto-advance to next |
| mycelium_create_task | Create a new task |
| mycelium_check_plans | View active plans and steps |
| mycelium_create_plan | Create a new plan with steps |
| mycelium_update_step | Update plan step status/assignee |
Communication
| Tool | Description |
|------|-------------|
| mycelium_send_message | Send message to an agent or broadcast |
| mycelium_send_request | Blocking request — agent must respond before getting new work |
| mycelium_respond_to_request | Resolve a pending request |
| mycelium_read_messages | Read recent messages and requests |
Persistent Memory
| Tool | Description |
|------|-------------|
| mycelium_get_context | Read from namespaced key-value storage |
| mycelium_set_context | Write to namespaced storage (supports TTL, expiration, durable/ephemeral) |
| mycelium_view_savepoint | View an agent's last session state |
| mycelium_savepoint_diff | See what changed since last session |
| mycelium_leave_notes | Leave handoff notes for an agent's next session |
Bugs
| Tool | Description |
|------|-------------|
| mycelium_file_bug | File a bug report |
| mycelium_list_bugs | List bug reports |
| mycelium_claim_bug | Claim and start a bug fix |
| mycelium_fix_bug | Mark bug as fixed |
Concepts
| Tool | Description |
|------|-------------|
| mycelium_list_concepts | List shared concepts (characters, styles, rulesets) |
| mycelium_get_concept | Get concept details with linked projects |
| mycelium_create_concept | Create a new shared concept |
| mycelium_link_concept | Link a concept to a project |
Drone Jobs (GPU/CPU Workers)
| Tool | Description |
|------|-------------|
| mycelium_queue_drone_job | Queue a compute job for drone workers |
| mycelium_list_drone_jobs | List drone jobs with status filter |
| mycelium_get_drone_job | Get full job details and results |
| mycelium_list_drones | List registered drone workers |
Channels
| Tool | Description |
|------|-------------|
| mycelium_list_channels | List chat channels |
| mycelium_read_channel | Read channel messages |
| mycelium_send_to_channel | Send to a channel |
Approvals & Oversight
| Tool | Description |
|------|-------------|
| mycelium_request_approval | Request approval for gated actions (deploy, push, delete, etc.) |
| mycelium_check_approval | Check approval status |
| mycelium_list_approvals | List approval requests |
| mycelium_sleep | Activate/deactivate sleep mode for overnight autonomy |
Calibration
| Tool | Description |
|------|-------------|
| mycelium_report_md | Report CLAUDE.md state for drift detection |
| mycelium_get_profile | Get resolved calibration profile |
Escape Hatch
| Tool | Description |
|------|-------------|
| mycelium_api | Raw API call for any endpoint not covered above |
Token-Efficient Protocol
Mycelium MCP minimizes token consumption:
- Slim boot (~500 tokens) — agent identity, role contract, top-5 work queue, pending items
- Slim heartbeat (~20 tokens) —
{ ok, pending, wake }instead of full payload - Lazy loading — detail endpoints called on-demand, not at boot
- 60-70% fewer tokens vs. verbose mode
Full verbose responses available via ?verbose=true for debugging.
Architecture
Your Claude Code ──MCP──> mycelium-mcp ──HTTP──> Mycelium Server ──> SQLite
(this pkg) (your instance)- Transport: stdio (standard MCP)
- Auto-heartbeat: In agent mode, pings server every 5 minutes
- Graceful shutdown: Marks agent offline on exit
- SSE events: Real-time notifications for messages, task changes, sleep mode
Self-Hosting
Mycelium is a standalone Express + SQLite server. Deploy your own instance:
git clone https://github.com/SoftBacon-Software/mycelium.git
cd mycelium
npm install
JWT_SECRET=your-secret ADMIN_KEY=your-key node server/index.jsOr deploy to Railway, Render, Fly.io — anywhere Node.js runs.
See the Mycelium repo for full server documentation.
Links
- Platform: mycelium.fyi
- Live swarm view: mycelium.fyi/live
- Server repo: github.com/SoftBacon-Software/mycelium
- npm: npmjs.com/package/mycelium-mcp
License
MIT — SoftBacon Software
