Skip to main content
Glama

compose_goal

Read-only

INFLUENCE — hypermedia for a goal across providers: affordances with full href, HTTP method, safety and idempotence from RFC 9110 semantics, path parameters marked ready or needed against your state, the contract location for the full request schema, matching Arazzo workflows with their next step, and each provider's rate limits, pricing, MCP server and terms. POST back state.done and state.have via the replan link to get what is possible now. Pass operations from a plan_goal bundle, or a goal to rank within the providers. Priced B2 (cross-catalog synthesis) — $0.05 per call under pay-as-you-go; included in Understanding and Influence. See apis://prices.

Input Schema

NameRequiredDescriptionDefault
goalNoThe goal, ranked within the providers when operations is not given.
limitNoAffordances to return when ranking a goal (1-20, default 8).
stateNoWhat is done and what you hold: {"done":["stripe:POST /v1/payment_intents"],"have":{"AccountSid":"AC..."}}.
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
providersYesProvider slugs, e.g. ["stripe","twilio"].
operationsNoOperation ids from a plan_goal bundle, e.g. ["stripe:POST /v1/payment_intents"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: output contents, the replan-loop mechanism, and explicit pricing ('B2 cross-catalog synthesis — $0.05 per call', included in Understanding and Influence, see apis://prices). The 'POST back ... via the replan link' phrasing is slightly risky (an agent could misread POST as an action of this tool) but it is scoped to the replan link, not this call.

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?

The core purpose is front-loaded, but the opening is one very long run-on clause chaining seven or eight deliverable types, which is hard to parse at a glance. Sentences do carry information (deliverables, invocation modes, pricing) with little pure filler, but bullet-style structure would serve better than the packed em-dash list.

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

Completeness4/5

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

With no output schema, the description must carry the return contract, and it does: it enumerates the affordance fields, the contract location pointer, Arazzo workflow matching, and provider rate limits/pricing. Combined with 100% schema coverage for six parameters and read-only annotations, an agent has enough to call this correctly; only the exact response envelope shape is left implicit.

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

Parameters3/5

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

Schema coverage is 100% and the parameter descriptions already explain goal-vs-operations ranking and give a state example. The description restates the operations-from-plan_goal and goal-ranking semantics and clarifies that state.done/state.have is the state shape, but adds little beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: produces hypermedia affordances for a goal across providers, enumerating exactly what each affordance carries (href, HTTP method, safety/idempotence, path params, contract location, Arazzo workflow, rate limits/pricing). It also names plan_goal as the upstream source of operations, which orients the agent within the workflow. Jargon-heavy ('INFLUENCE — hypermedia') but the concrete output list keeps it from being vague.

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

Usage Guidelines4/5

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

Gives two explicit invocation modes: pass `operations` from a plan_goal bundle, or pass a `goal` to rank within the providers. It also explains the follow-up loop: POST state.done/state.have via the replan link to get what is possible now. Clear context, though it never states when NOT to use this versus plan_goal or find_operations.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources