Skip to content

search_guidance

Search the Compass guidance catalog (coaching opportunities and excellence behaviors). Filter by guide_key, signal_key (which signals trigger it), guidance kind, priority, or a free-text query against the description. Returns guide_key, description, kind, priority, actionability, and the signals that trigger it. Results are narrowed to the project's verticals when those have been locked.

Parameters

Parameter Type Required Default Description
guide_key string no Exact guide_key (e.g. 'guide.close_the_loop'). Optional.
signal_key string no Return guidance triggered by this signal_key. Optional.
query string no Case-insensitive substring search on description / guide_key. Optional.
guidance_kind string (enum: opportunity, excellence) no Filter by guidance kind. Optional.
priority string (enum: p0, p1, p2) no Filter by priority. Optional.
active_only boolean no True Only return active guidance. Default: true.
limit integer no 25 Max results. Default: 25.

Example call

from fastmcp import Client
from fastmcp.client.auth import BearerAuth

async with Client(
    "https://mcp.chordia.ai/mcp",
    auth=BearerAuth("YOUR_APPLICATION_KEY"),
) as client:
    result = await client.call_tool(
        "search_guidance",
        {
            "guide_key": "...",
            "signal_key": "..."
        },
    )
    print(result.content[0].text)
# Plus any of the 7 optional params from the table above.

In Claude Desktop, Cursor, or any MCP-aware client the same call is issued by the LLM automatically once the server is configured — see integrations.

Result

Success responses are JSON of the shape below. Optional fields are omitted when the underlying data isn't present.

{
  "items": [
    {
      "guide_key": "confirm_next_steps",
      "display_name": "Confirm next steps",
      "description": "Agent should explicitly state and confirm next steps.",
      "guidance_kind": "behavior",
      "priority": "medium",
      "applicable_verticals": ["sales"]
    }
  ],
  "count": 1
}

Auth context

Every call receives the connection's project_id and access_scope automatically — the caller never passes them. See Authentication & RBAC for how scope narrows results.

Errors

All tools return JSON. Errors are wrapped in { "error": "..." }. The most common shapes are documented in Python integration → Error shape.