MCP in one page
The actors of the Model Context Protocol and the message that Xokepoint authorizes.
The Model Context Protocol is the open standard that connects language models to tools and data. The MCP host is the environment where the agent runs, the MCP client is the part of the host that speaks the protocol, and the MCP server exposes tools that call the real APIs. Without Xokepoint, the client talks directly to the server. With it, every message goes through the PEP.
The message that matters for authorization is tools/call, in JSON-RPC 2.0. It has the tool name and the arguments that the model chose:
{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "create_issue",
"arguments": {"repository": "acme/payments", "title": "Checkout failure"}
}
}The detail that changes everything is in arguments. The same tool, create_issue, can be harmless in a test repository and serious in the payments repository. An authorization that looks only at the tool name does not see that difference. So Xokepoint reads the arguments and, when the tool mapping says which argument is the resource, decides on it (COAZ-MCP mapping).
Xokepoint also accepts only tools that the administrator reviewed. Each registered MCP server has an approved catalog, with the inputSchema of each tool. When the server publishes a new tool, it stays out of the catalog until review. A server that changes without notice does not gain new tools because of it.