MCP server
An MCP server is a program that exposes specific capabilities—tools, resources, and prompts—to AI applications through the Model Context Protocol's standardized interfaces.
Where a server fits
The Model Context Protocol uses a client-host-server architecture. The host is the AI application: it creates and manages client instances, controls their permissions and lifecycle, and enforces security and consent. Each client keeps one stateful session with one server, a 1:1 relationship. Servers sit at the other end and provide specialized context and capabilities, either as local processes or as remote services.
A server exposes three kinds of primitives: resources (data a client can read), tools (actions a client can invoke) and prompts (reusable templates). It declares which of these it supports when the session starts, and a client can only use what the server advertised. The protocol is also designed so that a server cannot read the whole conversation or see into other servers: it receives only the context it needs, and the host keeps the full history.
Practical example
Suppose a site runs an MCP server with one tool, search_products. The messages below follow the JSON-RPC shapes in the specification; the tool itself is illustrative. First the client asks what the server offers:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }
The server answers with each tool’s name, description and a JSON Schema for its input:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "search_products",
"description": "Search the product catalog by keyword",
"inputSchema": {
"type": "object",
"properties": { "query": { "type": "string" } },
"required": ["query"]
}
}
]
}
}
When the model decides to use it, the client sends a call with the arguments:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": { "name": "search_products", "arguments": { "query": "hiking boots" } }
}
The server owns the data and the logic. The client only needs to know the shape of the request and of the result.
SEO / GEO
An MCP server is not something a crawler finds. An AI application has to be configured to connect to it, then calls its tools or reads its resources over a session. That makes it a separate channel from your public pages, and it does not replace crawl access, indexing or the checks in the AI Crawler Access Checker. Google’s documentation says no special files or markup are needed to appear in its AI features; see Optimizing for AI Overviews and AI Mode.