Provides an alternative to .ENV files by securely storing API keys in the macOS Keychain while maintaining accessibility across projects
Mentioned in the roadmap as a framework that will have easy integration options for accessing securely stored API keys
Solves security conflicts with GitHub by storing API keys securely in the Keychain rather than in .gitignore'd files
Uses the macOS Keychain for secure credential storage, making API keys accessible across multiple projects while maintaining security
Mentioned in the roadmap as a framework that will have easy integration options for accessing securely stored API keys
Used in examples for storing API keys, specifically referencing OpenAI API keys that can be securely stored and retrieved
ServeMyAPI
A personal MCP (Model Context Protocol) server for securely storing and accessing API keys across projects using the macOS Keychain.
IMPORTANT: ServeMyAPI is a macOS-specific tool that relies on the macOS Keychain for secure storage. It is not compatible with Windows or Linux operating systems. See the security notes section for more details.
Overview
ServeMyAPI allows you to store API keys securely in the macOS Keychain and access them through a consistent MCP interface. This makes it easy to:
- Store API keys securely (they're never visible in .env files or config files)
- Access the same keys across multiple projects
- Use natural language to store and retrieve keys (when used with LLMs like Claude)
- Provide keys directly to your AI assistant when it needs to access services
Why ServeMyAPI over .ENV Files?
Using ServeMyAPI instead of traditional .ENV files solves several common problems:
- GitHub Security Conflicts:
- .ENV files need to be excluded from Git repositories for security (via .gitignore)
- This creates a "hidden context" problem where important configuration is invisible to collaborators and LLMs
- New developers often struggle with setting up the correct environment variables
- LLM Integration Challenges:
- LLMs like Claude can't directly access your .ENV files due to security constraints
- When LLMs need API keys to complete tasks, you often need manual workarounds
- ServeMyAPI lets your AI assistant request keys through natural language
- Cross-Project Consistency:
- With .ENV files, you typically need to duplicate API keys across multiple projects
- When keys change, you need to update multiple files
- ServeMyAPI provides a central storage location accessible from any project
This approach gives you the best of both worlds: secure storage of sensitive credentials without sacrificing visibility and accessibility for your AI tools.
Features
- Secure storage of API keys in the macOS Keychain
- Simple MCP tools for storing, retrieving, listing, and deleting keys
- Convenient CLI interface for terminal-based key management
- Support for both stdio and HTTP/SSE transports
- Compatible with any MCP client (Claude Desktop, etc.)
Installation
Usage
CLI Interface
ServeMyAPI comes with a command-line interface for quick key management directly from your terminal:
Running as a stdio server
This is the simplest way to use ServeMyAPI as an MCP server, especially when working with Claude Desktop:
Running as an HTTP server
For applications that require HTTP access:
This will start the server on port 3000 (or the port specified in the PORT environment variable).
Using Smithery
ServeMyAPI is available as a hosted service on Smithery.
For more details, see the Smithery API documentation.
Configuring MCP Clients
ServeMyAPI works with any MCP-compatible client. Example configuration files are provided in the examples
directory.
Claude Desktop
To use ServeMyAPI with Claude Desktop:
- Locate or create the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%AppData%\Claude\claude_desktop_config.json
- macOS:
- Add ServeMyAPI to the
mcpServers
section (you can copy fromexamples/claude_desktop_config.json
): - Replace
/ABSOLUTE/PATH/TO/servemyapi
with the actual path to your ServeMyAPI installation. - Restart Claude Desktop.
Windsurf
To use ServeMyAPI with Windsurf:
- Open Windsurf editor and navigate to Settings
- Add ServeMyAPI to your MCP server configuration using the example in
examples/windsurf_config.json
- Adapt the paths to your local installation
MCP Tools
ServeMyAPI exposes the following tools:
store-api-key
Store an API key in the keychain.
Parameters:
name
: The name/identifier for the API keykey
: The API key to store
Example (from Claude):
get-api-key
Retrieve an API key from the keychain.
Parameters:
name
: The name/identifier of the API key to retrieve
Example (from Claude):
delete-api-key
Delete an API key from the keychain.
Parameters:
name
: The name/identifier of the API key to delete
Example (from Claude):
list-api-keys
List all stored API keys.
No parameters required.
Example (from Claude):
Security Notes
- All API keys are stored securely in the macOS Keychain
- Keys are only accessible to the current user
- The keychain requires authentication for access
- No keys are stored in plaintext or logged anywhere
Roadmap
Future plans for ServeMyAPI include:
- Code Scanner Tool: A tool that automatically scans your codebase for API endpoints, sensitive URLs, and environment variables, then suggests names to store them in the Keychain. This would allow developers to continue using .ENV files in their regular workflow while ensuring credentials are also available to LLMs and other tools when needed.
- Cross-Platform Support: Investigating secure credential storage options for Windows and Linux to make ServeMyAPI more widely accessible.
- Integration with Popular Frameworks: Providing easy integration with frameworks like Next.js, Express, and others.
- UI for Key Management: A simple web interface for managing your stored API keys directly.
Feel free to suggest additional features or contribute to the roadmap by opening an issue or pull request.
Development
License
MIT
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A 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.
Related MCP Servers
- AsecurityFlicenseAqualityMCP server that enables reading and writing macOS system preferences and application settings through the defaults system.Last updated -411Python
- AsecurityFlicenseAqualityAn MCP server that allows AI models to execute system commands on local machines or remote hosts via SSH, supporting persistent sessions and environment variables.Last updated -167316TypeScript
- AsecurityAlicenseAqualityThe first open-source MCP server that enables AI to fully control remote macOS systems.Last updated -6282PythonMIT License
Pipedreamofficial
-securityFlicense-qualityRun your own MCP server for over 2,500 apps and APIs. * Run your own MCP server for over 2,500 APIs * Manage servers for your users, in your own app. * Connect accounts, configure params, and make API requests, all via tools * Fully-managed OAuth and credential storage )Last updated -19810,139JavaScript