Skip to main content
Glama

Fermi

Cloudflare Workers에서 단일 MCP 서버로 구동되는 휴대용 AI 제어 평면입니다. Claude.ai, Claude Desktop, Claude Code, Cursor 또는 ChatGPT에 연결하면 모두 동일한 메모리, 동일한 권한 모델, 동일한 스킬을 공유합니다. 무인 채널(Telegram, Slack)의 경우 Anthropic API에 대해 자체 추론 루프를 실행합니다.

하나의 서버, 하나의 메모리, 하나의 권한 스파인 — 호스트는 바뀌어도 에이전트는 바뀌지 않습니다.

심층 아키텍처: docs/ARCHITECTURE.md. 설정 및 일상 사용법: docs/USAGE.md.

기능

  • 크로스 호스트 메모리 — D1에 저장된 사실, 선호도, 이벤트를 연결된 모든 호스트에서 불러옵니다. 야간 작업이 세션을 요약하고, 임베딩 유사성으로 거의 동일한 메모리를 중복 제거하며, 오래된 메모리는 감쇠시킵니다.

  • 스킬 — R2에 버전 관리되는 SKILL.md 문서로 저장되고 메타데이터는 D1에 저장되는 절차입니다. 직접 작성하거나 메모리에서 승격할 수 있습니다. 주간 작업이 최근 세션 요약에서 초안 스킬을 제안하여 다듬을 수 있게 합니다.

  • 권한 스파인 — 모든 도구는 범위와 위험 수준을 선언합니다. 고위험 도구는 2단계 승인 토큰이 필요합니다. 변경 도구는 계획 모드에서 차단됩니다. 셸 코드는 블록리스트로 검사됩니다. 모든 호출은 D1에 감사됩니다.

  • — 도구 실행 전에 실행되는 선언적, glob 매칭 거부 게이트로, 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, 크론 디스패치를 라우팅합니다. FERMI_AUTH_ENABLEDtrue이면 OAuth 공급자가 MCP 전송을 게이트합니다. 그렇지 않으면 열려 있습니다.

  • Durable Objects: FermiMCP(에이전트, SQLite 기반), LiveCanvasDO, SandboxStorageDO, BrowserSessionDO.

  • 스토리지: 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_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 브리지 (선택)

MACOS_MCP_URL이 설정된 경우에만 등록되는 25개의 mac_* 도구

빠른 시작

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

  • Wrangler (bun 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_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 consent screen

호스트 연결

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