AI agents call kg_ask to retrieve information from Predicate without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
This tool retrieves data from a knowledge graph using standard SPARQL query operations. It has no side effects, cannot modify or delete data, and is explicitly marked as read-only. The only potential risk is information disclosure if the knowledge graph contains sensitive data, but the tool itself performs no destructive, executable, or financial operations.
From the tool's definition Tool description explicitly states "Execute a caller-drafted SPARQL SELECT/ASK against the live graph; logs usage. Read-only." The SPARQL SELECT and ASK operations are query-only operations that retrieve data without modification.
Attacks that exploit this kind of access
Execute a caller-drafted SPARQL SELECT/ASK against the live graph; logs usage. Read-only. It is categorised as a Read tool in the Predicate MCP Server, which means it retrieves data without modifying state.
Register the Predicate MCP server in PolicyLayer and add a rule for kg_ask: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Predicate. Nothing to install.
kg_ask is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the kg_ask rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for kg_ask. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
kg_ask is provided by the Predicate MCP server (nordicagents/predicate). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →