Skip to main content
Glama

Canopy documentation

Server Details

Answers questions about the Canopy dashboards and API from the published docs. No sign-in.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a fairly clear target: explain_capability explains permission semantics, find_surface ranks pages for a task, list_surfaces enumerates the full nav map, get_guide fetches page content, and search_api queries OpenAPI docs. The main risk is find_surface vs list_surfaces vs search_api, which all retrieve pages/documents and differ only by search-vs-enumerate and UI-vs-API axis, but the descriptions make that distinction explicit.

Naming Consistency5/5

All five tools follow a clean verb_noun snake_case pattern (explain_capability, find_surface, get_guide, list_surfaces, search_api). The verbs are also semantically meaningful: list for enumeration, find/search for lookup, get for fetch-by-id.

Tool Count5/5

Five tools is well-scoped for a documentation/UI-map server, and each covers a genuinely distinct retrieval mode (capability lookup, task-to-page search, enumeration, page content, API reference search). No tool looks redundant or like filler.

Completeness4/5

The surface covers the core docs workflows: discovering pages, understanding capabilities, reading guides, and finding API operations. A minor gap is there is no way to enumerate or search capabilities directly (explain_capability requires already knowing the capability id) and no free-text doc search beyond task-to-surface matching, but both are workable via list_surfaces.

Available Tools

5 tools
explain_capabilityExplain an administrator capabilityA
Read-only
Inspect

What a capability such as env_roles.manage or billing.manage lets someone do, and which pages it opens. The answer to "why can't I see this button": a page shows only for someone holding one of its listed capabilities, and its write actions only for the matching manage capability.

NameRequiredDescriptionDefault
capabilityYesA capability key, e.g. env_roles.view.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe lookup, so the description is not repeating safety properties. It adds the domain rule that a page shows only for holders of one of its listed capabilities and write actions only for the matching manage capability, which helps interpret results. It does not say what the answer looks like (list of pages? textual explanation?), which is the main remaining behavioral gap.

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

Conciseness4/5

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

Two tight sentences, front-loading the core purpose before the motivating scenario. The second sentence is domain explanation rather than tool mechanics, but it does earn its place by telling the agent how to interpret the output.

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 one required parameter and no output schema, the description needs to hint at what comes back; 'which pages it opens' does so at a high level. A brief note on whether the result is prose versus a structured page list would make it complete.

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 description coverage is 100% and the single parameter is already documented with an example (env_roles.view). The description supplies additional example keys (env_roles.manage, billing.manage) that illustrate the dotted resource.action convention, but adds no format or validation guidance beyond that, so the 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?

The description states a specific question the tool answers: what a named capability (e.g. env_roles.manage, billing.manage) grants and which pages it opens. That is concrete and distinguishable in spirit from the sibling read tools (find_surface, list_surfaces, get_guide, search_api), but no sibling is named, so the agent must infer the boundary itself.

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?

The framing 'The answer to "why can't I see this button"' gives the agent a clear diagnostic scenario for reaching for this tool rather than a surface-listing tool. It stops short of saying when NOT to use it or explicitly routing to find_surface/get_guide, so it lacks full alternative coverage.

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

find_surfaceFind where something is done in the dashboardsA
Read-only
Inspect

Given what someone wants to do ("rotate a webhook secret", "invite an administrator", "why can't I see Hierarchy"), return the pages where it happens, ranked, each with its menu path, the capability that opens it, and its guide.

NameRequiredDescriptionDefault
queryYesWhat the person wants to do, in their words.

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=true is consistent with a lookup tool and not contradicted. The description goes beyond the annotation by disclosing the return shape — ranked pages, each with menu path, opening capability, and guide — which is valuable since there is no output schema. It does not mention result caps or what happens with a zero-hit query.

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

Conciseness5/5

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

One sentence, front-loaded with the input and immediately followed by the return contract. The inline examples earn their space by showing query syntax, and there is no filler.

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?

For a one-parameter read-only lookup with no output schema, the description covers both input semantics and the shape of each result, which is most of what an agent needs. Only minor gaps remain: no note on result limits, ranking criteria, or behavior on no matches.

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 single parameter is already documented as 'What the person wants to do, in their words.' The description reinforces this with concrete examples, including a question-form query, which usefully implies that keyword-style input is not required. That is a modest addition on top of a fully documented schema, so a 3 rather than a 4.

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 and resource: given a natural-language goal, return ranked pages plus their menu path, capability, and guide. That distinguishes it from list_surfaces (enumeration) and get_guide (retrieval of one guide) by implication, but no sibling is named explicitly.

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

Usage Guidelines3/5

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

The parenthetical examples ('rotate a webhook secret', 'why can't I see Hierarchy') effectively demonstrate the intended query shape and indirectly signal that this is a natural-language intent search rather than a keyword lookup. However, there is no explicit when-to-use statement, no exclusions, and no routing to explain_capability or list_surfaces when this tool is the wrong choice.

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

get_guideRead a guideA
Read-only
Inspect

A docs page as markdown: for a dashboard guide, the menu path, the exact controls to click in order, and the reasons a control may be missing. Pass the guide URL or path from find_surface or list_surfaces, or a surface id such as console.roles.

NameRequiredDescriptionDefault
pageYesA docs URL, a /docs/... path, or a surface id.

TDQS

A3.9/5.0
Behavior4/5

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

readOnlyHint=true already establishes the safety profile, so the description's job is to add behavioral detail — and it does, disclosing the response composition (menu path, ordered click steps, fallback explanations for absent controls). With no output schema present, this return-shape disclosure carries real weight; only error behavior for invalid pages is left unstated.

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

Conciseness5/5

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

Two sentences, front-loaded with the return contract before the input sourcing instruction. Nothing is redundant with the title or schema, and every clause carries information an agent would otherwise have to guess.

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?

For a single-parameter read tool with no output schema, the definition covers what is returned, where the argument comes from, and the accepted identifier forms. Minor gaps remain around behavior on unknown surface ids or non-guide docs pages, but nothing essential to correct invocation is missing.

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 baseline would be 3, but the description adds value beyond the schema by showing a concrete surface-id example (console.roles) and naming the sibling tools that produce valid values. That clarifies accepted input forms and their origin in a way the schema's one-line property description does not.

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?

The description opens with a concrete output contract — a docs page rendered as markdown containing menu path, ordered controls, and missing-control reasons — which tells an agent exactly what it gets back. It is distinguishable from find_surface and list_surfaces because it explicitly consumes their output as input, though it never contrasts itself with explain_capability, the closest conceptual sibling.

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

Usage Guidelines3/5

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

It gives useful input-provenance guidance: pass the URL or path from find_surface or list_surfaces, which implies a discovery-then-read workflow. However, it never states when to use get_guide rather than explain_capability or search_api, and gives no exclusions or failure conditions, so usage is only implied.

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

list_surfacesList every page of the Developer Console and Admin WorkspaceA
Read-only
Inspect

Every left-nav page of both signed-in applications: the application, the menu path in the labels on screen, the capability that opens it, what must be selected first, and the guide that walks through it. The same data as /ai/ui-map.json.

NameRequiredDescriptionDefault
applicationNoLimit to one application.

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, so the description is free to spend its words on payload shape: each row carries application, on-screen menu path, opening capability, selection prerequisites, and the related guide. The pointer to /ai/ui-map.json usefully signals this is a static mirror of a known artifact, letting an agent skip the call if it already has that file.

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

Conciseness5/5

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

Two sentences, no filler. The scope constraint ('Every left-nav page of both signed-in applications') is front-loaded before the field list and the artifact reference, which is exactly the right order for an agent scanning for fit.

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 correctly compensates by enumerating the returned fields, which is the most important gap to close for a list tool. Minor omissions remain: no mention of result volume, ordering, or how the optional application filter changes the payload.

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?

Single optional parameter with a fully documented enum and 100% schema coverage, so the schema does the work. The description only implies the default (both applications) and adds no filtering or ordering semantics beyond what the enum already states.

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?

Names the resource precisely — every left-nav page of both signed-in applications — and enumerates the per-page fields returned, so an agent knows exactly what comes back. The listing verb is carried by the name/title rather than the description, and differentiation from find_surface (single lookup) is only implicit.

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

Usage Guidelines3/5

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

The implied usage — enumerate the whole nav map — is clear from 'Every left-nav page,' but there is no explicit statement of when to use this versus find_surface or get_guide. No prerequisites or exclusions are given; the agent must infer routing from the sibling names.

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

search_apiFind the API operation behind a taskA
Read-only
Inspect

Search the published OpenAPI documents by words from the task or the resource. Returns method, path, operation id, and the reference page for each match. Reference pages live at /docs/api-reference/{operationId}; never guess those URLs.

NameRequiredDescriptionDefault
queryYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true, so the safety profile is covered. The description adds genuine context beyond that: it enumerates the four fields returned per match and documents the URL convention (/docs/api-reference/{operationId}) with an explicit prohibition on guessing, which shapes downstream agent behavior.

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

Conciseness5/5

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

Three short sentences: purpose, return shape, then the URL caution. Front-loaded with the core action and no filler. Every sentence contributes information an agent would otherwise have to guess.

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?

A single read-only parameter tool with no output schema; the description supplies the return fields itself and adds the reference-page convention. Nothing needed to invoke it correctly is missing.

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 0% for the single 'query' parameter, so the description must carry the load. It does: it explains the parameter should be words drawn from the task or the resource name, which tells the agent what to put in the string rather than leaving it to the bare minLength:2 constraint.

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 and resource: 'Search the published OpenAPI documents'. The return fields (method, path, operation id, reference page) further pin down what the tool yields. It does not explicitly contrast itself with siblings like find_surface or list_surfaces, so an agent must infer the boundary from naming.

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

Usage Guidelines3/5

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

'Search ... by words from the task or the resource' implies when to reach for it, and the 'never guess those URLs' warning is a concrete usage constraint. But there is no explicit when-not guidance and no sibling is named as the alternative for lookup-by-path or enumeration cases.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedexplain_capability
    • First observedfind_surface
    • First observedget_guide
    • First observedlist_surfaces
    • First observedsearch_api

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables users to ask natural-language questions and get structured, source-backed answers across public filings, earnings transcripts, company financials, stock and crypto market data, and prediction markets news and research. It also provides live documentation lookup and resources for setup, troubleshooting, and discovery.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables coding agents to search public documentation, retrieve SDK snippets with verification status, and access published pricing and an llms.txt resource in a read-only, credential-free way.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources