Skip to main content
Glama
klauern

MCP YNAB Server

by klauern

set_api_key

Idempotent

Store a YNAB personal access token in your operating system's keychain to authenticate API requests securely. Future runs automatically use the saved token unless the YNAB_API_KEY environment variable is set.

Instructions

Store a YNAB personal access token in the OS keychain.

The token is persisted in the platform keychain (macOS Keychain,
Windows Credential Locker, or Linux Secret Service) under
service=``mcp-ynab`` user=``YNAB_API_KEY``. After this returns, future
requests in this process and future runs will pick the key up via
``_resolve_api_key`` — though the ``YNAB_API_KEY`` env var still wins
if it is set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Install Server

TDQS

A4.5/5.0
Behavior4/5

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

Beyond annotations, the description discloses the specific keychain storage mechanism, the service/user identifiers, and the fallback precedence of the YNAB_API_KEY env var. These are useful behavioral details that annotations alone do not provide. It does not state whether an existing stored token is overwritten, but idempotentHint: true partially mitigates that gap.

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 a one-sentence purpose statement, followed by a focused, information-dense elaboration. Every sentence contributes either storage details or resolution behavior; there is no filler or repetition.

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 simple one-parameter setter, the description covers what an agent needs: what to pass, where the value is stored, how it is picked up later, and the env-var precedence caveat. The presence of an output schema reduces the need to document return values, and the operational behavior is fully described.

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 description coverage is 0%, so the description must carry the semantic weight for the single api_key parameter. The first sentence explicitly identifies it as a YNAB personal access token, adding meaning beyond the schema's bare 'Api Key' title. It does not specify formatting or validation expectations, but the mapping is clear and sufficient for a single string parameter.

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: 'Store a YNAB personal access token in the OS keychain.' This unambiguously states the tool's function and is clearly distinct from siblings like clear_api_key or ping.

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 gives clear context for when the tool matters by explaining that the key persists for future requests and runs. It also provides a key caveat: the YNAB_API_KEY env var still wins if set, which implicitly tells agents when the tool will have effect. However, it does not explicitly name or contrast sibling tools such as clear_api_key.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/klauern/mcp-ynab'

If you have feedback or need assistance with the MCP directory API, please join our Discord server