About 🔐 get-mcp-keys
get-mcp-keys is a small utility for developers using Cursor and other AI coding assistants. It loads secrets from `~/.mcprc`, injects them as environment variables, and runs an MCP server command without storing keys in a repository.
Key features
- 01Loads keys from `~/.mcprc`
- 02Injects keys as environment variables
- 03Runs the configured MCP server command
- 04Masks most key characters in debug output
Use cases
- 01Keep API keys out of repository history
- 02Provide credentials to Firecrawl or Brave Search
- 03Launch MCP servers that require environment variables
MCP support
It acts as a wrapper for MCP server commands, loading configured credentials before launching the server. It is not described as exposing its own tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
27Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | |
| formats | array | No | |
| jsonOptions | object | No | |
| jsonOptions.prompt | string | No | |
| jsonOptions.schema | object | No | |
| queryOptions | object | No | |
| queryOptions.prompt | string | Yes | |
| queryOptions.mode | enum | No | directQuote | freeform |
| screenshotOptions | object | No | |
| screenshotOptions.fullPage | boolean | No | |
| screenshotOptions.quality | number | No | |
| screenshotOptions.viewport | object | No | |
| screenshotOptions.viewport.width | number | Yes | |
| screenshotOptions.viewport.height | number | Yes | |
| parsers | array | No | |
| pdfOptions | object | No | |
| pdfOptions.maxPages | integer | No | |
| onlyMainContent | boolean | No | |
| redactPII | boolean | No | |
| includeTags | array | No | |
| excludeTags | array | No | |
| waitFor | number | No | |
| actions | array | No | |
| mobile | boolean | No | |
| skipTlsVerification | boolean | No | |
| removeBase64Images | boolean | No | |
| location | object | No | |
| location.country | string | No | |
| location.languages | array | No | |
| storeInCache | boolean | No | |
| zeroDataRetention | boolean | No | |
| maxAge | number | No | |
| lockdown | boolean | No | |
| proxy | enum | No | basic | stealth | enhanced | auto |
| profile | object | No | |
| profile.name | string | Yes | |
| profile.saveChanges | boolean | No |
Details
From the project README🔐 get-mcp-keys
Stop accidentally committing API keys to your repos!
The Problem
When using Cursor AI (and other AI coding assistants) with MCP servers, you need API keys in your ./cursor/mcp.json file:
{
"mcpServers": {
"firecrawl": {
"command": "npx",
"args": [
"-y",
"firecrawl-mcp"
],
"env": {
"FIRECRAWL_API_KEY": "sk_live_ohno-this-should-NOT-be-in-git" // 💀
}
}
}
}
This is a security nightmare waiting to happen. One accidental commit and your keys are exposed in your Git history.
💯 The Solution
get-mcp-keys loads your API keys from a secure file in your home directory, keeping them out of your repositories entirely.
⚡ Quick Start
1. Create a .mcprc file in your home directory
touch ~/.mcprc
chmod 600 ~/.mcprc # Make it readable only by you
3. Add your API keys to the file
# ~/.mcprc
FIRECRAWL_API_KEY="your_actual_api_key_here"
BRAVE_API_KEY="another_secret_key_here"
# Add any other MCP server keys you use
4. Update your MCP configuration to use get-mcp-keys
{
"mcpServers": {
"firecrawl": {
"command": "npx",
"args": [
"@masonator/get-mcp-keys", // 🔐
"npx",
"-y",
"firecrawl-mcp"
]
}
}
}
That's it! The get-mcp-keys utility will:
- Load your API keys from
~/.mcprc - Inject them as environment variables
- Run your MCP server command with the keys available
🛡️ Security
- Your API keys stay in your home directory
- Keys are never committed to repositories
- Keys are loaded only when needed
- Debug output shows only first/last few characters of keys
🧰 Supported MCP Servers
Works with any MCP server that needs environment variables, including:
- FireCrawl
- Brave Search
- Supabase
- And any other MCP servers you configure!
🔍 How It Works
get-mcp-keys reads your .mcprc file, adds those environment variables to the current environment, and then executes whatever command you specify after it in the args list. It's simple yet effective!

📋 License
MIT
⭐ If this saved you from committing your keys, star the repo!
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.