Per-domain endpoints
Each domain is its own endpoint at <domain>.mcp.devfellowship.com — lighter
and faster than one giant server. Add only the domains you need.
The DFL MCP is DevFellowship’s Model Context Protocol surface. It lets an AI assistant — Claude Code, Cursor, VS Code, codex, or any MCP-compatible client — read and write DevFellowship data (your courses, tasks, payments, events, and more) on your behalf, with your own permissions.
You authenticate once with your GitHub account. After that, your client talks to one or more per-domain endpoints — each a focused, fast MCP server scoped to a single area of DFL.
Per-domain endpoints
Each domain is its own endpoint at <domain>.mcp.devfellowship.com — lighter
and faster than one giant server. Add only the domains you need.
One unified login
A single dfl-auth login (GitHub OAuth via Supabase). Your token lands in
~/.dfl-mcp/ and auto-refreshes — no per-endpoint setup.
Your permissions, enforced
Every request runs as you. Row-Level Security and your IAM role decide exactly what you can see and change — the MCP never bypasses it.
Works with every client
Claude Code, Cursor, VS Code, codex, the Anthropic SDK — copy-paste config for each is in Getting Started.
flowchart LR
client["MCP client<br/><small>Claude Code · Cursor · VS Code · codex · SDK</small>"]
subgraph auth["Auth — once"]
login["dfl-auth login<br/><small>GitHub OAuth → Supabase JWT</small>"]
end
subgraph endpoints["Per-domain MCP endpoints<br/><small><domain>.mcp.devfellowship.com</small>"]
direction TB
work["work · projects"]
learn["learn · courses"]
payments["payments · money"]
more["events · quiz · studio · …"]
ops["ops · cross-cutting"]
end
db[("Supabase<br/><small>RLS-scoped — as YOU</small>")]
client -->|"Bearer <JWT>"| endpoints
client -.->|"first run"| login
login -.->|"~/.dfl-mcp/ token"| client
endpoints -->|"queries run as you"| db
Each endpoint speaks the same auth contract (Authorization: Bearer <token>) —
only the tool set differs. Pick the domains that match what you want to do.