ServeMyAPI MCP Server

Personal MCP server for securely storing and accessing API keys across projects using the macOS Keychain

Remote serverstreamable-http

What is the ServeMyAPI MCP server?

Personal MCP server for securely storing and accessing API keys across projects using the macOS Keychain. The servemyapi mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 3 defined tools rather than through you.

What it actually does

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:

  • .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
  • 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

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

Its toolset

Everything the assistant can do here goes through one of these:

  • name — The name/identifier for the API key
  • key — The API key to store
  • Windsurf — 1. Open Windsurf editor and navigate to Settings 2. Add ServeMyAPI to your MCP server configuration using the example in

Configuration

You will need 5 environment variables: SERVEMYAPI_STORAGE_TYPE, STORAGE_DIR, SERVEAPI_AUTH_KEY, ENCRYPTION_KEY, ALLOWED_ORIGINS. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the servemyapi mcp server does with a few real requests.

When to reach for it

This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. ServeMyAPI's toolset — name, key, Windsurf — is a fair guide to whether it matches your workflow. It is maintained by Jktfe; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
nameThe name/identifier for the API key
keyThe API key to store
Windsurf1. Open Windsurf editor and navigate to Settings 2. Add ServeMyAPI to your MCP server configuration using the example in examples/windsurf_config.json 3. Adapt the paths to your local installation

How to install the ServeMyAPI MCP server

{
     "mcpServers": {
       "serveMyAPI": {
         "command": "node",
         "args": [
           "/ABSOLUTE/PATH/TO/servemyapi/dist/index.js"
         ]
       }
     }
   }

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
SERVEMYAPI_STORAGE_TYPEConfiguration value read at startup.Optional
STORAGE_DIRFilesystem location the server is allowed to use.Optional
SERVEAPI_AUTH_KEYCredential the server authenticates with.Yes
ENCRYPTION_KEYCredential the server authenticates with.Yes
ALLOWED_ORIGINSConfiguration value read at startup.Optional

Example prompts to try

  • Use ServeMyAPI to name.
  • Use ServeMyAPI to key.
  • Use ServeMyAPI to Windsurf.

Frequently asked questions

It connects ServeMyAPI to MCP-compatible AI assistants such as Claude and Cursor, exposing 3 tools (name, key, Windsurf) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with ServeMyAPI directly.