Skip to main content
Glama

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)
  • Workersrc/index.ts)は、MCP(/mcp/sse)、チャネル、OAuth、/apps/*ホスト、キャンバスWebSocket、cronディスパッチをルーティングします。FERMI_AUTH_ENABLEDtrueの場合、OAuthプロバイダーがMCPトランスポートをゲートします。それ以外の場合はオープンです。

  • Durable Objects: FermiMCP(エージェント、SQLiteバックアップ)、LiveCanvasDOSandboxStorageDOBrowserSessionDO

  • ストレージ: D1(メモリ、セッション/メッセージ + FTS5、監査、フック、スキルメタデータ、シークレットメタデータ、OAuth)、R2(スキル、ファイル、アプリ)、KV(設定、承認トークン)、Workers AI(埋め込み + 要約)、Vectorize(セマンティックインデックス)。

完全な図とデータフローについては、docs/ARCHITECTURE.mdを参照してください。

2つのツールサーフェス

Fermiは2つのレイヤーでツールを公開しており、それらは意図的に同一ではありません:

サーフェス

呼び出し元

MCPツール

接続されたホストとチャネル

デフォルトで約60、macOSブリッジ有効時は約85

サンドボックスケイパビリティ

executeに渡されるコード、codemode.<name>(...)として

39(meta_list_capabilities

グループ別のMCPツール(ホスト向け):

グループ

ツール

メモリ

memory_recall, memory_write, memory_update, memory_delete, memory_list_recent

スキル

skill_search, skill_load, skill_set, skill_delete

検索

search(統合RRF), session_search

コードモード

execute

ファイルシステム

fs_read, fs_write, fs_list(R2、スコープチェック済み)

ブラウザ(クラウド)

browser_navigate, browser_screenshot, browser_extract, browser_action

ブラウザセッション

browser_session_launch, browser_session_action, browser_session_close, browser_session_list, browser_session_request_human, browser_session_resume

キャンバス

open_generated_ui, canvas_update

プランモード

session_set_mode, plan_draft, plan_approve

チーム

team_spawn

フック

hooks_register, hooks_list, hooks_test

シークレット

secret_set, secret_list, secret_delete, secret_resolve, secret_approve_host

メタ

meta_list_capabilities, usage_stats

コネクタ

connector_set, connector_get, connector_list, connector_delete

パッケージ

package_set, package_get, package_list, package_delete

リトリーバー

retriever_set, retriever_run, retriever_get, retriever_list, retriever_delete

OAuth

oauth_register_client, oauth_get_client, oauth_list_clients, oauth_delete_client, oauth_authorize_url, totp_setup

macOSブリッジ(オプション)

25のmac_*ツール、MACOS_MCP_URLが設定されている場合のみ登録

クイックスタート

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.jsoncvarsに設定)。これがないと、MCPトランスポートは公開workers.dev URL上で完全に認証なしになります。見つけた人は誰でもあなたのメモリを読み、保存されたシークレットを解決し、コードを実行できます。オープンモードは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にあります。

前提条件

  • Bun

  • Wranglerbun 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で設定します(値は対話的に入力):

シークレット

必須

目的

FERMI_SECRETS_KEY

はい

シークレットストアの暗号化キー

FERMI_OWNER_SECRET

FERMI_AUTH_ENABLED=trueの場合

OAuth同意画面と/apps/*ログインのオーナーパスワード

FERMI_BEARER_TOKEN

管理者HTTPエンドポイント用

/capabilities/cron/capability-reindex/admin/seed-skillsをゲート

ANTHROPIC_API_KEY

チャネル / team_spawn

無人使用のための推論ループ

TELEGRAM_BOT_TOKEN

任意

Telegramチャネル

SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET

任意

Slackチャネル

MACOS_MCP_URL, MACOS_MCP_TOKEN

任意

ローカルmacOSブリッジ(mac_*ツールを有効化)

認証モードはFERMI_AUTH_ENABLED変数で制御されます。trueに設定すると、MCPトランスポートがOAuthの背後に置かれます — すべてのデプロイインスタンスで推奨されます。未設定のままにすると、/mcp/sseは認証なしで提供され、これはローカルのwrangler devにのみ適しています。

OAuthモードでは、接続するホストが自己登録し、Fermiの同意画面に到達します。この画面はオーナーシークレットと(totp_setupで登録後)TOTPコードを検証します:

Fermi OAuth 同意画面

ホストの接続

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

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

0Releases (12mo)
Commit activity

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Governed 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.
    4
    470
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP 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.
    2
    MIT

View all related MCP servers

Latest Blog Posts

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