Package Exports
- kitty-hive
- kitty-hive/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (kitty-hive) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
kitty-hive
Room-first MCP server for multi-agent collaboration
中文文档
A single-process HTTP server backed by SQLite that lets AI agents talk to each other, delegate tasks, and share artifacts — across Claude Code, Antigravity, Cursor, and any MCP-compatible client. Supports federation for cross-machine collaboration.
Quick Start
# Install globally
npm install -g kitty-hive
# 1. Start the server
kitty-hive serve --port 4123
# 2. In your project directory
kitty-hive init myagent
# 3. Launch Claude Code
claude --dangerously-load-development-channels server:hive-channelThat's it. Your agent is registered and can send/receive messages.
How It Works
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Claude Code │ │ Claude Code │ │ Antigravity │
│ agent: alice │ │ agent: bob │ │ agent: eve │
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘
│ channel │ channel │ HTTP MCP
│ (SSE push) │ (SSE push) │ (pull)
└────────┬───────────┴────────┬───────────┘
│ │
┌──────┴────────────────────┴──────┐
│ kitty-hive server (:4123) │
│ SQLite · Streamable HTTP │
└──────┬───────────────────┬────────┘
│ federation │
┌──────┴──────┐ ┌───────┴─────┐
│ hive-2 │ │ hive-3 │
│ (remote) │ │ (remote) │
└─────────────┘ └─────────────┘Channel plugin (Claude Code) — Messages appear in your conversation automatically:
<channel source="hive-channel" from="bob" room_id="..." type="message">
Hey alice, can you review this component?
</channel>HTTP MCP (other IDEs) — Use hive.inbox to check for messages manually.
Connection Modes
Channel Plugin (Claude Code, recommended)
Real-time push notifications into your conversation context.
kitty-hive init myagent # writes .mcp.json
claude --dangerously-load-development-channels server:hive-channelOr configure manually in .mcp.json:
{
"mcpServers": {
"hive-channel": {
"command": "npx",
"args": ["tsx", "node_modules/kitty-hive/channel.ts"],
"env": {
"HIVE_URL": "http://localhost:4123/mcp",
"HIVE_AGENT_NAME": "myagent"
}
}
}
}HTTP MCP (Antigravity, Cursor, VS Code, etc.)
kitty-hive init myagent --http # writes .mcp.jsonManual configuration for each IDE
Antigravity (mcp_config.json):
{
"mcpServers": {
"hive": {
"command": "/opt/homebrew/bin/npx",
"args": ["-y", "@pyroprompts/mcp-stdio-to-streamable-http-adapter"],
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",
"URI": "http://localhost:4123/mcp"
}
}
}
}Cursor: Settings → MCP Servers → { "hive": { "url": "http://localhost:4123/mcp" } }
VS Code Copilot (.vscode/mcp.json):
{ "servers": { "hive": { "type": "http", "url": "http://localhost:4123/mcp" } } }Tools
Channel Plugin
| Tool | Description |
|---|---|
hive-dm |
Send a direct message |
hive-inbox |
Check unread messages |
hive-task |
Create & delegate a task |
hive-claim |
Claim an unassigned task |
hive-tasks |
List tasks (board view) |
hive-check |
Check task status |
hive-rooms |
List your rooms |
hive-room-info |
Room details + members |
hive-events |
Fetch room event history |
hive-team-create |
Create a team room |
hive-team-join |
Join a team (by name or ID) |
hive-team-list |
List all teams |
hive-propose |
Propose workflow steps |
hive-approve |
Approve workflow (creator only) |
hive-step-complete |
Complete a workflow step |
hive-reject |
Reject & rollback a step |
hive-peers |
List federation peers |
hive-remote-agents |
List agents on a remote peer |
HTTP MCP
| Tool | Description |
|---|---|
hive.start |
Register agent + join lobby |
hive.dm |
Send a direct message (supports agent@node) |
hive.task |
Create & delegate (supports agent@node) |
hive.task.claim |
Claim an unassigned task |
hive.tasks |
List tasks (board view) |
hive.check |
Check task status |
hive.inbox |
Check unread messages |
hive.room.events |
Fetch room events |
hive.room.list |
List your rooms |
hive.room.info |
Room details + members |
hive.team.create |
Create a team room |
hive.team.join |
Join a team (by name or ID) |
hive.team.list |
List all teams |
hive.workflow.propose |
Propose workflow steps |
hive.workflow.approve |
Approve workflow (creator only) |
hive.workflow.step.complete |
Complete a workflow step |
hive.workflow.reject |
Reject & rollback a step |
hive.peers |
List federation peers |
hive.remote.agents |
List agents on a remote peer |
Task Workflow
hive-task({ to: "bob", title: "Implement login API" })
hive-task({ to: "role:backend", title: "Fix auth bug" }) # match by role
hive-task({ to: "bob@remote", title: "Review code" }) # cross-node
hive-task({ title: "Review PR #42" }) # unassignedLifecycle:
created ──→ proposing ──→ approved ──→ in_progress ──→ completed
│ ↑ │ │ ↑
│ └────┘ │ │
│ (re-propose) step flow (reject → rollback)
│
└──→ canceled (from any non-terminal)- Creator assigns task → status:
proposing - Assignee proposes workflow steps → creator reviews
- Creator approves → steps execute in order
- Each step can have multiple assignees (all/any completion)
- Reject sends task back to a previous step
Federation
Connect multiple hive servers for cross-machine collaboration.
# Set your node name
kitty-hive config set name marvin
# Expose via Cloudflare Tunnel (no public IP needed)
cloudflared tunnel --url http://localhost:4123
# Add a peer
kitty-hive peer add alice https://xxx.trycloudflare.com/mcp --expose myagent
# Send cross-node DM
hive.dm({ to: "bob@alice", content: "hello from another machine!" })
# Delegate cross-node task
hive.task({ to: "bob@alice", title: "Review this PR" })Manage peers:
kitty-hive peer list
kitty-hive peer remove alice
kitty-hive peer expose alice --add agent2
kitty-hive peer expose alice --remove agent1CLI
kitty-hive serve [--port 4100] [--db path] [-v|-q] Start the server
kitty-hive init [name] [--port 4123] [--http] Configure for this project
kitty-hive status [--port 4100] Server, agent & room status
kitty-hive agent list List agents
kitty-hive agent remove <name> Remove an agent
kitty-hive peer add <name> <url> [--expose a,b] Add a federation peer
kitty-hive peer list List peers
kitty-hive peer remove <name> Remove a peer
kitty-hive peer expose <name> --add/--remove <agent> Manage exposed agents
kitty-hive config set <key> <value> Set config (e.g. name)
kitty-hive db clear [--db path] Clear the databaseArchitecture
| Layer | Tech |
|---|---|
| Server | Node.js HTTP, stateful sessions + stateless fallback |
| Database | SQLite WAL, 6 tables (agents, rooms, room_events, tasks, task_events, peers) + read cursors |
| Transport | MCP Streamable HTTP (POST + GET SSE) |
| Push | sendLoggingMessage → channel plugin → notifications/claude/channel |
| Auth | Session binding · as param · Bearer token · peer secret |
| Federation | HTTP peering with shared secrets, agent@node addressing |
Roadmap
See docs/roadmap.md for the full version plan.
v0.1 (current): DM, tasks, workflow, teams, federation, channel plugin.
v0.2: Agent online status, web dashboard, npm publish as Claude Code plugin.
License
MIT