Fermi
Fermi
Cloudflare Workers上で単一のMCPサーバーとして構築された、ポータブルなAIコントロールプレーンです。Claude.ai、Claude Desktop、Claude Code、Cursor、ChatGPTに接続すると、それらは同じメモリ、同じ権限モデル、同じスキルを共有します。無人チャネル(Telegram、Slack)では、Anthropic APIに対して独自の推論ループを実行します。
1つのサーバー、1つのメモリ、1つの権限スパイン — ホストが変わっても、エージェントは変わりません。
アーキテクチャの詳細:
docs/ARCHITECTURE.md。 セットアップと日常的な使い方:docs/USAGE.md。
機能
クロスホストメモリ — 事実、好み、イベントをD1に保存し、接続された任意のホストから呼び出せます。夜間ジョブがセッションを要約し、埋め込み類似度でほぼ同一のメモリを重複排除し、古いものを減衰させます。
スキル — バージョン管理された
SKILL.mdドキュメントとしてR2に保存され、メタデータはD1に保存される手順です。直接作成するか、メモリから昇格させることができます。週次ジョブが最近のセッション要約からドラフトスキルを提案し、あなたが洗練させます。権限スパイン — すべてのツールはスコープとリスクレベルを宣言します。高リスクツールは2段階の承認トークンを必要とします。変更を加えるツールはプランモードでブロックされます。シェルコードはブロックリストに対してスクリーニングされます。すべての呼び出しはD1に監査されます。
フック — ツールの前に実行される宣言的なグロブマッチの拒否ゲートで、
deny > ask > allowの優先順位で評価されます(現在はdenyが強制される決定です)。統合検索 — ケイパビリティ、スキル、メモリ、メッセージ履歴に対するReciprocal Rank Fusion(k=60)で、キーワード、FTS5、Vectorizeのセマンティックレーンをブレンドします。
コードモード —
executeツールは、分離されたWorkerサンドボックスでJavaScriptを実行し、ケイパビリティはcodemode.<name>(...)としてアクセス可能です。アウトバウンドHTTPは、シークレットを注入し、シークレットごとのホスト許可リストを強制するゲートウェイを経由します。デュアルレーンブラウザ — スクレイピング用のヘッドレスクラウドレーン(Cloudflare Browser Rendering)と、実際のハードウェアフィンガープリントと認証済み状態を必要とするサイト用のヘッド付きローカルレーン(Cloudflare Tunnel上のmacOSブリッジ)。
チャネルとサブエージェント — 独自の推論ループを持つTelegramとSlackのウェブフック。
team_spawnはロールプロンプトのサブエージェントを実行します。ライブキャンバス — Durable Object + WebSocket上のエージェント駆動UIで、ターンとホストをまたいで永続化されます。
Related MCP server: Memclaw
アーキテクチャ概要
MCP Hosts ─┐
Channels ──┼──► Cloudflare Worker ──► D1 · R2 · KV · Workers AI · Vectorize
Cron ──────┘ (FermiMCP + 3 DOs)Worker(
src/index.ts)は、MCP(/mcp、/sse)、チャネル、OAuth、/apps/*ホスト、キャンバスWebSocket、cronディスパッチをルーティングします。FERMI_AUTH_ENABLEDがtrueの場合、OAuthプロバイダーがMCPトランスポートをゲートします。それ以外の場合はオープンです。Durable Objects:
FermiMCP(エージェント、SQLiteバックアップ)、LiveCanvasDO、SandboxStorageDO、BrowserSessionDO。ストレージ: D1(メモリ、セッション/メッセージ + FTS5、監査、フック、スキルメタデータ、シークレットメタデータ、OAuth)、R2(スキル、ファイル、アプリ)、KV(設定、承認トークン)、Workers AI(埋め込み + 要約)、Vectorize(セマンティックインデックス)。
完全な図とデータフローについては、docs/ARCHITECTURE.mdを参照してください。
2つのツールサーフェス
Fermiは2つのレイヤーでツールを公開しており、それらは意図的に同一ではありません:
サーフェス | 呼び出し元 | 数 |
MCPツール | 接続されたホストとチャネル | デフォルトで約60、macOSブリッジ有効時は約85 |
サンドボックスケイパビリティ |
| 39( |
グループ別のMCPツール(ホスト向け):
グループ | ツール |
メモリ |
|
スキル |
|
検索 |
|
コードモード |
|
ファイルシステム |
|
ブラウザ(クラウド) |
|
ブラウザセッション |
|
キャンバス |
|
プランモード |
|
チーム |
|
フック |
|
シークレット |
|
メタ |
|
コネクタ |
|
パッケージ |
|
リトリーバー |
|
OAuth |
|
macOSブリッジ(オプション) | 25の |
クイックスタート
git clone <repo-url> fermi && cd fermi
bun install
wrangler login
chmod +x bootstrap.sh
./bootstrap.sh my-instance-name # provisions D1, R2, KV, Vectorize; writes wrangler.jsonc
cd packages/worker
wrangler secret put FERMI_SECRETS_KEY # required: encrypts stored secrets
wrangler secret put FERMI_OWNER_SECRET # owner password for the OAuth consent screen
wrangler secret put FERMI_BEARER_TOKEN # gates the admin HTTP endpoints
bun run migrate:remote
wrangler deploy --var FERMI_AUTH_ENABLED:true⚠️
FERMI_AUTH_ENABLED:trueを設定してデプロイしてください(またはwrangler.jsoncのvarsに設定)。これがないと、MCPトランスポートは公開workers.devURL上で完全に認証なしになります。見つけた人は誰でもあなたのメモリを読み、保存されたシークレットを解決し、コードを実行できます。オープンモードはwrangler dev専用です。
curl -X POST https://<worker>/admin/seed-skills -H "Authorization: Bearer $FERMI_BEARER_TOKEN"
curl https://<worker>/capabilities -H "Authorization: Bearer $FERMI_BEARER_TOKEN"認証モードやチャネル設定を含む完全な手順は、docs/USAGE.mdにあります。
前提条件
Wrangler(
bun add -g wrangler)Workers有料プラン(月額$5)のCloudflareアカウント — Durable Objects、Browser Rendering、Vectorizeに必要
開発
bun run dev # wrangler dev --local
bun run check # Biome lint + format check
bun run format # auto-format
bun run migrate:local # apply D1 migrations locally
bun run test # vitest (worker package)設定
シークレットはwrangler secret putで設定します(値は対話的に入力):
シークレット | 必須 | 目的 |
| はい | シークレットストアの暗号化キー |
|
| OAuth同意画面と |
| 管理者HTTPエンドポイント用 |
|
| チャネル / | 無人使用のための推論ループ |
| 任意 | Telegramチャネル |
| 任意 | Slackチャネル |
| 任意 | ローカルmacOSブリッジ( |
認証モードはFERMI_AUTH_ENABLED変数で制御されます。trueに設定すると、MCPトランスポートがOAuthの背後に置かれます — すべてのデプロイインスタンスで推奨されます。未設定のままにすると、/mcpと/sseは認証なしで提供され、これはローカルのwrangler devにのみ適しています。
OAuthモードでは、接続するホストが自己登録し、Fermiの同意画面に到達します。この画面はオーナーシークレットと(totp_setupで登録後)TOTPコードを検証します:

ホストの接続
Claude.ai(ウェブ)
設定 → コネクタ → カスタムコネクタを追加、URL https://<worker>/sse。
Claude Desktop / Cursor / VS Code
{ "mcpServers": { "fermi": { "url": "https://<worker>/mcp" } } }Claude Code
claude mcp add fermi --transport http https://<worker>/mcpコスト
シングルユーザーで、月額約$8〜20を見込んでください:Workers有料プラン($5)に加え、変動するBrowser RenderingとAnthropic APIの使用量。このボリュームではD1/R2/KV/Vectorizeは無料枠に近いままです。MCPホストは独自の推論に支払います。Fermiは無人チャネルとteam_spawnでのモデル呼び出しにのみ費用がかかります。
ライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP memory and agent control plane for durable conversations, jobs, and operations.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Manage portable AI agent playbooks, Agent Skills, MCP configurations, personas, and memory.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceShared memory for any MCP-compatible AI, enabling cross-platform knowledge persistence and retrieval so users' context, preferences, and project info follow them everywhere.3AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceGoverned shared memory platform for AI agents and agent fleets. Provides persistent memory, cross-agent knowledge sharing, permissions, audit trails, and multi-tenant isolation through a Model Context Protocol (MCP) server.4470Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA portable MCP server providing a shared intelligent memory system for any MCP-compatible AI tool, enabling storage, retrieval, extraction, and governance of memories across sessions.10MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that provides AI agents with persistent memory, cross-agent sharing, and context management, enabling them to remember conversations, track complex tasks, and evolve skills across tools.2MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abel30567/fermi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server