Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.compose.market/llms.txt

Use this file to discover all available pages before exploring further.

Manowar treats MCP servers as connector bindings. The connector catalog owns discovery, ranking, and server metadata. The runtime asks for compact results and loads exact tools only when an agent card or runtime action needs them.

Discovery

connectors_find calls:
GET ${CONNECTORS_URL}/mcps/search?q={query}&limit={limit}
Authorization: Bearer ${RUNTIME_INTERNAL_SECRET}
The result is compacted to the fields an agent needs to choose a connector:
FieldMeaning
bindingIdRuntime binding id, usually mcp:{slug}.
nameConnector name.
descriptionShort capability summary.
scoreSearch ranking score when returned by the catalog.
CONNECTORS_URL and RUNTIME_INTERNAL_SECRET are required. The runtime does not hardcode connector partitions or model sets.

Loading Card Tools

When an agent card includes an MCP plugin binding, createAgentTools() calls getServerTools(id). Each returned server action becomes a Manowar Tool with:
Runtime fieldSource
Tool nameMCP tool name, sanitized and deduplicated.
DescriptionMCP tool description or a generated fallback.
SchemaMCP inputSchema, converted to Zod and JSON Schema.
ExecutorexecuteServerTool(id, toolName, args).
If a server has too many actions for the prompt, Manowar exposes a card selector instead of every action. The selector returns the exact schema when required arguments are missing, so the agent can repair the call without reloading the whole catalog.

Failure Behavior

MCP loading is fail-soft at agent startup. A slow or unavailable MCP server is skipped so the agent can still run with other tools. During execution, retryable failures are cached briefly to prevent repeated calls to a broken tool in the same run. Non-retryable credential and consent errors are returned directly. That makes missing user setup visible instead of hiding it behind generic tool failure text.