MCP and JSON-RPC tool-call observation and refusal
Observe standard tool calls on a customer-controlled network path and refuse a request before the tool server acts.
Architecture and deployment position
The tool-call listener runs inside the customer VPC between the agent framework and a reachable MCP or JSON-RPC tool server. It observes the request as it is forwarded. A refusal is decided on the request path, so the call is not forwarded and the tool server has no partial action to roll back.
Agent framework
Sends a standard MCP or JSON-RPC tool call.
SmartVerify listener
Records the call, then forwards it or returns a typed error.
Tool server
Receives only calls that were not refused.
The supported protocol boundary
SmartVerify works with MCP and JSON-RPC calls that traverse the customer-controlled listener. The request remains a standard protocol message; this guide does not introduce a proprietary SDK or application API.
MCP tools/call request over JSON-RPC 2.0
{
"jsonrpc": "2.0",
"id": 42,
"method": "tools/call",
"params": {
"name": "customer_lookup",
"arguments": { "customer_id": "cust_123" }
}
}Records and refusal behavior
For an observed call, SmartVerify records the tool invoked, arguments given, and the call forwarded onward. When policy refuses the request, the listener returns an error in the JSON-RPC shape the agent framework already expects instead of forwarding the call.
Protocol shape of a refused call
{
"jsonrpc": "2.0",
"id": 42,
"error": {
"code": "<implementation-defined integer>",
"message": "<policy refusal message>"
}
}The error code and message above are placeholders because they are deployment policy details, not a documented public SmartVerify API contract.
Current limitations
- The tool server must be reachable through the customer network path. Vendor-hosted tool servers may leave no customer-side connection for the listener.
- The listener records the call forwarded onward, not what the tool server returned.
- Direct database or storage access that bypasses the tool server also bypasses this tool-call listener.
- Tool-call evidence does not by itself prove the later database statement. That comparison requires a separate database execution record.
MCP and JSON-RPC Observe and Refuse are available now. Check the Platform coverage grid for the authoritative status.