Skip to main content
Glama

Cloud FinOps Skill & MCP

Read one FinOps guide

get_reference
Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
sectionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / section
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Section"
      +}
  2. First observed

TDQS

A5/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses important behaviors: partial-match section resolution, trailing-count ignoring, the error response shape with suggestions, and the fact that an unmatched section returns available headings rather than the whole file. These are non-obvious behaviors an agent needs to predict output correctly.

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 part earns its place: purpose, when-to-use, parameter semantics, return shapes, and error handling. It is front-loaded with purpose and usage before diving into arguments, and uses structured sections (Args, return descriptions) that make scanning easy.

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?

The description is complete for a tool of this complexity. It covers selection guidance, section granularity decisions, matching behavior, exact return shapes with and without section, and miss/error handling. There is no important caller-relevant behavior left undocumented.

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 must fully document parameters, and it does. It explains that name must be a value as returned by list_references, gives concrete examples, and describes section matching semantics with natural-phrase examples and edge-case behavior. Both parameters are thoroughly specified.

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 explicitly differentiates from siblings by stating it is for 'the actual content of one known reference' after list_references or find_references, which makes the tool's role in the workflow 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 gives explicit when-to-use guidance: use it after list_references or find_references has identified the reference, and ALWAYS before answering an advisory question. It also gives a clear rule for when to pass section versus omit it, using the approx_tokens hint from the listing. This is strong routing guidance with named alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.