mcpField
F
FastMCP Todo Server

FastMCP Todo Server

ローカル
madnessinteractive.cc生産性101 日前に更新

FastMCP Todo Server について

FastMCP Todo Serverは、プロジェクト横断でタスクや知識を管理するPython製MCPサーバーです。セッションの系譜、目標管理、監査ログ、セマンティック検索も備えています。

主な機能

  1. 01プロジェクト横断のタスク管理
  2. 02学びとナレッジカードの永続化
  3. 03AIセッションの系譜追跡
  4. 04目標とタスクチェーンの進捗管理
  5. 05セマンティック検索とコンテキスト取得
  6. 06ツール構成の切り替え

活用シーン

  1. 01複数プロジェクトのエージェントタスク調整
  2. 02作業セッション間で学びを引き継ぐ
  3. 03複数段階のプロジェクト目標を追跡
  4. 04タスク開始前に関連コンテキストを取得

MCP 対応

タスク、知識、セッション、目標、検索、管理のツールをMCPクライアントに提供します。ツール構成を選び、登録する機能を制御できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Omnispindle

意図的に、見事なまでに間違った方向へ進んだ todo システムです。

Omnispindle は Madness Interactive エコシステムの連携を支える中核です。38 個のツールを備えた Python FastMCP サーバーで、AI エージェントがタスクを管理し、ナレッジを記録し、セッションを調整し、壮大な目標(クエスト)を追跡し、標準化された単一のインターフェースからワークショップ全体を操作できます。PyPI パッケージとして提供されています。Auth0 と連携済みです。MCP 設定が存在する場所ならどこでも動作します。

始まりは「todo をきちんとやろう」でした。そして、複数のプロジェクトからなる AI 支援開発ラボの中枢神経系になりました。どちらも問題ありません。


実際にできること

Todo 管理 — ほかのあらゆる機能を可能にする、地味な部分です。エージェントは、エコシステム内のあらゆるプロジェクトで、完全なメタデータ、優先度、対象エージェントの追跡、変更検知を含めて、タスクの作成、検索、更新、完了、監査を行えます。

ナレッジの記録 — 学んだ教訓を、言語、トピック、タグのメタデータとともに保存します。正規表現、テキスト、ベクトル埋め込みで検索できます。会話が終わっても、組織の記憶は失われません。

セッションの追跡 — Inventorium の AI 作業セッションを分岐、作成、todo へのリンク付けができ、完全な系譜ツリーをたどれます。すべての作業スレッドに親と系譜があります。

セマンティック検索 — find_relevant は、キーワードだけでなく意味に基づいて、ベクトル埋め込みを使って todo や教訓を表示します。get_context_bundle を使うと、エージェントはプロジェクト全体の状況を 1 回の呼び出しで把握できます。


インストール

pip install omnispindle

インストール後に使用できる CLI コマンド:

  • omnispindle-stdio — Claude Desktop 用の MCP stdio サーバー
  • omnispindle / omnispindle-server — 認証済みエンドポイント用の HTTP ウェブサーバー
Claude Desktop(設定不要)

claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "omnispindle": {
      "command": "omnispindle-stdio",
      "env": {
        "OMNISPINDLE_MODE": "api",
        "OMNISPINDLE_TOOL_LOADOUT": "basic",
        "MCP_USER_EMAIL": "[email protected]"
      }
    }
  }
}

最初のツール呼び出し時に、ブラウザーが開いて Auth0 へのログインを求められます。トークンはローカルに保存されます。以上です。

開発
git clone https://github.com/DanEdens/Omnispindle.git
cd Omnispindle
pip install -r requirements.txt
python -m src.Omnispindle.stdio_server

ツール

全 38 個のツールを 7 つのカテゴリに分類しています。OMNISPINDLE_TOOL_LOADOUT を使って、利用できる機能とエージェントのトークン予算を調整できます。

Todo 管理(9 個のツール)
ツール機能
add_todoプロジェクト、優先度、対象エージェント、メモ、メタデータを指定してタスクを作成します
query_todosMongoDB 形式のフィルタークエリ。プロジェクション、上限、オフセット、変更検知用の since、依存関係サブグラフのたどり直しに使う graph_root を指定できます
update_todo任意のフィールドをパッチします。メタデータはディープマージされます。依存関係のリンク付け用に、配列フィールド(例:metadata.blockers)で $push/$pull をサポートします
delete_todoタスクを削除します
get_todoID を指定して単一のタスクを取得します
complete_todo任意のコメントを付けてレビュー待ちにし、監査ログに記録します。ステータスは completed ではなく review に設定されます
list_todos_by_statusステータスで絞り込みます:pending initial in_progress blocked review completed
search_todosトークン化された複数語のあいまいテキスト検索を行います
list_project_todos指定したプロジェクトの最近のタスクを表示します
ナレッジ/教訓(7 個のツール)
ツール機能
add_lesson言語、トピック、タグを指定して教訓を記録します
get_lessonID を指定して取得します
update_lesson教訓の内容またはメタデータにパッチを適用します
delete_lesson削除します
search_lessons教訓の各フィールドを対象にテキスト検索します
grep_lessons正規表現パターンで検索します
list_lessonsすべての教訓を一覧表示します。概要用の簡易モードもあります
Inventorium セッション(8 ツール)
ツール機能
inventorium_sessions_listセッションを一覧表示します。プロジェクトで絞り込むこともできます
inventorium_sessions_getID を指定してセッションを取得します
inventorium_sessions_create新しい AI 作業セッションを開始します
inventorium_sessions_spawn親セッションから子セッションを作成し、todo にリンクします
inventorium_sessions_forkメッセージを引き継ぐかどうかを指定して、セッションをフォークします
inventorium_sessions_genealogyセッションの祖先・子孫をすべてたどります
inventorium_sessions_treeプロジェクトのセッションツリーを視覚的に表示します
inventorium_todos_link_sessiontodo をセッションにリンクします
クエストシステム(5 ツール)
ツール機能
create_quest大きな目標をまとめるコンテナを作成します(Quest → Chains → Todos)。複数ステップの目標には add_todo の代わりに使用します
check_quest進捗レポート:完了率、チェーンごとのステータス、次のアクション、ブロッカーを表示します。エージェントの状況把握に役立つツールです
list_questsステータスやプロジェクトで絞り込んでクエストを一覧表示します
link_quest既存の todo を後からクエストチェーンに追加します(必要に応じてチェーンを作成します)
update_questクエストのフィールド(name、description、status、success_criteria、metadata)を更新します
コンテキストと検索(4 ツール)
ツール機能
get_context_bundle1 回の呼び出しで、最近の todo、教訓、セッション状態、プロジェクト統計をエージェントの作業コンテキスト向けに取得します
find_relevanttodo と教訓を対象に、意味的類似性で検索します。関連性のしきい値を超えるものがない場合は、正直に空の結果を返します。正規表現によるノイズの多いフォールバックはありません
preflight_ragタスク開始前の教訓チェックです。作業開始前に呼び出し、過去の解決策と落とし穴を分類します
write_agent_journal / read_agent_journalエージェント用の永続的なジャーナルです。他のエージェントが読めるメモを残し、エージェント間の連携に使います
システム/管理(5 ツール)
ツール機能
query_todo_logs監査ログを照会します。タイプ、プロジェクト、日付範囲で絞り込めます
list_projectsファイルシステムから既知のプロジェクトを列挙します
explain / add_explanationトピック解説システムです。永続的なナレッジカードを管理します
point_out_obvious皮肉の度合いを設定して所見を記録します。自動実行中に既知の問題を示すのに便利です
カスタムコード(1 ツール)
ツール機能
bring_your_ownPython、JavaScript、またはシェルの関数を、実行時にライブ MCP ツールとして注入します

ツールの構成

OMNISPINDLE_TOOL_LOADOUT を設定して、登録するツールを制御します。

構成ツール数用途
full38すべて
basic15todo の基本的な CRUD、コンテキスト、クエストシステム
minimal4追加、照会、取得、完了済みとしてマーク
lessons8ナレッジ管理のみ
admin16管理タスクとセッション管理
write_only6作成/更新/削除のみ
read_only16照会/取得のみ
lightweight13トークン効率に優れた基本機能
agent_preflight6セッション開始時:コンテキストバンドル、RAG チェック、todo 操作
refine13todo の拡充:監査と不足しているメタデータの補完

動作モード

OMNISPINDLE_MODE で設定します。

  • api — madnessinteractive.cc/api への HTTP 呼び出しです。ローカルデータベースは不要です。クラウドネイティブ環境やマルチユーザー構成に最適です。
  • hybrid (デフォルト) — API を優先し、MongoDB をフォールバックとして使用します。ネットワークが利用できない場合も信頼性を保てます。
  • local — MongoDB への直接接続のみを使用します。オフライン開発に適しています。
  • auto — 両方の速度を測定し、より速い方を選択します。

認証

ゼロコンフィグのデバイスフロー:初回のツール呼び出し時に、Auth0 ログイン用のブラウザーウィンドウが開きます。トークンはローカルに保存されます。それ以降の呼び出しは、設定なしで認証されます。

手動でのトークン設定(任意):

python -m src.Omnispindle.token_exchange

環境変数:

  • MADNESS_AUTH_TOKEN または AUTH0_TOKEN — Auth0 デバイスフローで取得した JWT
  • MCP_USER_EMAIL — ユーザーごとのデータ分離に必須
  • MADNESS_API_URL — API のベース URL を上書きします(デフォルト:https://madnessinteractive.cc/api)

すべてのデータは、データベースレベルでユーザーごとにスコープが設定されています。あなたの ToDo は、あなた専用です。


設定

# Operation mode
OMNISPINDLE_MODE=hybrid          # api | hybrid | local | auto
OMNISPINDLE_TOOL_LOADOUT=basic   # see loadouts table above
OMNISPINDLE_FALLBACK_ENABLED=true
OMNISPINDLE_VALIDATE_PROJECT_NAMES=false  # optional: enable slower DB-backed project validation

# Authentication
MADNESS_AUTH_TOKEN=<jwt>
[email protected]

# Local/hybrid database
MONGODB_URI=mongodb://localhost:27017
MONGODB_DB=swarmonomicon

# Real-time events
MQTT_HOST=localhost
MQTT_PORT=1883

エコシステム

Omnispindle は AI インターフェースレイヤーです。ワークショップの他の構成要素は次のとおりです。

Inventorium — React ウェブダッシュボードと SwarmDesk 3D 空間ワークスペースです。人間が使用します。REST API を介して ToDo とセッションを直接読み込みます。MCP は使用しません。MCP は AI エージェント専用です。ボタンをクリックしているなら、Inventorium を使っています。エージェントなら、MCP ツールを呼び出しています。

cartogomancy — JS/TS コードベース分析ツール(npm install -g @madnessengineering/cartogomancy)です。任意の JavaScript または TypeScript プロジェクトを指定すると、構造、複雑さ、git blame、相互参照を網羅した JSON マップが得られます。そのマップを SwarmDesk に渡すと、コードベースが歩き回れる 3D の街になります。

SwarmDesk — Inventorium 内の 3D 空間ビジュアライゼーションレイヤーです。ToDo、セッション、cartogomancy のコードマップを、探索可能なアーキテクチャとして描画します。プロジェクトをリストではなく、場所として表現します。

MadnessVR — SwarmDesk の Quest 2 VR 版です。ヘッドセットを装着して、コードベースを実際のジオメトリとして歩き回ります。これはロードマップに載っており、リリースノートにはまだありません。ただし、計画は存在し、詳細まで詰められています。

MadQTT — ワークショップの MQTT + MongoDB イベントストリームをリアルタイムで表示するターミナル TUI(pip install madqtt)です。あらゆるマシンのエージェントセッション、ツール呼び出し、失敗を、情報の洪水ではなくリアルタイムで読み取れます。

Madness Desktop — ワークショップと連携する GitHub Desktop のフォークです。組み合わせ可能な git-hook ロードアウト、マシン間で共有される MQTT コミットイベント、git クライアント内に表示されるワークショップの ToDo を備えています。

Swarmonomicon — 中核となるデータベースレイヤーです。MongoDB の swarmonomicon データベースです。永続化されるデータはすべてここに保存されます。

アーキテクチャのルール
UI (Inventorium, forms, dashboards) → REST API → Database
AI agents (Claude, any MCP client) → MCP tools → Backend → Database

UI を MCP 経由でルーティングしてはいけません。AI エージェントから REST API を直接呼び出してはいけません。この分離は意図的であり、アーキテクチャを支える重要な前提です。


開発

# Tests
pytest tests/

# Stdio server (Claude Desktop)
python -m src.Omnispindle.stdio_server

# Web server
python -m src.Omnispindle

# Check tool count
python -c "from src.Omnispindle.tool_loadouts import _BASE_LOADOUTS; print(len(_BASE_LOADOUTS['full']), 'tools in full loadout')"
PyPI への公開
# Build and check
python -m build
python -m twine check dist/*

# Publish
python -m twine upload dist/*

プライバシーとセキュリティ

このリポジトリには、エコシステム向けの Auth0 設定とインフラストラクチャ・アズ・コードが含まれています。学習やフォークのためにオープンソースとして公開していますが、そのままデプロイすることを想定したものではありません。

実際に自分の環境で実行する場合は、次の手順に従ってください。

  1. フォークします
  2. すべての認証プロバイダーと認証情報を置き換えます
  3. 独自のドメインとデータベースを指定します
  4. ツールの権限を確認します(デフォルトでは寛容な設定です)

これは私たちのラボで稼働しているシステムです。あなたの環境では、あなた自身に合ったものにしてください。


哲学

現在利用できる機能:

  • AI エージェント向けの ToDo 管理 — 堅牢で、監査済み、ユーザーごとに分離
  • プロジェクトをまたいだ永続的なナレッジの記録
  • 系譜を完全に追跡できるセッション管理
  • ベクトル埋め込みによるセマンティック検索
  • セットアップガイドが不要なゼロコンフィグの Auth0

今後の予定:

  • MadnessVR:Quest 2 で動作する SwarmDesk
  • Terraria 風のインベントリメカニクスを通じたプロンプトエンジニアリングの指導
  • cartogomancy → SwarmDesk → VR をつなぐ、一貫したパイプライン

私たちは慎重にコードを書きます。実用性があるなら、限界を押し広げることもいといません。


「過剰設計? そうかもしれません。志が低い? そんなことは決してありません。」

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。