mcp-blackboard
@peekwez
An MCP server for managing context and memory for a multi-agent task execution based on agentic directed acyclic graph
Overview
What is mcp-blackboard?
mcp-blackboard is a lightweight blackboard memory server for the Model Context Protocol (MCP). It exposes an HTTP/SSE interface that lets multiple AI agents store, retrieve, and share context and results—documents, embeddings, structured objects—on a shared “blackboard.” It is designed for MCP‑compatible workflows where planner, researcher, extractor, analyzer, writer, editor, and evaluator agents collaborate without reinventing persistence.
How to use mcp-blackboard?
Clone the repository, create an isolated environment with uv venv && uv sync, copy the sample env (samples/env-sample.txt) to .env, fill in credentials, then run uv run src/main.py. Alternatively, use docker compose up -d to start the FastAPI+SSE service along with a Redis instance. The API listens on http://127.0.0.1:8000 by default.
Key features of mcp-blackboard
- Unified memory for agent context across workflows
- Filesystem abstraction via fsspec with optional drivers (S3, Azure Blob, GCS, etc.)
- Real‑time updates through Server‑Sent Events (SSE)
- Pluggable house‑keeping scheduler for pruning expired keys
- Container‑ready with deterministic builds and a slim Docker image (<90 MB)
Use cases of mcp-blackboard
- Multi‑agent collaboration sharing plans, results, and context on a single blackboard
- Tracking plan steps and marking them as completed across agents
- Persisting and retrieving agent outputs (text, dicts) for later reuse
FAQ from mcp-blackboard
What does mcp-blackboard do that alternatives don’t?
It provides a lightweight, unified memory layer specifically designed for MCP‑based multi‑agent workflows, with built‑in SSE real‑time updates and a pluggable filesystem backend (S3, Azure Blob, GCS, SFTP, SMB, etc.) without requiring ad‑hoc scratch files or transient Redis keys.
What are the runtime dependencies?
Python 3.12+ is required. The server uses FastAPI, APScheduler, and fsspec. A Redis instance is started via Docker Compose for in‑memory key, score, and embedding storage.
Where does the data live?
Data is stored in Redis by default. The filesystem abstraction (fsspec) also allows persisting context and results on remote storage such as S3, Azure Blob, GCS, ABFS, SFTP, or SMB, configured via environment variables.
What transport and authentication are supported?
The server uses HTTP with SSE for event transport (configurable via MCP_TRANSPORT as sse or poll). Authentication is not explicitly documented in the README; credentials for remote filesystems are provided via environment variables (e.g., AWS_ACCESS_KEY_ID, AZURE_STORAGE_ACCOUNT).
What are the known limits?
The README does not list explicit limits. The server relies on Redis for in‑memory storage and may be constrained by available memory and Redis configuration. Stale files can be removed via the remove_stale_files tool (default max age 3600 seconds).