blackboard
This MCP server enables collaborative planning and task management on a shared Markdown-based blackboard, allowing multiple LLMs and humans to create, claim, update, and track tasks with audit events and role-based access.
README
LLM Collaboration Blackboard
llm_collaboration_blackboard_spec_final_v1.0_ja.md v1 の実装。
LLM Collaboration Blackboard は、複数の LLM と人間が同じ作業対象を共有するための、Markdown を主資料とした協調基盤です。Plan、タスク、イベント、メモリ、状態を一つの Blackboard に集約し、MCP サーバーやローカルダッシュボードから操作できます。
このプロジェクトの狙いは、チャットログのように散らばった情報ではなく、検証可能な Plan とイベントとして作業の流れを残すことです。これにより、誰が何を担当し、どのタスクが進行中で、どの変更が行われたかを追跡しやすくなります。

何ができるか
- Markdown と YAML Front Matter を中心にした Plan 管理
- タスクの claim / update / cancel / recover を通じた状態遷移管理
- 変更ごとの監査イベントの記録と再送
- Role に応じた操作制限(Role は自己申告ベース)
- ローカルダッシュボードによる Plan と進捗の可視化
典型的な使い方
- まず Plan を作成し、タスクを追加します。
- Researcher / Implementer / Reviewer の役割を割り当てます。
- 必要なタスクを claim して作業を開始します。
- 状態を update し、必要に応じて blocked / recover で再開・停止を切り替えます。
- Event と Plan を通じて、作業履歴や判断の背景を追えるようにします。
このような流れは、複数の LLM を並行して動かす実験、共同開発、レビュー付きの実装フローに向いています。
クイックスタート
1. 前提条件
- Python 3.10 以上(3.13 推奨)
- Windows / macOS / Linux で利用可能
2. インストール
py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .[dev]
3. Blackboard ルートを用意する
$env:BLACKBOARD_ROOT = "C:\path\to\blackboard"
4. サーバーを起動する
.\.venv\Scripts\blackboard-server
5. ダッシュボードを起動する(任意)
.\.venv\Scripts\blackboard-dashboard --config .\dashboard.yaml
ブラウザで http://127.0.0.1:8765/ を開くと、Plan とタスクの状態を確認できます。

MCP で使う
このリポジトリでは、MCP 経由で Blackboard を操作できます。まずリポジトリルートの .mcp.json.example を .mcp.json にコピーし、絶対パスに置き換えてください。
{
"mcpServers": {
"blackboard": {
"command": "<ABSOLUTE_PATH_TO_THIS_REPO>/.venv/Scripts/python.exe",
"args": ["-m", "blackboard.server"],
"env": {
"BLACKBOARD_ROOT": "<ABSOLUTE_PATH_TO_THIS_REPO>/demo_blackboard"
}
}
}
}
代表的なツールには次のようなものがあります。
- read_plan: Plan の内容と実行可能タスクを取得
- claim_task: タスクを claim して作業を開始
- update_task: タスク状態を done / blocked / cancelled に更新
- add_task / edit_task / cancel_task: Plan を更新
- recover_task: blocked タスクを pending に戻す
- read_memory / write_memory: メモリ文書を扱う
- read_state / write_state: 状態文書を扱う
プロジェクト構成
- src/blackboard: サーバー実装、モデル、権限制御、ダッシュボード実装
- scripts: デモや補助スクリプト
- blackboard: 例示・実行時に使う Blackboard データ
- dashboard.yaml: ローカルダッシュボード設定サンプル
開発
開発ルールやコミット方針は CONTRIBUTING.md を参照してください。
.\.venv\Scripts\python.exe -m pytest
.\.venv\Scripts\python.exe -m ruff check src tests scripts
ライセンス
このプロジェクトは MIT License のもとで公開されています。詳細は LICENSE を参照してください。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.