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.

ServerKey / env varWhat it said without credentials (verbatim excerpt)ScoreDeprecated
21st.dev Magic
@21st-dev/magic
TWENTY_FIRST_API_KEYCP - 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 https65No
Apify (official)
@apify/actors-mcp-server
APIFY_TOKENERROR APIFY_TOKEN is required but not set in the environment variables or in75No
Brave Search (legacy reference)
@modelcontextprotocol/server-brave-search
BRAVE_API_KEYError: BRAVE_API_KEY environment variable is required exited code 145Yes
Bright Data MCP (official)
@brightdata/mcp
API_TOKENenv'); ^ Error: Cannot run MCP server without API_TOKEN env at file:///tmp/mcpt/_brightdata_mcp/node_modules/@b75No
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 (f75No
Datadog
@winor30/mcp-server-datadog
DATADOG_APP_KEY_API_KEY and DATADOG_APP_KEY must be set at file:///tmp/mcpt/_wi75No
DigitalOcean MCP (official, digitalocean-labs)
@digitalocean/mcp
DIGITALOCEAN_API_TOKENd. Use --digitalocean-api-token flag or set DIGITALOCEAN_API_TOKEN environment variable","enabled_services":"all"} exited co75No
ElevenLabs MCP (official, repo archived)
elevenlabs-mcp
ELEVENLABS_API_KEY.py", line 67, in <module> raise ValueError("ELEVENLABS_API_KEY environment variable is required50Yes
EverArt (legacy reference)
@modelcontextprotocol/server-everart
EVERART_API_KEYEVERART_API_KEY environment variable is not set exited code 145Yes
Figma Context MCP (Framelink)
figma-developer-mcp
FIGMA_API_KEYEither FIGMA_API_KEY or FIGMA_OAUTH_TOKEN is required (via CLI argument or .env75No
GitLab (legacy reference)
@modelcontextprotocol/server-gitlab
GITLAB_PERSONAL_ACCESS_TOKENGITLAB_PERSONAL_ACCESS_TOKEN environment variable is not set exited code 150Yes
GitLab (zereight)
@zereight/mcp-gitlab
GITLAB_PERSONAL_ACCESS_TOKENERROR [01:15:46.422] (639030): GITLAB_PERSONAL_ACCESS_TOKEN environment variable is not set INFO [01:15:75No
Google Drive (legacy reference)
@modelcontextprotocol/server-gdrive
Not measuredCredentials not found. Please run with 'auth' argument first. exited50Yes
Google Maps (legacy reference)
@modelcontextprotocol/server-google-maps
GOOGLE_MAPS_API_KEYGOOGLE_MAPS_API_KEY environment variable is not set exited code 145Yes
LINE Bot (official)
@line/line-bot-mcp-server
CHANNEL_ACCESS_TOKENPlease set CHANNEL_ACCESS_TOKEN exited code 175No
Obsidian
mcp-obsidian
OBSIDIAN_API_KEYs.py", line 16, in <module> raise ValueError(f"OBSIDIAN_API_KEY environment variable required. Working directory: {os.getcw58No
Sentry (official)
@sentry/mcp-server
Not measuredt=sentry.example.com @sentry/mcp-server --access-token=TOKEN --host=sentry.internal:9000 --insecure-http @sentry53No
Slack (legacy reference)
@modelcontextprotocol/server-slack
SLACK_BOT_TOKENPlease set SLACK_BOT_TOKEN and SLACK_TEAM_ID environment variables exited code 150Yes
Supabase (official)
@supabase/mcp-server-supabase
SUPABASE_ACCESS_TOKENPlease provide a personal access token (PAT) with the --access-token flag or set the SUPABASE_ACCE60No
Upstash (official)
@upstash/mcp-server
UPSTASH_API_KEYMissing required credentials. Provide --email and --api-key or set UPSTASH_EMAIL and UPS65No
Vercel MCP (official, remote)
https://mcp.vercel.com
Not measuredHTTP 401 without credentials; OAuth challenge (WWW-Authenticate, resource_metadata https://mcp.vercel.com/.well-known/oauth-protected-resource)33No

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.