# MCP server

Canonical page: /glossary/mcp-server

API keys & secrets glossary, Claude Code & MCP. What Is an MCP Server? A Plain Explanation

**Short answer:** An MCP server is a program that exposes a set of tools, like list_secret_names or run_with_secrets, that Claude Code can call during a conversation. Claude Code starts it as a subprocess and talks to it over a fixed protocol, the Model Context Protocol, so any client that speaks MCP can use it.

## Why it matters

MCP servers can wrap almost anything: a database, an API, or in Claude Keychain's case, the macOS Keychain. The server decides exactly what Claude is allowed to do and what data comes back, which is what makes it possible to let Claude use a secret without ever handing Claude the secret itself.

## In Claude Keychain

Claude Keychain ships its own MCP server. It exposes two tools: one that lists the names of your saved secrets, and one that runs a command with a chosen secret injected as an environment variable, returning only that command's output.

## Common questions

**Do I have to write code to use an MCP server?**

No, not to use one someone else built. You install it and point Claude Code at it, usually with one command.

**Is an MCP server the same as a plugin?**

Close enough in spirit. It is a separate process with a defined set of tools, rather than code that runs inside Claude Code itself.

## Related

[MCP tool](/glossary/mcp-tool), [claude mcp add](/glossary/claude-mcp-add), [Subprocess](/glossary/subprocess)
