Capabilities

Capabilities are specific features that an MCP client or server explicitly declares support for during the initialization phase of a connection.

Negotiating Capabilities

When an MCP client connects to a server, they exchange "capability objects." This ensures that both sides know what the other is able to do.

Examples of Capabilities:

Extending Capabilities with HasMCP

HasMCP expands the standard capability set by offering advanced middleware features like Automated PII Masking and Secure Proxy Management. While standard MCP handles basic tool and resource listing, HasMCP’s capabilities include the ability to intercept, transform, and optimize data in real-time. This allows organizations to add enterprise-grade features—such as data sovereignty controls and complex interceptor logic—to their agentic layer without modifying the underlying MCP servers.

Questions & Answers

When are capabilities exchanged between an MCP client and server?

Capabilities are declared and exchanged during the initialization phase of a connection, ensuring that both parties understand which specific features the other supports.

What is the purpose of the `Roots` capability in an MCP client?

The Roots capability allows the client to provide the server with a list of "base directories" or workspaces, giving the server context about the specific file environments it may need to interact with.

How can a server notify a client when its available tools change?

If the server supports the List Changed capability, it can send a notification to the client whenever tools or resources are added or removed, prompting the client to refresh its discovery.

Back to Glossary