auth-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@auth-mcprecommend a credential for OpenAI summarization"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
auth-mcp
A secure MCP server that stores all your API keys and auth credentials in one place, retrievable by any MCP client (Goose, Claude Code, Cursor, Codex, Gemini CLI...). Built with FastMCP so it can be hosted on Prefect Horizon and reached over HTTP at a URL like https://<name>.fastmcp.app/mcp.
Features
Tool | Description |
| Store or update a credential |
| Retrieve a credential (masked by default; |
| List names + metadata only — never values |
| Search by name/description — metadata only |
| MCP sampling — asks goose's AI to pick the best credential for a task |
| Delete a credential |
| Health check |
Related MCP server: Janee
Security model
Encrypted at rest — the
filebackend encrypts every value with Fernet (AES-128-CBC + HMAC), key derived fromAUTH_MCP_MASTER_KEYvia PBKDF2-HMAC-SHA256 (600k iterations). The vault file never contains a plaintext secret.List/search never leak values — only names, descriptions and timestamps.
Masked by default —
auth_getreturns********last4unless you explicitly passmask=False.Remote access is authenticated by the hosting platform (FastMCP/Prefect Horizon).
Optional
prefectbackend stores secrets as Prefect CloudSecretblocks (durable, encrypted at rest by Prefect, RBAC-scoped) — ideal for the hosted deployment.
MCP sampling
auth_recommend(task) uses MCP sampling: the server sends the task plus a list of available credentials (names + descriptions only — values never leave the vault) back to goose's LLM, which returns the single best match and its reasoning. This turns the vault into a smart credential router:
auth_recommend(task="call OpenAI to summarize this email thread")
# -> {"ok": true, "recommendation": "openai",
# "reasoning": "Task mentions OpenAI summarization.", "available": [...]}
# then: auth_get(name="openai", mask=False)Sampling is automatically available in goose (no configuration needed) and gracefully degrades — if the client doesn't support sampling, the tool returns the full list instead.
⚠️ Never commit
.env, the vault file, or real keys. Everything sensitive is git-ignored.
Project layout
auth-mcp/
├── pyproject.toml # deps + entry point (also used as Horizon "requirements")
├── README.md
├── .env.example # copy to .env and fill in
├── src/auth_mcp/
│ ├── config.py # env config (backend, master key, vault path)
│ ├── storage.py # EncryptedFileStore + PrefectSecretStore backends
│ └── server.py # FastMCP server + tools (Horizon server path)
└── tests/test_storage.pyRun locally
cd auth-mcp
python -m venv .venv
.venv\Scripts\activate # Windows (macOS/Linux: source .venv/bin/activate)
pip install -e ".[test]"
# generate a master key and run the server
set AUTH_MCP_MASTER_KEY=CHANGE-ME-strong-passphrase
python -m auth_mcp.serverTest it:
pytest -qThe server speaks MCP over stdio. Add it to your local Goose/Claude Code/Cursor config, then try:
auth_set(name="openai", value="sk-...", description="OpenAI API key")
auth_list()
auth_get(name="openai") # -> ********1234
auth_get(name="openai", mask=False)Deploy to Prefect Horizon
Prefect Horizon hosts FastMCP servers directly from a GitHub repo. Steps:
Push this project to GitHub
cd auth-mcp git init && git add . && git commit -m "Initial auth-mcp" # create a repo on github.com and: git remote add origin git@github.com:<you>/auth-mcp.git git push -u origin mainSign in to horizon.prefect.io (create an account if needed).
Create a new server and point it at your repo:
Repository:
<you>/auth-mcpServer path:
src/auth_mcp/server.pyRequirements:
pyproject.toml
Set environment variables in the Horizon UI:
Variable
Value
AUTH_MCP_MASTER_KEYA strong passphrase (see below)
AUTH_MCP_BACKENDprefect(recommended for hosted: secrets live in Prefect Cloud)PREFECT_API_URLhttps://api.prefect.cloud/api/accounts/<ACCOUNT_ID>/workspaces/<WORKSPACE_ID>PREFECT_API_KEYA Prefect Cloud API key that can read/write
SecretblocksGenerate a master key:
python -c "import secrets; print(secrets.token_urlsafe(32))"Deploy, then copy your server URL, e.g.
https://auth-mcp-xxxx.fastmcp.app/mcp.Point your MCP client at the URL (HTTP transport):
Goose:
goose mcp add auth-mcp --transport http https://auth-mcp-xxxx.fastmcp.app/mcpClaude Code:
claude mcp add auth-mcp --transport http https://auth-mcp-xxxx.fastmcp.app/mcpCursor: add to
.cursor/mcp.jsonwith"url": "https://auth-mcp-xxxx.fastmcp.app/mcp"
Any client on your team can now read/write shared credentials through one hosted endpoint.
Backends
file(default): encrypted vault on disk (AUTH_MCP_VAULT_PATH, default.auth_vault.json). Zero external services; good for local use and simple self-hosting.prefect: each credential is a PrefectSecretblock. Install withpip install "auth-mcp[prefect]". RequiresPREFECT_API_URL+PREFECT_API_KEY. Best for the Horizon deployment since secrets survive restarts and are managed by Prefect Cloud.
Security checklist
Use a long, unique
AUTH_MCP_MASTER_KEYand store it in a password managerNever commit
.envor*.jsonvault filesGrant the Horizon/Prefect API key only the permissions it needs (Secret blocks)
Rotate keys regularly (
auth_setoverwrites in place)Keep
mask=Trueunless a full value is genuinely required
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 Servers
- Flicense-qualityBmaintenanceA personal MCP server for securely storing and accessing API keys across projects using the macOS Keychain, letting AI assistants and applications retrieve credentials through natural language.Last updated25
- Alicense-qualityBmaintenanceSecrets management MCP server that injects credentials into API requests for AI agents, enforcing policies and logging all activity without exposing raw keys.Last updated9030MIT
- Flicense-qualityCmaintenanceEnables AI agents and MCP clients to securely store, retrieve, and manage encrypted credentials without hardcoding API keys.Last updated
- Flicense-qualityBmaintenanceAn encrypted secret vault and MCP gateway that securely stores API keys and injects them into upstream MCP servers, so AI IDEs never see raw credentials.Last updated3
Related MCP Connectors
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
MCP server teaching AI agents to implement TideCloak: auth, E2EE, IGA, security analysis
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
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/KB01111/auth-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server