Skip to main content
Glama
YawLabs

@yawlabs/tailscale-mcp

by YawLabs

Get key

tailscale_get_key
Read-onlyIdempotent

Retrieve details for a specific Tailscale key by ID, including auth keys, API tokens, OAuth clients, or federated identities. Revoked or expired keys are returned with invalid: true.

Instructions

Get details for a specific key (auth key, API access token, OAuth client, or federated identity). A revoked or expired key is still returned, with invalid: true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyIdYesThe key ID (auth key, API access token, OAuth client, or federated identity)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.21.0
    • changedInput schema / properties / keyId / description
      Previous value: -"The key ID (auth key, OAuth client, or federated identity)"New value: +"The key ID (auth key, API access token, OAuth client, or federated identity)"
  2. First observedv0.13.3

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds a non-obvious behavior: that revoked or expired keys are still returned with 'invalid: true'. This is valuable context beyond annotations, but it does not elaborate on other response traits (e.g., pagination or field structure), which are minor given the tool's simplicity.

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 two sentences with no superfluous words. The main purpose is stated first, and the additional invalid-key behavior is added as a concise second sentence. It is front-loaded and every sentence earns its place.

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 a single well-documented parameter and annotations covering the safety profile, the description is largely complete. It mentions the invalid-key flag, which is a key detail for handling results. It does not enumerate all possible return fields, but for a simple 'get details' tool, that is acceptable, especially since no output schema exists and the description gives enough context to call the tool correctly.

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

Parameters3/5

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

The schema description for keyId already covers the parameter's meaning, including the list of key types. The description essentially repeats this information without adding new semantic detail (e.g., how to obtain the keyId or any format constraints). Since schema coverage is 100%, the baseline is 3, and no extra value is provided.

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 ('Get details') and resource ('a specific key'), and enumerates the key types (auth key, API access token, OAuth client, or federated identity), which clearly distinguishes it from sibling tools like tailscale_list_keys or tailscale_create_key. It also adds a behavioral detail about revoked/expired keys, further clarifying the tool's exact function.

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 that this tool is for retrieving details of a single key, implying it should be used when a specific keyId is known rather than listing all keys. However, it does not explicitly mention alternatives like tailscale_list_keys or state when not to use this tool, so it lacks explicit exclusions but provides enough context for an agent to infer correct usage.

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

Deploy Server

Other Tools