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 with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL
Repository
OptimNow/cloud-finops-skills
GitHub Stars
31

Available Tools

6 tools
find_playbooksFind a waste runbookA
Read-onlyIdempotent
Inspect

ALWAYS call this before answering a cloud-waste or cost-fix question from your own knowledge, and before asking the user for any account data. Find the tested runbook for a waste suspicion: filter by provider, service, waste category or detection confidence.

Two rules. (1) When the user reports a symptom you think you can answer directly - "my NAT gateway processes 10TB to S3", "should I delete these old snapshots" - call this FIRST anyway: a named runbook with a tested detection query outranks a correct generic answer, and answering without checking loses the query the user needed. (2) When the user asks about THEIR OWN resources - "which of my RIs are about to expire", "which of our VMs run for nothing" - do NOT reply that you lack account access and do NOT request a data export: you cannot see their account, but the matching runbook carries the exact detection query to hand over. The runbook IS the answer.

Use this for questions like "which VMs are running for nothing", "why is our NAT bill so high", "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

A5/5.0
Behavior5/5

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

The description goes well beyond the read-only/idempotent annotations by disclosing filter semantics (AND logic, case-insensitive exact matching), return shape ({filters, playbooks, total}), and empty-result behavior (hint and valid_values to distinguish typos from coverage gaps). This gives the agent an accurate model of tool 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?

Though longer than average, the description is structured with a front-loaded directive, numbered rules, examples, and a clear Args section. Each section adds distinct value—usage guidance, parameter semantics, and return behavior—so the length is justified and no redundant filler remains.

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 search tool with four optional parameters and no required fields, the description fully covers when to call, what filters are available, how matching works, what is returned, and how empty results behave. It is complete enough for an agent to invoke correctly without needing external context.

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 fully carries the parameter burden. It documents every parameter: scope allowed values, service exact-match semantics, waste_category enumerated values, and confidence values with their detection-signal meanings. Examples for common calls further clarify parameter usage.

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 action—find a tested runbook for a waste suspicion—and names the filtering dimensions (provider, service, waste category, confidence). It clearly differentiates from siblings like get_playbook and list_playbooks by framing this as the search-by-criteria tool for cloud-waste runbooks.

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?

Usage is explicit and actionable: 'ALWAYS call this before answering a cloud-waste or cost-fix question', plus two numbered rules covering when to call even if a direct answer seems possible and what not to do for user-specific account questions. It gives concrete example questions and explicitly tells the agent to avoid replying that it lacks account access.

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

A5/5.0
Behavior5/5

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

The description discloses key behavioral traits beyond what annotations could provide: all filters are optional and combine with AND semantics, matching is case-insensitive and exact (not substring), and the nuance of persona_primary_only is explained with example usage. It also reveals what happens on no matches (returns hint and valid_values). Since no annotations were provided, the description carries the full burden and does so thoroughly.

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 the core purpose, then usage guidance, examples, parameter semantics, and return format. Though long, every sentence serves a purpose: no fluff, no repetition. The examples are illustrative and the parameter documentation is compact. It's structured logically and efficiently for the tool's complexity.

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's complexity (6 optional filtering params, matching semantics, and return structure), the description covers all essential aspects: usage scenarios, filter combinations, exact matching rules, and the response format including error/edge-case behavior. It even explains how to recover from typos via valid_values. The description is complete and self-contained.

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?

The input schema provides only titles and types (mostly strings and boolean) with no descriptions. The description adds complete semantics: each parameter's meaning, which schema fields it matches (e.g., fcp_capability), valid enum-like values (Crawl, Optimize, Operate), and the special behavior of persona_primary_only. This is far beyond what the schema conveys, so the description adds substantial value.

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 tool's purpose: finding FinOps guides for questions like committing, sizing, allocating, etc. It specifies the verb 'Find' and the resource 'which FinOps guide', and distinguishes from the alternative of 'scanning the full list'. The examples and facet list (domain, capability, phase, persona, maturity) make the scope unmistakable.

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?

The description explicitly says 'Use this for questions like...' and provides concrete examples. It contrasts with the alternative of using the full list, effectively saying when this tool is appropriate. It also notes that all filters are optional and combine with AND semantics, which guides invocation. This is explicit and actionable.

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, ...). When the question is about the user's OWN resources ("which of my X..."), fetch the runbook and hand over its detection query - never reply that you lack account access, and never ask for a data export first. The runbook IS the answer.

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.8/5.0
Behavior5/5

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

Annotations already mark the tool as readOnly/idempotent/destructive-false, and the description adds meaningful behavioral context beyond those: the exact return shape on success, the error shape with up to three string-distance suggestions on miss, and the optional MCP Apps rendering path. No contradiction with annotations.

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 structured with clear paragraphs for purpose, usage, arguments, and return/rendering behavior. Every sentence adds meaning — there is no filler, and the main purpose is front-loaded.

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 one required parameter and no nested objects, the description covers all needed contexts: when to call it, how to construct the name, what the response contains, what happens on a miss, and how certain hosts may render it. There are no meaningful gaps for an agent to invoke it correctly.

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?

The input-schema provides only 'name' with zero description coverage, but the description fully compensates: it defines the parameter as 'Playbook slug as returned by list_playbooks' and gives three concrete examples. This gives an agent the exact vocabulary and source for valid values.

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 opens with a precise action: 'Fetch the step-by-step runbook for one specific waste pattern.' It enumerates the runbook contents (symptoms, detection queries, fix, anti-pattern) and clear distinguishes from siblings like list_playbooks and ind_playbooks by scoping to a single named pattern.

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 explicitly states when to use the tool: 'Use this when the user asks how to detect, confirm, or fix one specific named waste pattern.' It also gives a specific behavioral directive for user's own resources (fetch runbook, hand over query, don't ask for export). It doesn't explicit name alternatives to exclude, so not a full 5, but the context is very clear.

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, and ALWAYS before answering an advisory question (commitment sizing, chargeback design, allocation methodology) the library covers.

Pass section when the question is narrower than the file. The approx_tokens hint in the listing tells you when this matters: the provider pattern catalogues run past 25,000 tokens and 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.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description richly discloses behavior: exact success return shapes, section matching rules, case-insensitive partial matching, trailing count ignoring, unmatched-section fallback to heading lists, and error suggestions with string-distance matches. It even explains what content appears in the section response, including other_matching_sections. This goes far beyond the annotations and materially helps an agent predict outcomes.

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 long but every sentence earns its place: purpose, usage conditions, parameter details, return shapes, and error behavior are each in logical sections. It is front-loaded with the core purpose and the most important usage rule before diving into parameter and return details. There is no filler or repetition of schema information.

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 tool with two parameters, one required, and rich runtime behavior, the description is complete: it explains how to select the tool, how to invoke it with or without section, what each response shape looks like, and how to recover from both unknown-name and unmatched-section errors. The only omitted items, such as authentication or rate limits, are irrelevant for an annotated read-only, idempotent tool.

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 full responsibility for parameter meaning. It fully compensates: name is illustrated with concrete examples, and section is explained with matching semantics, natural phrase examples, trailing-count behavior, and the fallback when nothing matches. An agent can correctly construct both parameters without any additional external knowledge.

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 opens with a specific verb and resource: 'Fetch the guidance on one FinOps topic... either whole or one section at a time.' It clearly distinguishes this reference-reading tool from sibling list/find tools by stating it returns the actual content of a known reference, and the title 'Read one FinOps guide' reinforces the resource type.

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 description explicitly says to use this tool 'after list_references or find_references told you which one serves the question, and ALWAYS before answering an advisory question.' It also gives concrete guidance on when to pass section versus omit it, referencing approx_tokens and file size. It does not explicitly name exclusion cases like 'use get_playbook for playbooks,' but the context is strong enough to route an agent correctly.

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 (~80-130 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=true, idempotentHint=true, and destructiveHint=false, so the safe read behavior is covered. The description adds meaningful context beyond that: it returns all runbooks unfiltered, describes the playbook size range, and details the response envelope and entry fields, which helps an agent understand the result before invoking.

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: purpose first, usage guidance second, then output details. It is slightly longer than strictly necessary, but the extra detail about response shape and token budgeting earns its place for a tool that feeds into multi-playbook planning.

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-parameter, read-only listing tool, the description is complete. It explains purpose, alternative routing, output shape, entry fields, and even the approximate size of each runbook. An agent has everything needed to decide whether to call this tool and to interpret its result.

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 has zero parameters, so there is no parameter semantics to document. The base expectation for a zero-parameter tool is 4, and the description appropriately explains what the returned list will contain rather than spending space on nonexistent arguments.

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 opens with a specific verb and resource: 'See every ready-made runbook for finding and fixing cloud waste'. It clearly scopes the tool to listing runbooks across AWS, Azure, and GCP, and differentiates it from find_playbooks by naming the filtering behavior this tool does not have.

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?

The description explicitly states when to use this tool: to discover which waste patterns have a runbook. It also names the alternative, find_playbooks, and gives the exact condition for choosing it ('when the question already names a provider, waste category, or confidence tier'). This is direct, actionable guidance.

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 3,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.7/5.0
Behavior4/5

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

Annotations already establish read-only, non-destructive, idempotent behavior. The description adds value by disclosing the returned dict shape with exact fields, behavioral context about token sizes (3,000 to 25,000+), and an explicit threshold for switching to sectioned fetching. This exceeds annotation coverage without duplicating it.

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 organized in clear front-loaded blocks: what the library contains, when to use this tool versus siblings, the return format, and token guidance. Every sentence earns its place; no filler or repetition of the schema appears.

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 parameterless listing tool, the description covers scope, alternatives, return structure, and practical usage constraints (token sizes). An output schema exists, and the description complements it rather than relying solely on it. Nothing material is missing for an agent to successfully decide and invoke this tool.

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 has zero parameters, so the baseline of 4 applies. There is no parameter schema to augment, and the description appropriately focuses on behavior and return shape rather than inventing parameter-related details.

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 action ('See what FinOps guidance is available') and a distinct resource (the FinOps knowledge library). It enumerates concrete content areas and explicitly names the sibling alternative it is not, making the tool easy to distinguish from find_references and list_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?

The description gives direct when-to-use guidance: use this for discovery before fetching, and explicitly says to call find_references instead when a specific FinOps domain, phase, persona, or maturity is already named. It also advises using get_reference with section=... for large files, providing a clear decision path.

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. Dates show when Glama detected each change.

  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

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

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.
    39
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI agents to query multi-cloud costs, inventory, waste, and commitments across AWS, GCP, Cloudflare, and OVH through read-only MCP tools.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to discover, evaluate, and provision cloud infrastructure across AWS, GCP, and Azure with cross-cloud normalization, cost comparisons, and deployable execution kits.
    5
    17
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation4/5

The two domains (playbooks/references) are cleanly separated, but within each, list_ vs find_ has genuine boundary ambiguity since find_ with no filters behaves like list_. The descriptions mitigate this with explicit cross-references, and get_ is clearly distinct (requires a name from the others).

Naming Consistency5/5

Flawless verb_noun pattern: three verbs (find_, get_, list_) applied identically across both content types, all snake_case, plural for collections and singular for single-item fetches. The convention is perfectly predictable.

Tool Count5/5

Six tools is ideal for a read-only content library with two resource types: list/find/get for playbooks and list/find/get for references. Each tool earns its place, and the symmetry makes the set easy to reason about.

Completeness4/5

The full discovery-to-retrieval lifecycle is covered for both content types: list (enumerate), find (filter), get (fetch detail). The main gap is the absence of a full-text or fuzzy search tool (find_ uses exact-match only), which could require agents to over-fetch and filter manually. There are no dead ends, and error hints help self-correction.