Call a read-only function on a smart contract
AI agents call call_read_only_function to retrieve information from Stacks AI MCP Server without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
Read-only function calls on smart contracts are data retrieval operations that do not modify state or execute arbitrary logic. They pose minimal risk as they cannot create, modify, or delete data, execute external operations, or move funds. The constraint to read-only functions ensures no state-changing operations can occur.
From the tool's definition Tool name includes 'read_only' and description states 'Call a read-only function on a smart contract', which explicitly indicates query/retrieval operations with no side effects.
Attacks that exploit this kind of access
Call a read-only function on a smart contract. It is categorised as a Read tool in the Stacks AI MCP Server MCP Server, which means it retrieves data without modifying state.
Register the Stacks AI MCP Server MCP server in PolicyLayer and add a rule for call_read_only_function: 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 Stacks AI MCP Server. Nothing to install.
call_read_only_function 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 call_read_only_function 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 call_read_only_function. 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.
call_read_only_function is provided by the Stacks AI MCP Server MCP server (stack-ai-mcp/stacks-mcp-server). 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 →