AI agents invoke run_agent to trigger actions in Lens. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.
| Parameter | Type | Required | Description |
|---|---|---|---|
message | string | Yes | The message/prompt to send to the agent |
agent_id | string | Yes | Agent UUID (from list_agents) |
session_id | string | — | Session ID to continue a conversation (omit for new session) |
format_instruction | string | — | Optional output format instruction (e.g. 'Respond in JSON') |
Parameters from the server's own tool schema.
This tool triggers execution of an external agent with effects that depend entirely on what that agent does—it could perform read operations, modify data, call external APIs, or perform other side effects based on the agent's design. The synchronous execution model and support for multi-turn conversations and image analysis indicate substantial computational and potential side-effect capability.
From the tool's definition The tool description explicitly states 'Execute a Lens agent directly (synchronous)' and 'Returns the full response inline.' This indicates the tool runs code/agent logic whose effects depend on the agent's configuration and arguments.
Attacks that exploit this kind of access
Execute a Lens agent directly (synchronous). Returns the full response inline. Supports session_id for multi-turn conversations and images for VLM analysis. Use list_agents to get agent IDs. It is categorised as a Execute tool in the Lens MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
run_agent accepts 4 parameters: message, agent_id, session_id, format_instruction. Required: message, agent_id. The full parameter table on this page comes from the server's own tool schema.
Register the Lens MCP server in PolicyLayer and add a rule for run_agent: 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 Lens. Nothing to install.
run_agent is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the run_agent 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 run_agent. 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.
run_agent is provided by the Lens MCP server (lens-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 →