Skip to main content
Glama

Fermi

一个可移植的 AI 控制平面,构建为 Cloudflare Workers 上的单个 MCP 服务器。将其连接到 Claude.ai、Claude Desktop、Claude Code、Cursor 或 ChatGPT,它们共享相同的记忆、相同的权限模型和相同的技能。对于无人值守的渠道(Telegram、Slack),它针对 Anthropic API 运行自己的推理循环。

一个服务器、一个记忆、一个权限脊柱——主机改变,代理不变。

深入架构:docs/ARCHITECTURE.md。 设置和日常使用:docs/USAGE.md

功能

  • 跨主机记忆 — 事实、偏好和事件存储在 D1 中,可从任何连接的主机中回忆。夜间任务总结会话,通过嵌入相似性去重近乎相同的记忆,并衰减过时的记忆。

  • 技能 — 以版本化的 SKILL.md 文档存储在 R2 中,元数据存储在 D1 中。您可以直接编写它们,或从记忆中提升;每周任务从最近的会话摘要中提出草稿技能供您完善。

  • 权限脊柱 — 每个工具都声明一个范围和风险级别。高风险工具需要两阶段批准令牌。变更工具在计划模式下被阻止。Shell 代码根据阻止列表进行筛选。每次调用都会审计到 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 webhook;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 ObjectsFermiMCP(代理,SQLite 支持)、LiveCanvasDOSandboxStorageDOBrowserSessionDO

  • 存储:D1(记忆、会话/消息 + FTS5、审计、钩子、技能元数据、秘密元数据、oauth)、R2(技能、文件、应用)、KV(配置、批准令牌)、Workers AI(嵌入 + 摘要)、Vectorize(语义索引)。

有关完整图表和数据流,请参阅 docs/ARCHITECTURE.md

两个工具表面

Fermi 在两个层上公开工具,并且它们故意不相同:

表面

调用者

数量

MCP 工具

连接的主机和渠道

默认约 60 个,启用 macOS 桥接后约 85 个

沙箱能力

传递给 execute 的代码,作为 codemode.<name>(...)

39(meta_list_capabilities

按组划分的 MCP 工具(面向主机):

工具

记忆

memory_recallmemory_writememory_updatememory_deletememory_list_recent

技能

skill_searchskill_loadskill_setskill_delete

搜索

search(统一 RRF)、session_search

代码模式

execute

文件系统

fs_readfs_writefs_list(R2,范围检查)

浏览器(云)

browser_navigatebrowser_screenshotbrowser_extractbrowser_action

浏览器会话

browser_session_launchbrowser_session_actionbrowser_session_closebrowser_session_listbrowser_session_request_humanbrowser_session_resume

画布

open_generated_uicanvas_update

计划模式

session_set_modeplan_draftplan_approve

团队

team_spawn

钩子

hooks_registerhooks_listhooks_test

秘密

secret_setsecret_listsecret_deletesecret_resolvesecret_approve_host

meta_list_capabilitiesusage_stats

连接器

connector_setconnector_getconnector_listconnector_delete

package_setpackage_getpackage_listpackage_delete

检索器

retriever_setretriever_runretriever_getretriever_listretriever_delete

OAuth

oauth_register_clientoauth_get_clientoauth_list_clientsoauth_delete_clientoauth_authorize_urltotp_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.jsonc vars 中设置)。否则,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 Paid 计划($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_TOKENSLACK_SIGNING_SECRET

可选

Slack 渠道

MACOS_MCP_URLMACOS_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 Paid 计划($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