Fermi
Fermi
Портативный ИИ-контроллер, реализованный как единый MCP сервер на Cloudflare Workers. Подключите его к Claude.ai, Claude Desktop, Claude Code, Cursor или ChatGPT — и они будут использовать общую память, общую модель разрешений и общие навыки. Для неавтоматизированных каналов (Telegram, Slack) он запускает собственный цикл вывода через Anthropic API.
Один сервер, одна память, один каркас разрешений — хост меняется, агент остаётся.
Подробная архитектура:
docs/ARCHITECTURE.md. Настройка и повседневное использование:docs/USAGE.md.
Что он делает
Кросс-хостовая память — факты, предпочтения и события в D1, доступные с любого подключённого хоста. Ночное задание обобщает сессии, дедуплицирует почти идентичные воспоминания по схожести эмбеддингов и удаляет устаревшие.
Навыки — процедуры, хранящиеся как версионированные документы
SKILL.mdв R2 с метаданными в D1. Вы можете создавать их напрямую или продвигать из памяти; еженедельное задание предлагает черновики навыков из недавних сводок сессий для доработки.Каркас разрешений — каждый инструмент объявляет область действия и уровень риска. Инструменты с высоким риском требуют двухфазный токен одобрения. Изменяющие инструменты блокируются в режиме планирования. Код оболочки проверяется по блок-листу. Каждый вызов аудируется в D1.
Хуки — декларативные deny-гейты с glob-сопоставлением, выполняемые перед инструментом, с приоритетом
deny > ask > allow(сейчас применяется толькоdeny).Единый поиск — Reciprocal Rank Fusion (k=60) по возможностям, навыкам, воспоминаниям и истории сообщений, объединяющий ключевые слова, FTS5 и семантические каналы Vectorize.
Режим кода — инструмент
executeзапускает JavaScript в изолированной песочнице Worker, где возможности доступны какcodemode.<name>(...). Исходящий HTTP проходит через шлюз, который внедряет секреты и применяет списки разрешённых хостов для каждого секрета.Двухполосный браузер — безголовое облачное направление (Cloudflare Browser Rendering) для скрейпинга и видимое локальное направление (macOS-мост через Cloudflare Tunnel) для сайтов, требующих реального аппаратного отпечатка и аутентифицированного состояния.
Каналы и субагенты — вебхуки Telegram и Slack с собственным циклом вывода;
team_spawnзапускает субагентов с ролевыми промптами.Живой Canvas — управляемый агентом интерфейс на Durable Object + WebSocket, сохраняющийся между ходами и хостами.
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.
Два уровня инструментов
Fermi предоставляет инструменты на двух уровнях, и они намеренно не идентичны:
Уровень | Вызывающий | Количество |
MCP-инструменты | подключённые хосты и каналы | ~60 по умолчанию, ~85 с включённым macOS-мостом |
Возможности песочницы | код, передаваемый в | 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(или установите его вvarsвwrangler.jsonc). Без него MCP-транспорты полностью не аутентифицированы на публичном URLworkers.dev— любой, кто его найдёт, сможет читать ваши воспоминания, получать сохранённые секреты и выполнять код. Открытый режим предназначен только для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)Аккаунт Cloudflare на платном тарифе Workers ($5/мес) — требуется для 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 (веб)
Настройки → Connectors → добавьте пользовательский коннектор, 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