---
title: "MCP server"
type: "glossary term"
url: "https://aifordevs.org/glossary#mcp-server"
markdown: "https://aifordevs.org/glossary/mcp-server.md"
publisher: "AI for Devs"
license: "https://aifordevs.org/reuse"
attribution: "Credit AI for Devs and link to https://aifordevs.org/glossary#mcp-server"
---

# MCP server

An MCP server is a program that exposes tools, resources, and prompts to any MCP-compatible client. Write one server for your API or database, and every MCP host, from coding agents to chat apps, can use it.

Tools are model-controlled functions, resources hold context data, and prompts are templates for users. A server declares each capability, then answers requests such as tools/list and tools/call. The spec says a human should be able to deny tool invocations, and that tool annotations are untrusted unless they come from a trusted server.

## Example

A weather server lists a get_weather tool whose inputSchema requires location. A client calls it with tools/call and {"location": "New York"}, then receives text content back.

## Source

[Model Context Protocol specification: Tools (2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/server/tools)

## Related terms

- [MCP](https://aifordevs.org/glossary#mcp)
- [Tool calling](https://aifordevs.org/glossary#tool-calling)

## Read the article

[What is an MCP server? Build and test one in TypeScript](https://aifordevs.org/articles/build-an-mcp-server)

## Cite this term

AI for Devs. "MCP server." https://aifordevs.org/glossary#mcp-server

- Page: https://aifordevs.org/glossary#mcp-server
- Markdown: https://aifordevs.org/glossary/mcp-server.md
- Reuse: Quote or summarize with a link to this page. Terms: https://aifordevs.org/reuse
- Publisher: AI for Devs
