Skip to main content
Glama
aaronmsoto

finops-framework-mcp

by aaronmsoto

Persona ↔ capability mapping

map_personas
Read-onlyIdempotent

Map FinOps personas to capabilities and activities: query by persona to see involved capabilities, by capability to see active personas, or omit inputs to list persona slugs and categories.

Instructions

With persona: every capability that persona works in, WITH that persona's activity bullets inline (one call answers 'what does X do across the framework'). With capability: every persona active in it, with activities. With neither: the full persona index (slugs, categories) — use it to discover persona slugs. Passing both is an error — pick one direction per call. Allied personas are mapped at group level by the framework; responses say so explicitly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
personaNoPersona slug, e.g. 'finance'
capabilityNoCapability slug, e.g. 'allocation'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes
noteNo
entriesNo
licenseYes
personasNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and closed-world, so the safety profile is covered. The description adds behavior beyond them: mutual exclusivity is an error, and allied personas are mapped at group level by the framework with responses stating that explicitly — a real output nuance. It does not cover limits, pagination, or behavior on an unknown slug, which keeps it from 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 by mode (persona, capability, neither), with the error rule stated before the edge-case note about allied personas. Dense with parentheticals but each sentence carries distinct information; 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?

With an output schema present, return-shape details are not required, and the description still flags the group-level allied-persona caveat. Both parameters, the mutually exclusive case, and the discovery path are all covered. Only minor gaps remain, such as behavior on an unrecognized slug.

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 the baseline is 3, but the description adds meaning the schema cannot: each parameter selects a direction of the mapping and changes what is returned (inline activity bullets vs. persona list), and the two are mutually exclusive. That is genuine semantic value on top of the slug descriptions.

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 names a specific verb+resource and defines exactly what each mode returns: 'every capability that persona works in, WITH that persona's activity bullets inline' versus 'every persona active in it, with activities'. It also covers the zero-argument case ('the full persona index'), so all three behaviors are distinguishable. It stops short of naming sibling tools, so an agent must infer the boundary against get_capability/list_capabilities on its own.

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 routing for every mode: persona for 'what does X do across the framework', capability for the reverse direction, neither 'to discover persona slugs'. It also states the negative constraint outright — 'Passing both is an error — pick one direction per call' — which no schema or annotation conveys.

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