MCP servers that need an API key
21 tested agent tools and MCP servers stopped at a credential check in our tests. Each row quotes what the server said and links to setup steps. Untested with real credentials. Keeping keys safe: how to secure AI API keys.
Last tested 2026-10-22
How we test: methodology. Not tested by us: security, output quality, and behaviour with real credentials.
| Server | Key / env var | What it said without credentials (verbatim excerpt) | Score | Deprecated |
|---|---|---|---|---|
21st.dev Magic@21st-dev/magic | TWENTY_FIRST_API_KEY | CP - proxying to https://21st.dev/api/mcp (shim v0.2.3). No API key found. Old Magic keys were reset - get a fresh key at https | 65 | No |
Apify (official)@apify/actors-mcp-server | APIFY_TOKEN | ERROR APIFY_TOKEN is required but not set in the environment variables or in | 75 | No |
Brave Search (legacy reference)@modelcontextprotocol/server-brave-search | BRAVE_API_KEY | Error: BRAVE_API_KEY environment variable is required exited code 1 | 45 | Yes |
Bright Data MCP (official)@brightdata/mcp | API_TOKEN | env'); ^ Error: Cannot run MCP server without API_TOKEN env at file:///tmp/mcpt/_brightdata_mcp/node_modules/@b | 75 | No |
Currents@currents/mcp | CURRENTS_API_KEY | [01:15:48.237] ERROR (639102): CURRENTS_API_KEY is not set. Add your Currents API key to the environment (f | 75 | No |
Datadog@winor30/mcp-server-datadog | DATADOG_APP_KEY | _API_KEY and DATADOG_APP_KEY must be set at file:///tmp/mcpt/_wi | 75 | No |
DigitalOcean MCP (official, digitalocean-labs)@digitalocean/mcp | DIGITALOCEAN_API_TOKEN | d. Use --digitalocean-api-token flag or set DIGITALOCEAN_API_TOKEN environment variable","enabled_services":"all"} exited co | 75 | No |
ElevenLabs MCP (official, repo archived)elevenlabs-mcp | ELEVENLABS_API_KEY | .py", line 67, in <module> raise ValueError("ELEVENLABS_API_KEY environment variable is required | 50 | Yes |
EverArt (legacy reference)@modelcontextprotocol/server-everart | EVERART_API_KEY | EVERART_API_KEY environment variable is not set exited code 1 | 45 | Yes |
Figma Context MCP (Framelink)figma-developer-mcp | FIGMA_API_KEY | Either FIGMA_API_KEY or FIGMA_OAUTH_TOKEN is required (via CLI argument or .env | 75 | No |
GitLab (legacy reference)@modelcontextprotocol/server-gitlab | GITLAB_PERSONAL_ACCESS_TOKEN | GITLAB_PERSONAL_ACCESS_TOKEN environment variable is not set exited code 1 | 50 | Yes |
GitLab (zereight)@zereight/mcp-gitlab | GITLAB_PERSONAL_ACCESS_TOKEN | ERROR [01:15:46.422] (639030): GITLAB_PERSONAL_ACCESS_TOKEN environment variable is not set INFO [01:15: | 75 | No |
Google Drive (legacy reference)@modelcontextprotocol/server-gdrive | Not measured | Credentials not found. Please run with 'auth' argument first. exited | 50 | Yes |
Google Maps (legacy reference)@modelcontextprotocol/server-google-maps | GOOGLE_MAPS_API_KEY | GOOGLE_MAPS_API_KEY environment variable is not set exited code 1 | 45 | Yes |
LINE Bot (official)@line/line-bot-mcp-server | CHANNEL_ACCESS_TOKEN | Please set CHANNEL_ACCESS_TOKEN exited code 1 | 75 | No |
Obsidianmcp-obsidian | OBSIDIAN_API_KEY | s.py", line 16, in <module> raise ValueError(f"OBSIDIAN_API_KEY environment variable required. Working directory: {os.getcw | 58 | No |
Sentry (official)@sentry/mcp-server | Not measured | t=sentry.example.com @sentry/mcp-server --access-token=TOKEN --host=sentry.internal:9000 --insecure-http @sentry | 53 | No |
Slack (legacy reference)@modelcontextprotocol/server-slack | SLACK_BOT_TOKEN | Please set SLACK_BOT_TOKEN and SLACK_TEAM_ID environment variables exited code 1 | 50 | Yes |
Supabase (official)@supabase/mcp-server-supabase | SUPABASE_ACCESS_TOKEN | Please provide a personal access token (PAT) with the --access-token flag or set the SUPABASE_ACCE | 60 | No |
Upstash (official)@upstash/mcp-server | UPSTASH_API_KEY | Missing required credentials. Provide --email and --api-key or set UPSTASH_EMAIL and UPS | 65 | No |
Vercel MCP (official, remote)https://mcp.vercel.com | Not measured | HTTP 401 without credentials; OAuth challenge (WWW-Authenticate, resource_metadata https://mcp.vercel.com/.well-known/oauth-protected-resource) | 33 | No |
FAQ
Which MCP servers need an API key?
21 of the 136 MCP servers we tested on 2026-10-22 were auth-gated: without credentials they only printed a missing-credential message (or returned an auth challenge) and did not list tools.
Have you tested these servers with real credentials?
No. We have not tested any of these servers with real credentials, so we cannot say whether they work once a key is set.
Where does the env var name come from?
Only from what the server printed in our test output. Where it printed no variable name, we show Not measured rather than guessing.