About daemoon
daemoon is an MCP gateway for AI coding agents that centralizes access to connected development infrastructure providers. Users connect providers once and give agents a single token instead of storing provider secrets in each project.
Key features
- 01Unified tools for connected providers
- 02Browser-based provider connection
- 03Single MCP token for agents
- 04Encrypted provider-token vault
- 05Per-provider disconnect and token revocation
- 06Open-source self-hosting
Use cases
- 01Deploying Vercel projects from a coding agent
- 02Managing GitHub repositories and branches
- 03Running Supabase SQL through an agent
- 04Accessing several infrastructure providers with one token
MCP support
daemoon exposes provider operations as tools through an MCP server at `/api/mcp`, using Streamable HTTP and OAuth 2.0. MCP clients authenticate with a bearer token or supported OAuth flow.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://daemoon.dev/api/mcpclaude mcp add --transport http jaylee7777-daemoon https://daemoon.dev/api/mcp{"mcpServers":{"jaylee7777-daemoon":{"type":"http","url":"https://daemoon.dev/api/mcp"}}}Open in Cursor{"servers":{"jaylee7777-daemoon":{"type":"http","url":"https://daemoon.dev/api/mcp"}}}Open in VS Code{"mcpServers":{"jaylee7777-daemoon":{"type":"http","url":"https://daemoon.dev/api/mcp"}}}{"mcpServers":{"jaylee7777-daemoon":{"serverUrl":"https://daemoon.dev/api/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://daemoon.dev/api/mcpAuth requiredTools
Details
From the project READMEDaemoon
One login. Every infrastructure. Built for AI coding agents.
daemoon.dev · MCP server · Vercel · GitHub · Cloudflare · Supabase · GCP
Daemoon is the simplest way to give your AI coding agent (Claude Code, Cursor, etc.) access to all your dev infrastructure. Connect each provider once in your browser, then any agent gets unified, secure tool access via a single MCP token.
Why
You're prototyping with Claude Code. The agent wants to deploy a Vercel project, create a Supabase table, push a GitHub branch. Today you paste five different tokens into five different config files — and every new agent / repo / teammate starts over.
Daemoon ends that. One sign-in connects everything. One token wires the agent.
[You] [Daemoon] [Providers]
│ │ │
├── Sign in once (Google) ─────────────────▶ │
├── Connect Vercel · GitHub · CF · Supabase ▶─── OAuth · PAT ───────────▶
├── Generate MCP token ────────────────────▶ │
│ │ │
▼ ▼ ▼
Claude Code / Cursor / any MCP client ⇄ /api/mcp ⇄ vault ⇄ live provider APIs
Install
Generate your token once at daemoon.dev/dashboard, then point your agent at https://daemoon.dev/api/mcp with header Authorization: Bearer dmn_....
Claude Code
Paste this in the Claude Code chat — Claude runs the install:
Install the Daemoon MCP server for me by running:
claude mcp add --transport http daemoon https://daemoon.dev/api/mcp --header "Authorization: Bearer dmn_..."
Cursor
Settings → MCP → Add server → HTTP:
- URL:
https://daemoon.dev/api/mcp - Headers:
Authorization: Bearer dmn_...
Cline / Continue / Zed / any MCP client
Add an HTTP MCP server pointing at https://daemoon.dev/api/mcp with the bearer token header. Supports MCP Streamable HTTP (protocol 2025-06-18) and OAuth 2.0 (DCR + PKCE) for clients that prefer it.
Machine-readable
https://daemoon.dev/.well-known/mcp.json— server cardhttps://daemoon.dev/llms.txt— agent-readable summaryhttps://daemoon.dev/.well-known/oauth-protected-resource— RFC 9728https://daemoon.dev/.well-known/oauth-authorization-server— RFC 8414
Connected providers
| Provider | Auth | Sample tools |
|---|---|---|
| Vercel | OAuth (1-click) | vercel.list_projects, vercel.create_deployment |
| GitHub | OAuth (1-click) | github.list_repos, github.create_repo |
| Supabase | OAuth + PAT | supabase.list_projects, supabase.run_sql |
| Cloudflare | PAT | cloudflare.list_zones, cloudflare.create_dns_record |
| Google Cloud | Service Account JSON | gcp.list_projects, gcp.list_services |
| Stripe | PAT (Secret key) | stripe.list_products, stripe.list_customers, stripe.create_payment_link |
| Resend | PAT | resend.send_email, resend.list_domains |
| OpenAI | PAT | openai.list_models, openai.chat_completion |
| Anthropic | PAT | anthropic.create_message |
| npm | PAT (Automation / Granular) | npm.whoami, npm.list_packages, npm.view |
More providers (Linear · Sentry · PostHog · Neon · Upstash · …) on the roadmap. PRs welcome.
How it's secure
- Envelope encryption — every provider token is wrapped with a per-token DEK, then by a master key. AES-256-GCM end to end.
- No raw secrets in your repo, no env vars to leak. Tokens live in the Daemoon vault; the agent never sees them, only the responses.
- Revoke any token in one click. Per-provider disconnect, per-agent PAT revoke.
Self-host
Daemoon is open-source. Clone, set env vars, deploy to your own Vercel:
git clone https://github.com/daemoon-dev/daemoon
cd daemoon
cp .env.local.example .env.local # add your Supabase + provider OAuth creds
npm install
npm run dev
Schema in sql/0001_init.sql.
Architecture
- Next.js 15 App Router on Vercel (
icn1region). - Supabase for auth (Google + magic link) + Postgres vault.
- MCP HTTP transport at
/api/mcp— JSON-RPCtools/list+tools/call. - Connector interface in
lib/connectors/types.ts: every provider implements OAuth / PAT validation + a list of tool defs. Adding a provider is one file.
Roadmap
- More connectors: Stripe, Resend, Linear, Notion, Plausible
- 1-click GitHub OAuth verified app (currently in Google Cloud "Testing" mode)
- Service Account JSON → OAuth for GCP (when verified)
- npm shim
daemoon-mcpfor stdio MCP clients
License
MIT. See LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.