Install
$ agentstack add mcp-mnorbert87-agent-dashboard-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
agent-dashboard-mcp
An MCP server that exposes a self-hosted multi-agent dashboard's HTTP API as first-class tools. Instead of teaching every agent to curl an endpoint and juggle a bearer token, you connect them to this MCP server once and they get typed tools for memory, kanban, inter-agent messaging, daily logs, and bot status.
Built for a multi-agent assistant setup where several agents (a lead, a reviewer, a worker, ...) share a common SQLite-backed dashboard and need to read and write that shared state reliably.
Why an MCP server instead of curl
When agents call a REST API by shelling out to curl, they make avoidable mistakes: wrong header, forgotten token, malformed JSON, no schema. Wrapping the same API as MCP tools gives each call a name, typed arguments, and a docstring the model can read — so the agent picks the right tool with the right fields instead of reconstructing a request from memory.
Tools
Memory
memory_search(query, agent, tier, limit, mode)— hybrid semantic + keyword searchmemory_save(content, agent, tier, keywords)— save to a hot/warm/cold/shared tier
Kanban
kanban_list(status, priority, assignee, limit)kanban_create(title, description, status, priority, assignee)kanban_update(card_id, ...)/kanban_move(card_id, status, sort_order)kanban_archive(card_id)kanban_comment(card_id, author, content)/kanban_comments_list(card_id)
Inter-agent messaging
message_send(to, content, from_agent)messages_list(agent, status, limit)message_mark_done(message_id, result)
Daily log & agents
daily_log_append(content, agent)agents_list()
Bot ops (local)
bot_tmux_status(session_name)— is a tmux session alivebot_log_tail(log_path, lines)— tail a bot's log file
Configure
Copy .env.example to .env and set:
DASHBOARD_API_URL=http://localhost:3420 # your dashboard API base URL
DASHBOARD_TOKEN=... # bearer token, or:
DASHBOARD_TOKEN_PATH=.dashboard-token # path to a file with the token
The token is read once at startup (env first, then file fallback) and sent as Authorization: Bearer on every request.
Run
With uv:
uv run server.py
Or register it with an MCP client (e.g. Claude Code / Claude Desktop) in your MCP config:
{
"mcpServers": {
"agent-dashboard": {
"command": "uv",
"args": ["--directory", "/path/to/agent-dashboard-mcp", "run", "server.py"],
"env": {
"DASHBOARD_API_URL": "http://localhost:3420",
"DASHBOARD_TOKEN_PATH": "/path/to/.dashboard-token"
}
}
}
}
Expected API shape
The server targets a REST API with these routes (adapt the wrapper if yours differs):
| Tool group | Method + path | |------------|---------------| | memory | GET/POST /api/memories | | kanban | GET/POST /api/kanban, PUT /api/kanban/:id, POST /api/kanban/:id/move\|archive\|comments | | messages | GET/POST /api/messages, PUT /api/messages/:id | | daily log | POST /api/daily-log | | agents | GET /api/agents |
bot_tmux_status and bot_log_tail run locally (tmux / filesystem), not over HTTP.
License
MIT — see [LICENSE](LICENSE).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Mnorbert87
- Source: Mnorbert87/agent-dashboard-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.