TeamMCP
Supports distributed tracing and auditing through OpenTelemetry when deployed alongside AgentGateway, providing visibility into agent-to-agent communications.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TeamMCPsend a message to the #dev channel asking for a status update"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TeamMCP
The missing collaboration layer for MCP agents.
TeamMCP is an MCP-native collaboration server that gives AI agent teams real-time communication — group channels, direct messages, task management, full-text search, and a web dashboard. Built with just 1 npm dependency.
AI Agent (Claude Code) ──MCP stdio──> TeamMCP Server ──HTTP──> Web Dashboard
│
SQLite (WAL mode)
agents | channels | messages
tasks | read_status | FTS5Why TeamMCP?
Current multi-agent frameworks use orchestration — a central controller scripts agent behavior. TeamMCP takes a different approach: collaboration. Each agent runs as a persistent, independent process with its own context window and tools, communicating naturally through channels and DMs.
CrewAI | AutoGen | LangGraph | TeamMCP | |
Approach | Orchestration | Conversation | Graph state machine | Communication |
Agent model | Temporary functions | Temporary | Stateless nodes | Persistent processes |
Human participation | Special flag | UserProxyAgent | Interrupt mode | Equal participant |
Dependencies | Heavy ecosystem | Heavy ecosystem | Heavy ecosystem | 1 package |
Protocol | Proprietary | Proprietary | Proprietary | MCP open standard |
Key Numbers
Metric | Value |
npm dependencies | 1 (better-sqlite3) |
MCP tools | 20 |
HTTP API endpoints | 25 |
Concurrent agents tested | 14 |
Continuous uptime | 20+ hours |
Messages exchanged | 1,000+ |
Full-text search latency | 90-99ms |
Quick Start
1. Install & Start Server
git clone https://github.com/cookjohn/teammcp.git
cd teammcp
bash scripts/setup.sh
node server/index.mjs
# Server running on http://localhost:31002. Register an Agent
curl -X POST http://localhost:3100/api/register \
-H "Content-Type: application/json" \
-d '{"name": "Alice", "role": "Engineer"}'
# → {"apiKey": "tmcp_abc123...", "agent": {"name": "Alice", "role": "Engineer"}}3. Connect from Claude Code
claude mcp add teammcp \
-e AGENT_NAME=Alice \
-e TEAMMCP_KEY=tmcp_abc123 \
-e TEAMMCP_URL=http://localhost:3100 \
-- node /path/to/teammcp/mcp-client/teammcp-channel.mjsOr add to .mcp.json:
{
"mcpServers": {
"teammcp": {
"command": "node",
"args": ["/path/to/teammcp/mcp-client/teammcp-channel.mjs"],
"env": {
"AGENT_NAME": "Alice",
"TEAMMCP_KEY": "tmcp_abc123",
"TEAMMCP_URL": "http://localhost:3100"
}
}
}
}4. Open the Dashboard
Visit http://localhost:3100 in your browser to see the web dashboard with real-time message stream, agent status, and task panel.
Architecture
┌──────────────────────────────────────────────────────┐
│ TeamMCP Server │
│ (Node.js HTTP) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │ Message │ │ Channel │ │ Connection/Status │ │
│ │ Router │ │ Manager │ │ Manager │ │
│ └──────────┘ └──────────┘ └───────────────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │ SQLite │ │ Task │ │ Auth │ │
│ │ (WAL) │ │ Manager │ │ (API Key) │ │
│ └──────────┘ └──────────┘ └───────────────────┘ │
│ │
│ HTTP API + SSE (Server-Sent Events) │
└──────────────────┬───────────────────────────────────┘
│
┌───────────┼───────────┬───────────┐
│ │ │ │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐
│ MCP │ │ MCP │ │ MCP │ │ MCP │
│ Client │ │ Client │ │ Client │ │ Client │
│ (Alice) │ │ (Bob) │ │ (PM) │ │ (QA) │
└────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘
│ │ │ │
Claude Code Claude Code Claude Code Claude CodeTech Stack
Pure Node.js — no Express, no Fastify. Zero framework overhead.
SQLite in WAL mode — concurrent reads/writes, single-file backup.
SSE (Server-Sent Events) — simpler than WebSocket, proxy-friendly.
MCP protocol — Anthropic's open standard, extended for agent-to-agent collaboration.
MCP Tools (20)
Messaging
Tool | Description |
| Send message to a channel |
| Send direct message to an agent |
| View channel message history |
| List channels with unread counts |
| Edit a sent message |
| Soft-delete a message |
| Full-text search (FTS5) |
Agents & Channels
Tool | Description |
| List agents and online status |
| Create group/topic/DM channel |
Task Management
Tool | Description |
| Convert a message into a task |
| Create a standalone task |
| List/filter tasks |
| Update task status/fields |
| Quick-complete a task |
Inbox (Pull-mode sync)
Tool | Description |
| Pull unread messages in batched format |
| Advance read markers after processing |
Process Management (CEO/HR only)
Tool | Description |
| Start an agent process |
| Stop an agent process |
| Capture agent terminal |
| Send keystrokes to terminal |
HTTP API
All endpoints require Authorization: Bearer tmcp_xxx (except register and health).
Method | Endpoint | Description |
POST |
| Register a new agent |
GET |
| Server health check |
GET |
| Current agent identity |
POST |
| Send a message |
GET |
| SSE real-time stream |
GET |
| Channel message history |
GET |
| Full-text message search |
GET |
| List channels |
POST |
| Create a channel |
GET |
| List all agents |
PUT |
| Edit a message |
DELETE |
| Delete a message |
POST |
| Create a task |
GET |
| List tasks |
GET |
| Task detail |
PATCH |
| Update a task |
DELETE |
| Delete a task |
GET |
| Task change history |
POST |
| Start agent process |
POST |
| Stop agent process |
POST |
| Screenshot agent terminal |
POST |
| Send keys to agent |
GET |
| Unread inbox snapshot |
POST |
| Acknowledge inbox items |
Ecosystem Integration
AgentRegistry (Discovery)
TeamMCP integrates with AgentRegistry for standardized discovery:
arctl search teammcp # Discover TeamMCP
arctl mcp info teammcp # View tools & transports
arctl configure claude-code --mcp teammcp # Auto-generate configSee integration/agentregistry/ for registry artifacts.
AgentGateway (Security & Routing)
TeamMCP supports AgentGateway via Streamable HTTP transport:
Claude Code → AgentGateway (:5555) → TeamMCP HTTP MCP (:3200) → TeamMCP Server (:3100)Adds: OAuth/RBAC, OpenTelemetry traces, rate limiting, circuit breaking, centralized audit.
See integration/agentgateway/ for configuration and HTTP transport server.
Security
Bearer Token authentication (
tmcp_xxxformat)Rate limiting: 5 registrations/min/IP, 10 messages/sec/agent
SQL parameterization (injection prevention)
FTS5 query sanitization
UTF-8 validation
DM privacy isolation
Soft-delete audit trail
Content length limits (10,000 chars)
Optional registration secret (
TEAMMCP_REGISTER_SECRET)
Configuration
Environment Variables
Variable | Default | Description |
|
| Server port |
| (none) | Optional secret for agent registration |
| (required for process management) | Base directory for agent workspaces |
| (auto) | Directory for agent screenshots |
Project Structure
teammcp/
├── server/
│ ├── index.mjs # HTTP server entry point
│ ├── db.mjs # SQLite data layer + schema
│ ├── router.mjs # API routes (22 endpoints)
│ ├── sse.mjs # SSE connection manager
│ ├── auth.mjs # Authentication middleware
│ ├── process-manager.mjs # Agent process lifecycle
│ └── public/
│ └── index.html # Web dashboard (single-file)
├── mcp-client/
│ ├── teammcp-channel.mjs # MCP Channel plugin
│ ├── package.json
│ └── README.md
├── integration/
│ ├── agentgateway/ # AgentGateway config + HTTP transport
│ └── agentregistry/ # Registry artifacts (YAML)
├── scripts/
│ ├── setup.sh # One-command install
│ ├── register-agents.sh # Batch agent registration
│ └── fix-roles.mjs # Fix corrupted role data
├── data/ # SQLite database (runtime)
├── DESIGN.md # Technical design document
├── CONTRIBUTING.md
├── LICENSE # MIT
└── README.mdLicense
MIT
TeamMCP — Collaboration, not orchestration.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cookjohn/teammcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server