Skip to main content
Glama
Wiro MCP Server

Wiro MCP Server

Official
by wiroai

Connect an agent to a Wiro project

bind_agent_project
DestructiveIdempotent

Connect a deployed agent to a Wiro project so it can run Wiro models without a key in chat. Preview the change first, then confirm to bind.

Instructions

Connect a deployed agent to a Wiro project, so it can run Wiro models, with no key in this chat. Without project_id it takes the project of this connection; project_id takes one from list_projects. Call it without confirm first: it shows the project, what it replaces, whether a running agent restarts and which wallet pays for the agent's model runs, and changes nothing. After the user agrees, repeat the call as its nextAction shows, with confirm: true. Connecting the same project again changes nothing and does not restart the agent; if the project's secret changed, restart the agent with control_agent. On a team agent this needs a team admin or the person who deployed it.

Input Schema

NameRequiredDescriptionDefault
confirmNofalse (default) only shows what would change. true connects the project.
agent_guidYesThe deployed agent's guid, from list_my_agents.
project_idNoThe id of a project, as a string, from list_projects. Leave it out for the project of this connection.

Output Schema

NameRequiredDescriptionDefault
notesYes
stateYes
walletNoWhich wallet pays for the model runs the agent starts.
appliedNo1 when the stored project changed, 0 when it was already this one.
projectYes
restartNoscheduled: a running agent restarts with the project. none: nothing changed, or the agent is not running and reads it at its next start. failed: the project is saved, but the running agent needs control_agent restart.
replacesYes
warningsYes
agentGuidYes
nextActionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.1

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructiveHint, idempotentHint, openWorldHint), it discloses that the default call changes nothing and what the preview reveals (project, what it replaces, restart behavior, which wallet pays). It also confirms the idempotency nuance — same project reconnects without restart — and names the authorization requirement (team admin or deployer). It stops short of describing failure modes or what the connected state looks like afterwards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with purpose, but the paragraph is dense and mixes four distinct concerns (preview/confirm flow, idempotency, secret rotation, permissions) into one block. Every sentence is informative, yet the procedural steps would read more cleanly as ordered clauses rather than a run-on sequence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive-but-idempotent mutation with an output schema, it covers everything an agent needs: dry-run-first behavior, authorization requirements, the confirm follow-up, restart implications, and where to go if the secret changed. Return values need not be explained since an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds protocol-level meaning: the two-call confirm pattern, that project_id is optional and defaults to the connection's project, and that the response carries a nextAction directing the follow-up call. That is real information the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Connect a deployed agent to a Wiro project') plus the outcome ('so it can run Wiro models, with no key in this chat'). This clearly separates it from sibling tools like connect_agent_oauth (OAuth flow) and control_agent (lifecycle control), so an agent can choose without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit call protocol: invoke without confirm first to preview, then repeat with confirm: true after user agreement, following the response's nextAction. It also names the default when project_id is omitted and routes the secret-rotation case to control_agent rather than reconnecting.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.