Fermi
Fermi
Ein portabler KI-Kontrollebene, aufgebaut als einzelner MCP-Server auf Cloudflare Workers. Verbinden Sie ihn mit Claude.ai, Claude Desktop, Claude Code, Cursor oder ChatGPT, und sie teilen sich denselben Speicher, dasselbe Berechtigungsmodell und dieselben Fähigkeiten. Für unbeaufsichtigte Kanäle (Telegram, Slack) führt er eine eigene Inferenzschleife gegen die Anthropic-API aus.
Ein Server, ein Speicher, eine Berechtigungsstruktur – der Host ändert sich, der Agent nicht.
Architektur im Detail:
docs/ARCHITECTURE.md. Einrichtung und tägliche Nutzung:docs/USAGE.md.
Was es tut
Hostübergreifender Speicher – Fakten, Präferenzen und Ereignisse in D1, von jedem verbundenen Host abrufbar. Ein nächtlicher Job fasst Sitzungen zusammen, dedupliziert nahezu identische Erinnerungen anhand von Embedding-Ähnlichkeit und lässt veraltete verfallen.
Fähigkeiten – Verfahren, die als versionierte
SKILL.md-Dokumente in R2 mit Metadaten in D1 gespeichert sind. Sie können sie direkt erstellen oder aus einer Erinnerung befördern; ein wöchentlicher Job schlägt Entwurfsfähigkeiten aus aktuellen Sitzungszusammenfassungen vor, die Sie verfeinern können.Berechtigungsstruktur – jedes Tool deklariert einen Umfang und eine Risikostufe. Hochriskante Tools erfordern ein zweiphasiges Genehmigungstoken. Verändernde Tools sind im Planmodus blockiert. Shell-Code wird gegen eine Blocklist geprüft. Jeder Aufruf wird in D1 protokolliert.
Hooks – deklarative, glob-abgeglichene Verweigerungs-Gates, die vor einem Tool ausgeführt werden, mit
deny > ask > allow-Priorität ausgewertet (heute istdenydie durchgesetzte Entscheidung).Einheitliche Suche – Reciprocal Rank Fusion (k=60) über Fähigkeiten, Skills, Erinnerungen und Nachrichtenverlauf, die Keyword-, FTS5- und Vectorize-Semantikspuren kombiniert.
Code-Modus – das
execute-Tool führt JavaScript in einer isolierten Worker-Sandbox aus, in der Fähigkeiten alscodemode.<name>(...)erreichbar sind. Ausgehendes HTTP läuft durch ein Gateway, das Geheimnisse injiziert und pro Geheimnis Host-Allowlists durchsetzt.Zweispuriger Browser – eine headless Cloud-Spur (Cloudflare Browser Rendering) zum Scraping und eine lokale Spur mit Kopf (eine macOS-Brücke über Cloudflare Tunnel) für Websites, die einen echten Hardware-Fingerabdruck und authentifizierten Zustand benötigen.
Kanäle & Subagenten – Telegram- und Slack-Webhooks mit eigener Inferenzschleife;
team_spawnführt rollenbasierte Subagenten aus.Live Canvas – agentengesteuerte UI über ein Durable Object + WebSocket, persistent über Turns und Hosts hinweg.
Related MCP server: Memclaw
Architektur auf einen Blick
MCP Hosts ─┐
Channels ──┼──► Cloudflare Worker ──► D1 · R2 · KV · Workers AI · Vectorize
Cron ──────┘ (FermiMCP + 3 DOs)Worker (
src/index.ts) routet MCP (/mcp,/sse), Kanäle, OAuth, den/apps/*-Host, das Canvas-WebSocket und Cron-Dispatch. WennFERMI_AUTH_ENABLEDtrueist, schützt ein OAuth-Anbieter die MCP-Transports; andernfalls sind sie offen.Durable Objects:
FermiMCP(der Agent, SQLite-gestützt),LiveCanvasDO,SandboxStorageDO,BrowserSessionDO.Speicher: D1 (Speicher, Sitzungen/Nachrichten + FTS5, Audit, Hooks, Skill-Metadaten, Geheimnis-Metadaten, OAuth), R2 (Skills, Dateien, Apps), KV (Konfiguration, Genehmigungstokens), Workers AI (Embeddings + Zusammenfassungen), Vectorize (semantischer Index).
Siehe docs/ARCHITECTURE.md für das vollständige Diagramm und den Datenfluss.
Zwei Tool-Oberflächen
Fermi stellt Tools auf zwei Ebenen bereit, und sie sind bewusst nicht identisch:
Oberfläche | Aufrufer | Anzahl |
MCP-Tools | verbundene Hosts und Kanäle | ~60 standardmäßig, ~85 mit aktivierter macOS-Brücke |
Sandbox-Fähigkeiten | Code, der an | 39 ( |
MCP-Tools nach Gruppe (hostseitig):
Gruppe | Tools |
Speicher |
|
Fähigkeiten |
|
Suche |
|
Code-Modus |
|
Dateisystem |
|
Browser (Cloud) |
|
Browser-Sitzungen |
|
Canvas |
|
Planmodus |
|
Team |
|
Hooks |
|
Geheimnisse |
|
Meta |
|
Connectors |
|
Pakete |
|
Retriever |
|
OAuth |
|
macOS-Brücke (optional) | 25 |
Schnellstart
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⚠️ Stellen Sie mit
FERMI_AUTH_ENABLED:truebereit (oder setzen Sie es inwrangler.jsoncvars). Ohne dies sind die MCP-Transports auf einer öffentlichenworkers.dev-URL völlig unauthentifiziert – jeder, der sie findet, kann Ihre Erinnerungen lesen, Ihre gespeicherten Geheimnisse auflösen und Code ausführen. Der offene Modus ist nur fürwrangler devgedacht.
Dann seeden Sie die gebündelten Fähigkeiten und bestätigen Sie das Fähigkeitsregister:
curl -X POST https://<worker>/admin/seed-skills -H "Authorization: Bearer $FERMI_BEARER_TOKEN"
curl https://<worker>/capabilities -H "Authorization: Bearer $FERMI_BEARER_TOKEN"Vollständige Anweisungen, einschließlich Authentifizierungsmodi und Kanaleinrichtung, finden Sie in
docs/USAGE.md.
Voraussetzungen
Wrangler (
bun add -g wrangler)Ein Cloudflare-Konto im Workers-Paid-Plan (5 $/Monat) – erforderlich für Durable Objects, Browser Rendering und Vectorize
Entwicklung
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)Konfiguration
Geheimnisse werden mit wrangler secret put gesetzt (Werte werden interaktiv eingegeben):
Geheimnis | Erforderlich | Zweck |
| ja | Verschlüsselungsschlüssel für den Geheimnisspeicher |
| wenn | Besitzer-Passwort für den OAuth-Zustimmungsbildschirm und das |
| für Admin-HTTP-Endpunkte | Schützt |
| für Kanäle / | Inferenzschleife für unbeaufsichtigte Nutzung |
| optional | Telegram-Kanal |
| optional | Slack-Kanal |
| optional | Lokale macOS-Brücke (aktiviert die |
Der Authentifizierungsmodus wird durch die Variable FERMI_AUTH_ENABLED gesteuert. Setzen Sie sie auf true, um die MCP-Transports hinter OAuth zu legen – empfohlen für jede bereitgestellte Instanz. Wenn sie nicht gesetzt ist, werden /mcp und /sse ohne Authentifizierung bereitgestellt, was nur für lokales wrangler dev geeignet ist.
Im OAuth-Modus registrieren sich verbindende Hosts selbst und landen auf Fermis Zustimmungsbildschirm, der Ihr Besitzer-Geheimnis und (nach der Registrierung über totp_setup) einen TOTP-Code validiert:

Verbinden eines Hosts
Claude.ai (web)
Einstellungen → Connectors → einen benutzerdefinierten Connector hinzufügen, 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>/mcpKosten
Für Einzelnutzer rechnen Sie mit etwa 8–20 $/Monat: der Workers-Paid-Plan (5 $) plus variable Browser-Rendering- und Anthropic-API-Nutzung. D1/R2/KV/Vectorize bleiben bei diesem Volumen nahe am kostenlosen Tarif. MCP-Hosts zahlen für ihre eigene Inferenz; Fermi gibt nur für Modellaufrufe in unbeaufsichtigten Kanälen und team_spawn aus.
Lizenz
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