Retrieves user-created visual annotations with pagination support. Returns annotation data with has_screenshot flag instead of full screenshot data for token efficiency. Use url parameter to filter by project. MULTI-PROJECT SAFETY: This tool detects when annotations exist across multiple localhos...
AI agents call read_annotations to retrieve information from Vibe Annotations Server without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
Even though read_annotations only reads data, uncontrolled read access leaks sensitive information and racks up API costs — an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Attacks that exploit this kind of access
Retrieves user-created visual annotations with pagination support. Returns annotation data with has_screenshot flag instead of full screenshot data for token efficiency. Use url parameter to filter by project. MULTI-PROJECT SAFETY: This tool detects when annotations exist across multiple localhost projects and provides warnings with specific URL filtering guidance. CRITICAL WORKFLOW: (1) First call WITHOUT url parameter to see all projects, (2) Use get_project_context tool to determine current project, (3) Call again WITH url parameter (e.g.,. It is categorised as a Read tool in the Vibe Annotations Server MCP Server, which means it retrieves data without modifying state.
Register the Vibe Annotations Server MCP server in PolicyLayer and add a rule for read_annotations: 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 Vibe Annotations Server. Nothing to install.
read_annotations 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 read_annotations 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 read_annotations. 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.
read_annotations is provided by the Vibe Annotations Server MCP server (vibe-annotations-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.