# Model Context Protocol (MCP)

> The Model Context Protocol (MCP) is an open standard for connecting AI applications to external tools and data. How MCP servers, tools and transports work, and what the 2026-07-28 spec changed.

Canonical: https://mobilevalidate.com/glossary/model-context-protocol-mcp · Last updated: 2026-09-26

![A cell tower sends signal to a SIM card; the line type is identified as mobile rather than landline or VoIP.](https://mobilevalidate.com/images/carrier-and-line-type-lookup.svg)

*Carrier lookup returns the line type (mobile, landline or VoIP) and the network behind the number.*


The Model Context Protocol (MCP) is an open standard that lets AI applications, such as chat assistants, coding agents and IDEs, connect to external tools and data through one common interface. An MCP **server** publishes tools, each with a name, a description and a JSON Schema for its input. An MCP **client** inside the AI application lists those tools, and the model calls them with structured arguments instead of guessing.

## How does MCP work?

MCP messages are JSON-RPC 2.0 requests and responses. The [specification](https://modelcontextprotocol.io/specification/2026-07-28) defines three main kinds of server features:

- **Tools**: functions the model can call, such as "look up these phone numbers". Each declares an `inputSchema` and, optionally, an `outputSchema`, so results come back as typed, structured content.
- **Resources**: data the application can read, identified by URIs.
- **Prompts**: reusable templates a user can pick.

Two transports are standard: **stdio**, where the client starts the server as a local process, and **Streamable HTTP**, where the server runs as a remote web service and clients authenticate, typically with OAuth or a bearer token.

## What changed in the 2026-07-28 specification?

MCP versions are dates. The current revision, [2026-07-28](https://modelcontextprotocol.io/specification/versioning), made the largest change since the protocol launched ([changelog](https://modelcontextprotocol.io/specification/2026-07-28/changelog)):

- **Stateless requests.** The `initialize` handshake and the `Mcp-Session-Id` header are gone. Every request carries its protocol version and client capabilities in `_meta`.
- **`server/discover`.** Servers must implement it to advertise their supported versions, capabilities and identity in one call.
- **Cacheable lists.** `tools/list` and similar results carry `ttlMs` and `cacheScope`, and servers should return tools in a deterministic order.
- **Deprecations.** Roots, Sampling and Logging are deprecated, and the older HTTP+SSE transport is formally deprecated in favour of Streamable HTTP.

Servers that also want to serve older clients keep supporting the handshake-based revisions, such as `2025-11-25`, alongside the new one.

## Why does MCP matter for verification and fraud?

Without a tool, a model can only guess from the digits of a phone number or the shape of an address. With one, an agent can check facts: whether a number is mobile or VoIP, whether it is ported, whether an e-mail mailbox exists. That also creates new risks:

- **Spend.** An agent in a loop can run up a bill. Paid tools need estimates, confirmation thresholds and hard caps.
- **Enumeration.** An agent must not be usable to test ranges of numbers or generated address lists.
- **Prompt injection.** Tool output is untrusted input to the model. Servers should return typed data, not free text that could carry instructions.

The specification leaves consent to the client: there SHOULD always be a human in the loop able to deny tool invocations.

## How does MobileValidate use MCP?

MobileValidate runs an [MCP server](/docs/mcp) with tools for phone and e-mail checks: carrier and line type, messaging-app presence, mailbox existence at major webmail providers, and spam reputation (limited access; US, CA and DE numbers). It accepts only spend-capped agent keys and test keys, never live keys. Calls above a confirmation threshold are refused until the agent repeats them with the confirmed amount, and the same anti-enumeration rules as the API apply. See [phone intelligence for AI agents with MCP](/blog/phone-intelligence-for-ai-agents-with-mcp) for a walkthrough.

## Frequently asked questions

### What is an MCP server?

It is a program that exposes tools, resources or prompts to AI applications over the Model Context Protocol. The AI client discovers the tools, and the model decides when to call them with structured arguments.

### What changed in the MCP 2026-07-28 specification?

The protocol became stateless. The initialize handshake and protocol-level sessions were removed, every request carries its protocol version in _meta, and servers must implement a server/discover call that advertises their versions and capabilities.

### Can an MCP server spend money on my behalf?

Only as far as its credentials allow. For paid APIs, use scoped keys with a daily spend cap and require confirmation for expensive calls. The MCP specification also asks clients to keep a human able to deny tool calls.
