Skip to main content
Glama

Cloud FinOps Skill & MCP

Server Details

Cloud cost + FinOps knowledge for AI agents: AWS/Azure/GCP optimisation, AI spend, waste playbooks.

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
Uptime
54.4% over 62 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
OptimNow/cloud-finops-skills
GitHub Stars
63
Server Listing
cloud-finops-mcp

TDQS

A4.8/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct action (list/find/get) on one of two resources (playbooks/references). Descriptions explicitly state when to use each, preventing misselection.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (list_playbooks, find_references, get_playbook). No deviations or mixed conventions.

Tool Count5/5

6 tools is well-scoped for a read-only FinOps knowledge base, covering discovery and retrieval for two resource types without redundancy.

Completeness5/5

Covers the full lifecycle for its read-only purpose: list, filter, and fetch for both playbooks and references. No missing operations for a guidance library.

Available Tools

6 tools
find_playbooksFind a waste runbookA
Read-onlyIdempotent
Inspect

Finds the runbook for a specific cloud waste pattern, filtered by provider, service, waste category or detection confidence. Useful before answering a specific waste or cost-fix question: each runbook includes a tested detection query the user can run in their own account, so it also serves questions about the user's own resources.

Use this for questions like "which VMs are running for nothing",
"why is our NAT bill so high", "my NAT gateway processes 10TB to S3",
"should I delete these old snapshots", "which of our RIs are about to
expire", "what waste can we clean up safely without review" - anything
that names a provider, a waste category, or how confident the
detection needs to be before acting. Patterns
covered include NAT gateways and VPC endpoints, expiring Savings
Plans / RIs / reservations, snapshot sprawl, S3 lifecycle gaps, idle
or stopped VMs, orphaned disks / public IPs / EBS volumes, GPU and
SageMaker sizing, Kubernetes idle capacity, and schedule blindness.

All filters are optional and combine with AND semantics. String matching
is case-insensitive and exact. Examples:

- ``find_playbooks(scope="aws")`` - all AWS-specific playbooks
- ``find_playbooks(waste_category="idle")`` - every idle-resource pattern
- ``find_playbooks(scope="cross-cloud", confidence="obvious")``

Args:
    scope: ``"aws"``, ``"azure"``, ``"gcp"``, or ``"cross-cloud"``.
    service: Provider service exact-match (e.g. ``"AWS NAT Gateway"``).
    waste_category: ``"orphaned"``, ``"idle"``, ``"overprovisioned"``,
        ``"commitment-mismatch"``, ``"schedule-blindness"``,
        ``"modernization"``, ``"ai-ml-inefficiency"``, or ``"egress"``.
    confidence: ``"obvious"`` (single signal is enough),
        ``"likely"`` (two signals required), or ``"possible"``
        (needs human review). From the OptimNow three-tier confidence
        model in `finops-waste-detection-playbooks`.

Returns ``{"filters": {...}, "playbooks": [...], "total": N}``. A query
that matches nothing also returns `hint` and `valid_values`, so a typo is
distinguishable from a genuine gap in coverage.
ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNo
serviceNo
confidenceNo
waste_categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely new behavior: filters combine with AND, string matching is case-insensitive and exact, and a no-match query returns hint/valid_values so a typo is distinguishable from a coverage gap. It does not discuss rate limits or result size, which is the only shortfall.

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?

Front-loaded with purpose, then usage, then argument semantics, then return shape — a sensible order. The battery of example questions is long, but each maps to a filter dimension and earns its place as disambiguation; only marginal trimming is possible.

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 four-filter lookup tool with annotations covering safety, the description covers purpose, routing, filter semantics, enum values, matching rules, and even the no-match return behavior. Although an output schema exists, the description supplements it usefully with the hint/valid_values edge case rather than redundantly restating fields.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden — and it does: it enumerates all four scope values, all eight waste_category values, the three confidence tiers with their signal requirements, and specifies exact-match semantics for service with an example. This is materially more than the bare 'string' schema types.

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 ('finds') and resource ('runbook for a cloud waste pattern') plus the filter dimensions that define the lookup. The filter-based semantics clearly separate it from list_playbooks (unfiltered enumeration) and get_playbook (single fetch by identifier), so an agent can route without opening the schema.

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?

Explicitly frames when to use it ('before answering a specific waste or cost-fix question') and supplies a long list of concrete triggering questions, including the insight that it also answers questions about the user's own resources. The condition for each filter is spelled out, leaving little to inference.

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

find_referencesFind the right FinOps guideA
Read-onlyIdempotent
Inspect

Find which guidance serves a FinOps question - how to commit, size, allocate, charge back, forecast, or govern cloud and AI spend.

Use this for questions like "how should we size Savings Plans",
"what should Finance own in chargeback", "what does a Crawl-stage org
tackle first" - anything that maps to FinOps Framework facets (domain,
capability, phase, persona, maturity) - and you want only the
references that serve it, instead of scanning the full list.

All filters are optional and combine with AND semantics. String matching
is case-insensitive and exact (not substring). Examples:

- ``find_references(domain="Optimize Usage & Cost")``
- ``find_references(phase="Optimize", persona="Engineering")``
- ``find_references(persona="Engineering", persona_primary_only=True)``
- ``find_references(capability="Rate Optimization")``
- ``find_references(maturity="Crawl")``

Args:
    domain: FinOps Framework domain (e.g. ``"Optimize Usage & Cost"``,
        ``"Quantify Business Value"``, ``"Manage the FinOps Practice"``).
    capability: FinOps capability (matches ``fcp_capability`` and
        ``fcp_capabilities_secondary``).
    phase: FinOps phase (``"Inform"``, ``"Optimize"``, ``"Operate"``).
    persona: Persona (matches ``fcp_personas_primary`` and
        ``fcp_personas_collaborating``).
    maturity: Entry maturity level (``"Crawl"``, ``"Walk"``, ``"Run"``).
    persona_primary_only: when True, ``persona`` matches only the primary
        list. Use it when the default match barely narrows the set -
        broad personas like Engineering collaborate on nearly every file,
        so filtering on collaboration is descriptive, not discriminating.
        ``persona="Engineering", persona_primary_only=True`` is the
        engineering reading list; the default is the everything-they-touch
        view.

Returns ``{"filters": {...}, "references": [...], "total": N}``. A query
that matches nothing also returns `hint` and `valid_values`, so a typo is
distinguishable from a genuine gap in coverage.
ParametersJSON Schema
NameRequiredDescriptionDefault
phaseNo
domainNo
personaNo
maturityNo
capabilityNo
persona_primary_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Beyond annotations, it discloses AND semantics across filters, case-insensitive exact string matching, persona_primary_only behavior, and the return shape including a no-match hint/valid_values. This is substantial behavioral context not available in structured data.

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?

The description is front-loaded with purpose and usage, then moves to filter semantics, examples, args, and return shape. Despite its length, every section carries needed information for a 6-parameter search tool and the examples are illustrative rather than padding.

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?

Given the schema has no property descriptions and no enums, the description covers all call-relevant details: optionality, AND combination, string-matching behavior, field matching semantics, return object, and the no-match hint. The presence of an output schema further reduces the burden, so nothing needed for correct invocation is missing.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates: it documents each of the six parameters, gives examples for four of them, explains matching semantics, and even clarifies the nuanced persona_primary_only behavior. This is far beyond the bare schema.

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?

Description states a specific verb and resource: 'Find which guidance serves a FinOps question' and returns references filtered by FinOps facets. It differentiates from list_references with 'instead of scanning the full list', but it does not explicitly contrast with the sibling find_playbooks, so it stops short of full sibling differentiation.

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?

It gives explicit usage context with examples ('how should we size Savings Plans', 'what should Finance own in chargeback') and an explicit alternative ('instead of scanning the full list'). It lacks an explicit when-not or routing to other siblings like get_reference or find_playbooks, so it earns a 4 rather than a 5.

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

get_playbookRead one waste runbookA
Read-onlyIdempotent
Inspect

Fetch the step-by-step runbook for one specific waste pattern: symptoms, the detection queries to run, the fix, and the anti-pattern to avoid.

Use this when the user asks how to detect, confirm, or fix one specific
named waste pattern (zombie NAT gateway, snapshot sprawl, idle SageMaker
endpoint, ...). It also serves questions about the user's own resources
("which of my X..."): the runbook's detection query is written to be run
in the user's account, so the answer does not depend on access to that
account.

Args:
    name: Playbook slug as returned by ``list_playbooks`` (e.g.
        ``"aws-zombie-nat-gateway"``, ``"azure-orphan-disks"``,
        ``"cross-cloud-untagged-spend-drift"``).

Returns ``{"name": ..., "title": ..., "content": "...", "lines": N}``.
On miss, returns ``{"error": ..., "suggestions": [...]}`` with up to
three string-distance matches so the caller can self-correct.

A host with MCP Apps (SEP-1865) support may render this result via the
linked ``ui://cloud-finops/playbook-viewer`` resource instead of showing
the raw markdown.
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, etc., but the description adds valuable behavioral details beyond those: it describes the response format, the miss behavior with suggestions for self-correction, and notes optional MCP Apps rendering. This is rich, transparent behavior.

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?

The description is well-structured with a clear purpose statement, usage guidelines, parameter explanation, and return details. It is slightly verbose but each part serves a purpose; no major waste.

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?

Given the tool complexity (single parameter, output schema) the description covers all necessary aspects: purpose, when to use, parameter semantics, return format, error handling, and rendering context. Nothing missing for correct invocation.

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

Parameters5/5

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

Schema coverage is 0% and the parameter has no description, so the description fully compensates by explaining that 'name' is a playbook slug as returned by list_playbooks and provides concrete examples. This adds crucial meaning beyond the bare schema.

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?

The description clearly states the verb 'Fetch' and the resource 'step-by-step runbook for one specific waste pattern', and it enumerates the contents (symptoms, detection queries, fix, anti-pattern). It is distinct from siblings like list_playbooks or find_playbooks.

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?

Provides explicit when-to-use guidance: 'when the user asks how to detect, confirm, or fix one specific named waste pattern' and notes it serves questions about the user's own resources. It distinguishes itself from list/find tools by focusing on a single named pattern.

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

get_referenceRead one FinOps guideA
Read-onlyIdempotent
Inspect

Fetch the guidance on one FinOps topic - the billing mechanics, decision rules and worked examples behind a defensible answer - either whole or one section at a time.

Use this when you need the actual content of one known reference,
after ``list_references`` or ``find_references`` told you which one
serves the question. Advisory questions (commitment sizing, chargeback
design, allocation methodology) are served by the reference's decision
rules and worked examples, which a summary does not carry.

Pass ``section`` when the question is narrower than the file. The
``approx_tokens`` hint in the listing tells you when this matters: the
AWS pattern catalogue runs past 25,000 tokens and the pattern catalogues
are enumerated lists, so a question about S3 lifecycle wants one section of
``finops-aws-patterns``, not all of it. Omit ``section`` for the whole
file when you need the cross-cutting reasoning.

Args:
    name: Reference name as returned by ``list_references`` (e.g.
        ``"finops-aws"``, ``"finops-genai-capacity"``,
        ``"optimnow-methodology"``).
    section: Optional H2 or H3 heading to return on its own. Matched
        case-insensitively and partially against the headings, so a
        natural phrase works - ``"storage"``, ``"commitment decision
        tree"``. A heading's trailing count is ignored, so
        ``"storage optimization patterns"`` matches
        ``"Storage Optimization Patterns (28)"``. If it matches nothing
        you get the list of available headings back, not the whole file.

Without ``section``, returns ``{"name": ..., "content": "...",
"lines": N}`` where ``content`` is the file verbatim. With ``section``,
returns ``{"name", "title", "section", "section_level", "partial": true,
"content", "lines", "full_lines"}`` where ``content`` is that section
prefixed by the reference's title, plus ``other_matching_sections`` when
the phrase matched more than one heading.

On a miss, returns ``{"error": ..., "suggestions": [...]}``. An unknown
name gives up to three string-distance matches; an unmatched ``section``
gives ``available_sections`` - every heading in the file - so the retry
is exact.
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
sectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, and the description adds substantial behavior beyond them: a section miss returns the available heading list rather than the whole file, multiple heading matches surface other_matching_sections, and an unknown name yields up to three string-distance suggestions. That is exactly the kind of retry-relevant context annotations cannot express.

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?

Front-loaded with purpose, then usage, then args, then return shapes — a clean order. It is on the long side and the return-shape paragraph partly restates what the output schema already encodes, though the miss/partial semantics are not obvious from the schema alone.

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 two-parameter read tool with an output schema, nothing an agent needs is missing: input provenance, matching semantics, degradation path on a miss, and the difference between whole-file and sectioned responses are all stated. The remaining detail is carried by the output schema.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden and does: 'name' is documented as coming from list_references with three concrete examples, and 'section' is documented as case-insensitive partial H2/H3 matching with trailing-count tolerance ('storage optimization patterns' → 'Storage Optimization Patterns (28)'). This is meaning well beyond the bare string types in the schema.

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 ('Fetch the guidance on one FinOps topic') and immediately scopes the payload ('billing mechanics, decision rules and worked examples'). It also names the sibling tools that precede it (list_references, find_references), so an agent can place it in the workflow without opening any schema.

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?

Explicitly conditions use on having already identified the reference via list_references or find_references, and explicitly recommends section vs whole-file based on question breadth and the approx_tokens hint. It even gives a concrete counter-example (finops-aws-patterns / S3 lifecycle) for when to pass section.

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

list_playbooksBrowse the cloud waste runbooksA
Read-onlyIdempotent
Inspect

See every ready-made runbook for finding and fixing cloud waste: idle, orphaned and overprovisioned resources, egress surprises, schedule blindness and AI/ML inefficiency across AWS, Azure and GCP.

Use this to discover which waste patterns have a runbook. When the
question already names a provider, waste category, or confidence tier,
call ``find_playbooks`` instead.

Each playbook is a small (~90-170 line) runbook scoped to one waste
pattern (e.g. ``aws-zombie-nat-gateway``, ``azure-orphan-disks``). Returns
``{"playbooks": [...], "total": N}`` where each entry includes ``name``,
``title``, ``scope`` (aws/azure/gcp/cross-cloud), ``service``,
``waste_category``, ``confidence`` (obvious/likely/possible), and
``approx_tokens`` - the same size hint the reference listing carries, so a
multi-playbook answer can be budgeted before fetching.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotent/non-destructive, so safety is covered. The description adds real behavioral context beyond that: each playbook is a small (~90-170 line) runbook, entries carry a confidence tier and an approx_tokens size hint explicitly framed for budgeting a multi-playbook answer before fetching. That is useful operational detail not present in the annotations.

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?

Front-loaded with purpose, then routing, then return shape - a sensible order with no filler. It is slightly longer than strictly necessary given an output schema exists, but every section carries substance.

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 zero-param, read-only enumeration tool with annotations and an output schema, the description supplies everything an agent needs: what is listed, when to prefer the sibling, entry granularity, and the size hint for budgeting. Nothing material 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?

The tool takes zero parameters, so per the baseline this is a 4. No argument syntax needs explaining and the description correctly spends no space on inputs.

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 ('See every ready-made runbook for finding and fixing cloud waste') and enumerates the concrete scope (idle, orphaned, overprovisioned, egress, schedule blindness, AI/ML across AWS/Azure/GCP). It explicitly contrasts itself with the sibling find_playbooks, so an agent can pick it apart without opening either schema.

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 when-to-use ('discover which waste patterns have a runbook') and an explicit when-not plus the alternative ('When the question already names a provider, waste category, or confidence tier, call find_playbooks instead'). The routing condition is precise and actionable.

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

list_referencesBrowse the FinOps knowledge libraryA
Read-onlyIdempotent
Inspect

See what FinOps guidance is available: billing mechanics, commitment strategy, allocation and chargeback, AI cost management, and per-provider cost handbooks (AWS, Azure, GCP, OCI, Databricks, Snowflake, ...).

Use this to discover what the library covers before deciding what to
fetch. When the question already names a FinOps domain, phase, persona
or maturity, call ``find_references`` instead of scanning this full
list.

Returns a dict shaped ``{"references": [...], "total": N}`` where each
entry includes ``name``, ``title``, a one-line ``description``, the
discriminating FCP facets (``fcp_domain``, ``fcp_capability``,
``fcp_phases``, ``fcp_personas_primary``, ``fcp_maturity_entry``) and
``approx_tokens``.

Read ``approx_tokens`` before fetching: the library runs from about 2,000
to over 25,000 tokens per file. Above roughly 10,000, prefer
``get_reference(name, section=...)`` and pull the part you need.
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description goes beyond that with genuinely useful operational context: per-file token sizes (2,000-25,000), the ~10,000 threshold, and the recommendation to switch to get_reference(name, section=...) above it. It stops short of describing pagination or whether the list is exhaustive for very large libraries, which keeps it at a 4 rather than a 5.

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?

Front-loaded with the coverage list, then the usage rule, then the return shape and token guidance; every block is doing work. The return-shape paragraph ('Returns a dict shaped ... where each entry includes name, title, ...') partially restates what the output schema already declares, which is the one place a sentence could be trimmed.

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?

An output schema exists, so return-value documentation is not strictly required, yet the description still tells the agent which fields discriminate entries and how to budget tokens before fetching. Combined with the named alternative and the no-parameter contract, an agent has everything needed to call this correctly on the first try.

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?

The tool takes zero parameters, so the baseline is 4 and there is no schema semantics to compensate for. The description's discussion of section= on the sibling get_reference is routing help rather than parameter documentation for this tool.

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?

The description states a specific verb and resource ('See what FinOps guidance is available') and enumerates the actual coverage areas, so an agent knows exactly what this returns. It also names the sibling it is not ('find_references') and the condition that separates them, which is more than most definitions manage.

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?

Explicit when-to-use ('discover what the library covers before deciding what to fetch') and explicit when-not-to-use ('When the question already names a FinOps domain, phase, persona or maturity, call find_references instead of scanning this full list'). The alternative is named and the selecting condition is unambiguous.

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. 1 tool update
    • Changedget_reference1 field changed
      • addedInput schema / properties / section
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Section"
        +}
  2. 1 tool update
    • Changedfind_references1 field changed
      • addedInput schema / properties / persona_primary_only
        Added value: +{
        +  "default": false,
        +  "title": "Persona Primary Only",
        +  "type": "boolean"
        +}
  3. 6 tool updates
    • First observedfind_playbooks
    • First observedfind_references
    • First observedget_playbook
    • First observedget_reference
    • First observedlist_playbooks
    • First observedlist_references

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to parse multi-cloud infrastructure-as-code files, query real-time pricing from AWS, Azure, and GCP, and generate cost estimates and comparison reports.
    413 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to pre-flight estimate query costs, enforce hard budgets, reconcile actual billed spend, and suggest cheaper rewrites across BigQuery, Snowflake, and Databricks.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to query multi-cloud costs, inventory, waste, and commitments across AWS, GCP, Cloudflare, and OVH through read-only MCP tools.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.