mcp-blackboard
mcp-blackboard is a lightweight blackboard memory server for the Model Context Protocol (MCP), providing a shared space for AI agents to store and retrieve context and results.
mcp-blackboard
Version 0.1.0 â A lightweight blackboard memory server for the Model Context Protocol (MCP)
mcp-blackboard
exposes a simple HTTP/SSE interface that lets multiple AI agents store, and retrieve context and resultsâdocuments, embeddings, structured objects, and moreâon a shared âblackboardâ.
It is designed to be dropped into any MCPâcompatible workflow so your planner, researcher, extractor, analyzer, writer, editor, and evaluator agents can collaborate without reinventing persistence.
Available Tools
MCP Tools
The following tools are available in mcp-blackboard
:
-
save_plan(plan_id: str, plan: dict | str) -> str
Save a plan to the shared state. -
mark_plan_as_completed(plan_id: str, step_id: str) -> str
Mark a plan step as completed in the shared state. -
save_result(plan_id: str, agent_name: str, step_id: str, description: str, result: str | dict) -> str
Save a result to the shared state. -
save_context_description(plan_id: str, file_path_or_url: str, description: str) -> str
Write a context description to the shared state. -
get_blackboard(plan_id: str) -> str | dict | None
Fetch a blackboard entry for a plan. -
get_plan(plan_id: str) -> str | dict | None
Fetch a plan from the shared state. -
get_result(plan_id: str, agent_name: str, step_id: str) -> str | dict | None
Fetch a result from the shared state. -
get_context(file_path_or_url: str, use_cache: bool = True) -> str
Read and convert media content to Markdown format.
File Cache Management Scheduler
remove_stale_files(max_age: int = 3600) -> None
Remove files older than the specified age from the cache directory.
â¨Â Highlights
Capability | Why it matters |
---|---|
Unified memory | One source of truth for agent contextâno need for adâhoc scratch files or transient Redis keys. |
Filesystem abstraction | Built on fsspec with optional drivers for S3, Azure Blob, GCS, ABFS, SFTP, SMB, and more. |
Realâtime updates | ServerâSent Events (SSE) stream context changes to connected agents instantly. |
Houseâkeeping scheduler | Pluggable cron jobs automatically prune expired keys and refresh embeddings. |
Containerâready | Deterministic builds via uv lockfile; the slim Docker image is <90Â MB. |
đ Quick Start
1. Local dev environment
git clone https://github.com/yourâorg/mcp-blackboard.git
cd mcp-blackboard
# Create an isolated env & install locked deps
uv venv
uv sync
# Copy the sample env and fill in credentials
cp samples/env-sample.txt .env
# Run the server (FastAPI)
uv run src/main.py
The API listens on http://127.0.0.1:8000
by default (see src/server.py
).
2. Docker Compose
docker compose up -d
Compose starts:
- mcp-blackboard â FastAPI+SSE service
- redis â inâmemory store for keys, scores, embeddings
âď¸Â Configuration
All settings are environmentâdriven:
Variable | Purpose |
---|---|
OPENAI_API_KEY | Embeddings / LLM calls (optional) |
MCP_TRANSPORT | Event transport (sse or poll ) |
REDIS_HOST , REDIS_PORT , REDIS_DB | Redis connection |
AZURE_STORAGE_ACCOUNT / AWS_ACCESS_KEY_ID / ⌠| Credentials for remote filesystems |
(see samples/env-sample.txt
for the full list)
đď¸Â Project Layout
.
âââ src/
â âââ common.py # Config loader & helpers
â âââ models.py # Pydantic data models
â âââ server.py # FastAPI + APScheduler
â âââ tools.py # Context ingestion utilities
âââ samples/ # Env template & demo assets
âââ tests/ # pytest suite
âââ Dockerfile # Production image
âââ docker-compose.yml # Local stack
đ§ŞÂ Testing
pytest -q
đ¤Â Contributing
- Fork and create a feature branch
- Use conventional commits (
feat:
,fix:
âŚ) - Run
make lint test
locally - Open a PRâsquash merge once approved
đ License
Distributed under the MIT License â see for details.
Š 2025 Kwesi Apponsah
Related MCP Servers
View all knowledge_and_memory servers âgit-mcp
by idosal
GitMCP is a free, open-source, remote Model Context Protocol (MCP) server that transforms GitHub projects into documentation hubs, enabling AI tools to access up-to-date documentation and code.
Knowledge Graph Memory Server
by modelcontextprotocol
A basic implementation of persistent memory using a local knowledge graph, allowing Claude to remember information about the user across chats.
mcpdoc
by langchain-ai
MCP LLMS-TXT Documentation Server provides a structured way to manage and retrieve LLM documentation using the Model Context Protocol.
rust-docs-mcp-server
by Govcraft
The Rust Docs MCP Server provides an up-to-date knowledge source for specific Rust crates, enhancing the accuracy of AI coding assistants by allowing them to query current documentation.
mindmap-mcp-server
by YuChenSSR
A Model Context Protocol (MCP) server for converting Markdown content to interactive mindmaps.
algorand-mcp
by GoPlausible
This is a Model Context Protocol (MCP) implementation for Algorand blockchain interactions, providing a server package for blockchain interactions and a client package for wallet management and transaction signing.
mcp-obsidian
by MarkusPfundstein
MCP server to interact with Obsidian via the Local REST API community plugin.