Skip to main content
Glama

anthropic-admin-mcp

The MCP server Anthropic hasn't shipped yet — full coverage of the Anthropic Admin API and the Usage & Cost API, properly typed, properly tooled, and properly safety-scoped.

Manage your Anthropic organization from any MCP-compatible client (Claude Desktop, Cursor, Windsurf, ChatGPT, etc.) using natural language:

  • "What did my organization spend last week, grouped by workspace?"

  • "Which API key burned through the most Opus tokens yesterday?"

  • "Show me Pre-Mortem's usage day-by-day for the last 14 days."

  • "Invite contractor@example.com as a developer to the Sandbox workspace."

  • "Deactivate the API key named 'old-laptop'."

10 read tools, 10 write tools, audit logging, optional workspace scoping, read-only mode, role-escalation guard.

Why this exists

Anthropic ships an excellent Admin API with ~22 endpoints across organization management, workspaces, members, API keys, usage reporting, and cost reporting. Existing MCP wrappers from third parties cover a tiny slice of it through commercial integration platforms. This server is native, free, open-source, and complete — installable in two minutes against your own Admin key.

Related MCP server: openai-workspace-mcp

Install

pip install git+https://github.com/Trushtonfactory/anthropic-admin-mcp.git

Or for local development:

git clone https://github.com/Trushtonfactory/anthropic-admin-mcp.git
cd anthropic-admin-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Configure

  1. Get an Admin API key at console.anthropic.com → Settings → Admin Keys. Requires an Organization plan (Team / Pro+ / Enterprise) and the admin role. Individual accounts cannot create Admin keys.

  2. Copy .env.example to .env and fill in your key:

    cp .env.example .env
    # edit .env: ANTHROPIC_ADMIN_KEY=sk-ant-admin-...
  3. Wire it into your MCP client. For Claude Desktop, add to ~/Library/Application Support/Claude/claude_desktop_config.json:

    {
      "mcpServers": {
        "anthropic-admin": {
          "command": "anthropic-admin-mcp",
          "env": {
            "ANTHROPIC_ADMIN_KEY": "sk-ant-admin-..."
          }
        }
      }
    }

    See examples/claude_desktop_config.json for more options (read-only mode, workspace scoping).

Tools

Read (10)

Tool

Purpose

get_org_info

Smoke-test the key; return org id + name

list_members

List org members and roles

list_invites

List pending and historical invites

list_workspaces

List active (and optionally archived) workspaces

get_workspace

Resolve a workspace ID to its full record

list_workspace_members

List members of a specific workspace

list_api_keys

List keys with filters by status / workspace

get_usage_report

Token usage, grouped by workspace/api_key/model/etc.

get_cost_report

Dollar costs, grouped by workspace / description

get_claude_code_usage

Claude Code-specific usage data

Write (10) — all require confirm=True

Tool

Action

invite_member

Send an invite (cannot grant admin)

delete_invite

Cancel a pending invite

update_member_role

Change a member's org role (cannot touch admin)

remove_member

Remove a non-admin member

create_workspace

Create a new workspace

update_workspace

Rename or recolor a workspace

archive_workspace

Archive a workspace

add_workspace_member

Grant workspace access

update_workspace_member_role

Change a workspace role

remove_workspace_member

Revoke workspace access

update_api_key

Rename or deactivate an API key

Running

# Full mode (read + write), stdio transport
anthropic-admin-mcp

# Read-only — recommended for first-time setup
anthropic-admin-mcp --read-only

# Streamable HTTP (for remote MCP clients)
anthropic-admin-mcp --http --port 8000

# Restrict writes to specific workspaces (set in .env or shell)
ALLOWED_WORKSPACES=wrkspc_abc,wrkspc_xyz anthropic-admin-mcp

Safety

See SECURITY.md for the full threat model and design notes. The short version:

  • Reads are open. Anything the Admin API exposes with your key, this server exposes.

  • Writes are guarded. Every mutation requires confirm=True, gets audit-logged to JSONL, and respects optional workspace scoping.

  • Role escalation is blocked client-side even though the API itself blocks it server-side — clearer error messages for Claude.

  • No credential exfiltration paths. The Admin API never returns key values, and this server never logs the Admin key itself.

Status

v0.1.0 — read + write tool surface complete. Pagination, error messages, and audit logging tested manually. No usage limits implemented yet. Pydantic response models are minimal (tools return raw dicts).

Issues and PRs welcome.

License

MIT — see LICENSE.

Available Tools

21 tools
add_workspace_memberA

Grant a user access to a workspace.

Org admins and org billing members get automatic workspace roles and don't need to be added explicitly. workspace_billing is inherited from org-level billing role and cannot be assigned here.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes
user_idYes
workspace_roleYesOne of: ['workspace_admin', 'workspace_developer', 'workspace_user']
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that certain roles are automatic and workspace_billing cannot be assigned. However, it does not mention the confirmation mechanism or any other behavioral traits like permissions or side effects.

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?

Three concise sentences with no fluff. The first sentence clearly states the purpose, and the following sentences add essential context. Every sentence is justified.

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?

Has output schema (not shown but available). The description covers the main purpose, exceptions, and a behavioral constraint (workspace_billing inherited). It lacks mention of the 'confirm' parameter's role, but overall is sufficiently complete for a simple add operation.

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?

Schema description coverage is 50% (workspace_role and confirm have descriptions). The description adds context about roles (workspace_billing cannot be assigned) but does not describe workspace_id or user_id semantics. It partially compensates for the schema gap.

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 clearly states the verb 'Grant' and the resource 'user access to a workspace'. It distinguishes from siblings like 'invite_member' by implying direct addition, but does not explicitly differentiate from 'invite_member' or 'update_workspace_member_role'.

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?

Provides explicit context: org admins and billing members get automatic roles and don't need to be added, and workspace_billing role is inherited. This guides the agent on when not to use the tool, though it does not mention when to prefer this over 'invite_member'.

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

archive_workspaceA

Archive a workspace.

Archived workspaces are hidden from default listings but their data (usage history, costs) is preserved. API keys in the workspace become inactive. Per Anthropic docs this state is reversible through the Console.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It explicitly states that archived workspaces are hidden, data is preserved, API keys become inactive, and the action is reversible through the Console, providing key behavioral traits beyond the bare operation.

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 concise (three sentences) and front-loaded with the main action. It could be slightly tighter but avoids unnecessary detail.

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?

Given the presence of an output schema (which presumably documents return values), the description adequately covers the tool's effect on workspace visibility, data, and API keys, making it complete for a simple archive operation.

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?

Schema description coverage is 50% (only 'confirm' has a description). The description does not elaborate on 'workspace_id' or provide context beyond the action, so it meets the baseline 3 but adds no extra parameter insight.

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 'Archive a workspace' and explains the consequences (hidden from default listings, data preserved, API keys inactive, reversible), which distinguishes it from siblings like create_workspace, remove_workspace, and update_workspace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (to hide a workspace while preserving data) but does not explicitly contrast with remove_workspace or other alternatives, nor does it specify prerequisites or when not to use it.

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

create_workspaceA

Create a new workspace.

Workspaces partition API keys, members, and limits. Max 100 active workspaces per organization. Creating a workspace does not add any members or keys to it automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDisplay name for the new workspace
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: maximum 100 active workspaces per organization and that creating a workspace does not automatically add members or keys. Could mention if creation is immediate or any rollback 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?

The description is three sentences with no wasted words: first sentence states purpose, second and third add contextual constraints. Front-loaded and efficient.

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?

Given high schema coverage and presence of output schema (indicated by context signals), the description adequately covers creation behavior, limits, and non-automatic side effects. Could mention whether workspace names must be unique.

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?

Schema coverage is 100%, and the description adds no extra meaning beyond what the schema provides. Baseline score of 3 is appropriate as the schema already documents both parameters (name and confirm) adequately.

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 uses a specific verb ('Create') and resource ('workspace'), clarifies that workspaces partition API keys, members, and limits, and distinguishes from sibling tools like add_workspace_member by noting that creating a workspace does not automatically add members or keys.

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?

Provides clear context on when to use (e.g., when you need a new workspace within the 100 active workspace limit) but does not explicitly state when not to use or mention alternative tools like update_workspace.

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

delete_inviteA

Cancel a pending invite.

Once deleted, the invite link will no longer work. The invitee will not be notified. Re-inviting requires a new invite call.

ParametersJSON Schema
NameRequiredDescriptionDefault
invite_idYes
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

The description discloses key behavioral traits: invite link becomes invalid, invitee not notified, and re-inviting requires a new call. However, it omits the requirement that the 'confirm' parameter must be true (as per input schema), which is a behavioral guardrail.

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?

Three concise sentences, each providing useful information without redundancy. The key action is front-loaded.

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?

Given the simple delete action and presence of an output schema, the description covers most aspects. It correctly notes re-inviting requires a new call. Missing mention of the mandatory confirmation flag (confirm parameter) slightly reduces completeness.

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

Parameters2/5

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

Schema description coverage is 50% (only 'confirm' has a description). The description adds no parameter-level details; 'invite_id' remains undocumented both in schema and description. The description does not compensate for the low coverage.

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 explicitly states 'Cancel a pending invite', which is a specific verb and resource. It clearly distinguishes from sibling tools like 'invite_member' (create) and 'list_invites' (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for canceling a pending invite but does not explicitly guide when to use this tool over alternatives. No when-not or exclusion criteria are provided.

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

get_claude_code_usageA

Get usage data specific to Claude Code workspaces.

Returns daily aggregated user activity, tool usage statistics, and token consumption for Claude Code sessions. This is separate from the general usage report and only covers Claude Code workspace activity. Bedrock-routed Claude Code is not included.

ParametersJSON Schema
NameRequiredDescriptionDefault
starting_atYesRFC 3339 start time, e.g. '2026-05-01T00:00:00Z'
ending_atNo
limitNo
pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It clearly describes the tool's behavior: returns daily aggregated user activity, tool usage statistics, and token consumption, and specifies that it is separate from general usage and excludes Bedrock-routed Claude Code. Additional details like pagination or rate limits would improve transparency, but the core behavioral traits are well-covered.

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 three sentences long, with the purpose in the first sentence, details in the second, and an exclusion in the third. No redundant words, clearly structured, and front-loaded. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, an output schema, and a specific scope. The description covers the tool's domain and output well but lacks guidance on parameter usage (e.g., how to paginate, date format constraints) and does not provide any usage context or error scenarios. Given the output schema exists, completeness is adequate but leaves gaps in practical usage.

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

Parameters2/5

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

Schema description coverage is only 25% (only 'starting_at' has a description). The description does not add any meaning to the other three parameters ('ending_at', 'limit', 'page'). For a low-coverage schema, the description should compensate by explaining parameter usage, but it does not. The description only describes the output nature, not the inputs.

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 retrieves usage data for Claude Code workspaces, detailing what is returned (daily aggregated user activity, tool usage, token consumption) and explicitly distinguishing it from the general usage report and excluding Bedrock-routed Claude Code. This provides a specific verb+resource and differentiates from siblings like get_usage_report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for Claude Code workspace data and mentions exclusions (Bedrock-routed), but does not explicitly state when to use this tool over alternatives, nor does it provide clear prerequisites or context for when not to use it. The guidance is implied rather than explicit.

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

get_cost_reportA

Get dollar-amount cost data for the organization.

Returns costs in US dollars (already converted from the API's native cents representation by the client wrapper) broken down by operation description (input tokens, output tokens, cache writes /reads, code execution, web search, etc.) and optionally by workspace. Use for questions like 'what did we spend last week' or 'which workspace cost the most this month'. Priority Tier costs are NOT included here — track those via usage.

ParametersJSON Schema
NameRequiredDescriptionDefault
starting_atYesRFC 3339 start time, e.g. '2026-05-01T00:00:00Z'
ending_atNo
group_byNoDimensions to group by. Any subset of: 'workspace_id', 'description'. Omit for an org-wide total.
limitNo
pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses currency (USD), client-side conversion from cents, breakdown dimensions, and cost types excluded. It does not mention that the operation is read-only or address potential rate limits, but the provided behavioral context is valuable.

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 100 words, front-loaded with the main function, and each sentence adds value. No redundancy or 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?

Output schema exists, so return values are handled. The description covers key aspects: currency, breakdown, exclusion. Missing is explicit pagination guidance for 'limit' and 'page', which are common parameters requiring explanation for proper use. Overall adequate but with one gap.

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

Parameters2/5

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

Schema coverage is only 40%, but the description adds no parameter-specific details. It references 'group_by' implicitly via 'optionally by workspace', but does not explain 'limit', 'page', or 'ending_at' semantics. The agent must rely on the sparse schema descriptions, which are insufficient for correct invocation.

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 'Get dollar-amount cost data for the organization' with specific breakdown by operation description and optional workspace. It provides concrete example questions ('what did we spend last week') and distinguishes from sibling tools by focusing on cost vs. usage.

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?

Explicit usage examples are given, and it clarifies that Priority Tier costs are excluded and should be tracked via 'usage' tool. However, it does not name an alternative tool for that case, leaving the agent to infer from sibling context.

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

get_org_infoA

Get information about the current Anthropic organization.

Returns the organization's ID, name, and type. Useful as a smoke test that the Admin API key is configured correctly.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

The description implies a read-only operation by noting it returns info, and highlights its safety as a smoke test. Without annotations, it could further state it has no side effects, but the current text is still informative.

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?

Two sentences, no wasted words. The first sentence states the purpose, the second adds practical context. Front-loaded and efficient.

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 simplicity (no parameters, output schema exists), the description is complete. It covers what the tool does, what it returns, and a typical use case.

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 with 100% schema coverage, so the description does not need to explain parameters. Per calibration, 0 params warrants a baseline of 4.

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 verb 'get' and the resource 'org info', listing returned fields (ID, name, type). It distinguishes from sibling tools by focusing on organization-level info versus workspace or member operations.

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 mentions a key use case: 'smoke test that the Admin API key is configured correctly.' While it doesn't discuss when not to use it, the context is clear for a simple read tool with no parameters.

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

get_usage_reportA

Get detailed token usage from the Messages API.

Returns input/output/cache token counts and request counts, bucketed by the requested time window and grouped by the requested dimensions. Use this for questions like 'how many Opus tokens did workspace X burn yesterday' or 'show daily request volume for the last week grouped by model'. Data appears within ~5 minutes of API calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
starting_atYesRFC 3339 start time, e.g. '2026-05-01T00:00:00Z'
ending_atNoRFC 3339 end time. Defaults to now.
bucket_widthNoAggregation window: '1m', '1h', or '1d'1d
group_byNoDimensions to group by. Any subset of: 'workspace_id', 'api_key_id', 'model', 'service_tier', 'context_window'. Omit for an org-wide total.
limitNo
pageNoPagination cursor from previous response

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses data freshness but omits rate limits, authentication requirements, or behavior on empty results. Adequate but not exhaustive.

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?

Concise: two sentences for purpose and latency, then bullet-like examples. No filler. Could be slightly more structured (e.g., separate sections) but efficient.

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?

Has output schema, so return format is covered. Description includes usage context, examples, and latency. Lacks details on pagination and error conditions, but overall sufficient for a reporting tool.

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?

Schema coverage is 83%, so baseline is 3. Description adds context via examples and mentions bucketing/grouping, but does not explain each parameter beyond what the schema already provides. Marginal added value.

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 clearly states the tool retrieves detailed token usage from the Messages API and lists return fields (token counts, request counts). It distinguishes from siblings like get_cost_report by emphasizing dimensions and time bucketing, but does not explicitly name alternatives.

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?

Provides concrete example questions and mentions data latency (~5 minutes). However, it does not state when to avoid using this tool or suggest alternatives for other reporting needs.

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

get_workspaceA

Get a single workspace by ID.

Returns name, display_color, created_at, archived_at (if archived), and type. Useful for resolving a workspace ID into its display name before referring to it in subsequent operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesWorkspace ID, e.g. 'wrkspc_01Jw...'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses return fields including conditional 'archived_at (if archived),' indicating read-only behavior. Lacks details on error handling or non-existence but is sufficiently clear.

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?

Very concise: three sentences, front-loaded with the core action, and each sentence adds value without redundancy.

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 get-by-ID tool with one parameter and an output schema (not shown but referenced), the description covers purpose, usage context, and return fields completely. No gaps.

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?

Schema description coverage is 100%, so the schema adequately documents the parameter. The description does not add additional semantic information beyond what is already in the input schema.

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 'Get a single workspace by ID' and lists the specific fields returned. It distinguishes from sibling 'list_workspaces' by focusing on a single workspace retrieval.

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?

Provides a concrete use case: 'resolving a workspace ID into its display name before referring to it in subsequent operations.' Though it doesn't explicitly mention when not to use it or alternatives, the context is clear.

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

invite_memberA

Invite a new member to the organization.

Sends an invitation email. The invitation expires in 21 days and cannot be modified once created — only cancelled and re-issued. Cannot grant the 'admin' role; admins must be promoted via Console.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address to invite
roleYesOrg role. One of: ['billing', 'claude_code_user', 'developer', 'user']
confirmNoMust be true to execute. Sends an email invite that expires in 21 days.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description fully carries the behavioral disclosure burden. It discloses that the tool sends an email, has a 21-day expiration, is non-modifiable, and has role restrictions. This provides sufficient transparency for an agent to understand side effects.

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 three sentences, front-loaded with the main action. Every sentence adds essential information without redundancy.

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?

Given the output schema exists (providing return structure) and no annotations, the description covers key behavioral aspects. It could mention that invites can be deleted via 'delete_invite', but overall it is complete for an invitation 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?

Schema coverage is 100%, but the description adds value beyond the schema by explaining expiration, non-modifiability, and the admin restriction. These details help the agent understand the implications of the 'confirm' parameter and the role limitations.

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 invites a new member to the organization, using a specific verb and resource. It distinguishes from siblings like 'add_workspace_member' (workspace-level) and 'delete_invite' (cancellation).

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?

Provides important usage constraints: invitation expires in 21 days, cannot be modified once created, and cannot grant the 'admin' role. It also directs that admins must be promoted via Console. While it doesn't explicitly contrast with sibling tools, it gives clear context for when to use.

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

list_api_keysB

List API keys in the organization.

Returns metadata only — the actual key values are never returned by the Admin API and cannot be retrieved after creation. Each entry includes id, name, status, workspace_id, partial_key_hint (last 4 chars), and created_by_user_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNoFilter by status: active, inactive, archived
workspace_idNoFilter by workspace ID
created_by_user_idNo
before_idNo
after_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior4/5

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

With no annotations, the description discloses a key behavioral fact: actual key values are never returned and cannot be retrieved after creation. This is valuable. However, it does not mention other potential behaviors like pagination or authentication needs.

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 concise with two short paragraphs. The first sentence is clear, and the second provides useful return field details. No extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the six parameters and low schema coverage, the description is incomplete. It lacks information on pagination, ordering, and how filters interact. The security disclosure is helpful but insufficient for full understanding.

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

Parameters2/5

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

Schema description coverage is low (33%), and the description does not add meaning to the parameters. It only describes the return fields, not how to use the parameters like limit, status, or workspace_id.

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 clearly states the tool lists API keys in the organization, which is a specific verb and resource. However, it does not differentiate from siblings like update_api_key or other list tools, which would be helpful.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description lacks any recommendations or scenarios for when it is appropriate.

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

list_invitesB

List pending and historical organization invites.

Invites expire after 21 days. Each invite includes the invited email, the role offered, status (pending / accepted / expired / deleted), and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
before_idNo
after_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description mentions expiration and fields but omits rate limits, auth requirements, or pagination behavior beyond schema.

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?

Two sentences, first is clear and direct; second adds useful context but could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Provides basic purpose and structure but lacks parameter context and behavioral details for a list tool with pagination.

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

Parameters2/5

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

Schema description coverage 0% and description does not explain parameters (limit, before_id, after_id) despite 3 parameters being present.

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?

Clear verb 'list' and resource 'organization invites', scope 'pending and historical' distinguishes it from invite_member (create) and delete_invite (delete).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for listing invites but no explicit when-to-use vs. alternatives, no exclusions or prerequisites mentioned.

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

list_membersA

List organization members.

Returns up to limit members per call. For pagination, pass the last user_id from a previous response as after_id. Member objects include id, email, name, role (user / developer / billing / admin / claude_code_user), and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of members to return (1-100)
before_idNoCursor: return results before this user_id
after_idNoCursor: return results after this user_id

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It describes the operation as a read (list) and details pagination, but does not disclose required permissions, rate limits, or whether the list is scoped to the authenticated user's organization. Key behavioral traits are missing.

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 relatively concise at five lines, with front-loaded purpose. Each sentence (scope, pagination, returned fields) adds value. Minor improvement would be further condensing the pagination explanation.

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?

Given that an output schema exists (covering return structure), the description adequately explains pagination and returned fields. However, it omits context on authorization requirements (e.g., admin only) and whether the list covers all org members or only those visible to the caller.

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 parameters are already described. The description adds valuable pagination guidance (pass last user_id as 'after_id') and clarifies that 'limit' controls page size. This enriches understanding beyond the basic schema definitions.

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 'List organization members' with a specific verb and resource. It distinguishes from sibling 'list_workspace_members' by indicating organization-level scope, and enumerates the returned fields (id, email, name, role, timestamps).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'list_workspace_members'. It lacks explicit when-to-use, when-not-to-use, or exclusion criteria, leaving the agent to infer scope from the tool name alone.

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

list_workspace_membersA

List members of a specific workspace.

Each entry includes the user_id and their workspace_role (workspace_admin / workspace_developer / workspace_user / workspace_billing). Org admins automatically have workspace_admin on every workspace and may not appear here explicitly.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes
limitNo
before_idNo
after_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries full behavioral burden. It usefully discloses that org admins automatically have workspace_admin but may not appear explicitly, which is a key behavioral nuance. It implies the list is workspace-specific and non-destructive, though it does not mention pagination or rate limits.

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 three concise sentences, front-loading the main action and adding relevant details. Every sentence adds value, with no wasted words.

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?

Given an output schema exists, the description need not explain return values, but it still describes the output fields appropriately. It covers the org admin caveat, which is important for understanding results. It could mention pagination to match the input schema, but overall it is complete for a simple list tool.

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

Parameters2/5

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

The schema coverage is 0%, and the description adds no meaning to the parameters (workspace_id, limit, before_id, after_id). It only describes output fields, not input parameters, leaving the agent without guidance on parameter usage beyond schema types.

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 lists members of a specific workspace, providing a specific verb and resource. It distinguishes from sibling tools like 'list_workspace' or 'list_members' by specifying the scope. The detail about output fields (user_id, workspace_role) further clarifies purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the tool is for listing workspace members, but does not explicitly state when to use it versus alternatives like 'add_workspace_member' or 'invite_member'. It mentions the org admin exclusion but lacks guidance on when not to use the tool or suggestions for other tools.

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

list_workspacesA

List workspaces in the organization.

Workspaces partition API keys, members, and billing. Every org has a Default Workspace that doesn't appear in this list. Max 100 active workspaces per org; archived workspaces don't count against the limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
include_archivedNoInclude archived workspaces in results
before_idNo
after_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It discloses that Default Workspace is not listed, archived workspaces don't count against the limit, and the max limit. However, it does not explain pagination behavior (before_id, after_id) or authentication needs, leaving some transparency gaps.

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 concise with three sentences, front-loaded with the purpose. Each sentence provides valuable context without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, return values are covered. However, the description lacks details on pagination (before_id, after_id usage) and ordering, which are important for a list tool. It adequately covers workspace scoping and limits but misses these behavioral details.

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?

Schema description coverage is 25% (only include_archived described). The description partially compensates by explaining the limit context (max 100 active workspaces) and archiving, but before_id and after_id remain unexplained, so it adds limited meaning beyond the schema.

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 'List workspaces in the organization' with specific verb and resource. It distinguishes from sibling tools like create_workspace or archive_workspace by implying it is a read operation, and adds context about the Default Workspace exclusion.

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 provides context for when to use the tool (listing workspaces, noting that Default Workspace is excluded and there is a limit of 100 active workspaces). It does not explicitly state when not to use it or suggest alternatives, but the context is clear.

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

remove_memberA

Remove a member from the organization.

The user loses access to all workspaces immediately. API keys created by them remain active (keys are org-scoped, not user-scoped). Cannot remove members with the 'admin' role — that must be done through the Console.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It reveals important effects: immediate loss of access, persistence of API keys ('keys are org-scoped, not user-scoped'), and the admin role restriction. This goes beyond the input schema.

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 three sentences, each essential. Front-loaded with the primary action, followed by critical behavioral details, and ending with an important constraint. No wasted words.

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?

Given the tool has 2 parameters and an output schema exists, the description covers the main purpose, key side effects, and a constraint. It is complete enough for an agent to understand the tool's scope and consequences, though it could briefly mention the 'confirm' parameter's role.

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

Parameters2/5

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

Schema description coverage is 50% (only 'confirm' has a description). The tool description does not add meaning for 'user_id', which remains undocumented. It could clarify the expected format or source of user IDs, but it does not.

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 action 'Remove a member from the organization' with a specific verb and resource. It distinguishes from sibling tools like remove_workspace_member (which removes from a workspace only) and update_member_role (which changes role instead).

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 NOT to use the tool ('Cannot remove members with the 'admin' role') and directs to an alternative ('that must be done through the Console'). While it doesn't explicitly list other siblings for comparison, the context is clear.

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

remove_workspace_memberA

Remove a member from a workspace.

They lose access to API keys scoped to this workspace. Their org-level role and access to other workspaces are unaffected. Org admins cannot be removed from workspaces — their role is automatic and inherited.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes
user_idYes
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses loss of workspace-specific API key access, that org-level role is unaffected, and that org admins cannot be removed. This covers key behavioral traits but does not mention reversibility or any side effects beyond what is stated.

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 four sentences, front-loaded with the purpose. Every sentence adds value: purpose, consequence, unaffected scope, and limitation. No wasted words.

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?

Given the tool's simplicity (3 params, straightforward action) and presence of an output schema, the description provides adequate context: purpose, consequences, and constraint. It does not mention prerequisites (e.g., user must be a workspace member) or return value, but the output schema likely covers that.

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?

Schema coverage is low (33%), with only 'confirm' described. The description adds overall context but does not explain workspace_id or user_id individually. However, their purpose is reasonably inferable from the tool name and context. A 3 is appropriate as the description slightly compensates for low schema coverage.

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 'Remove a member from a workspace' with specific verb and resource. It distinguishes from sibling tools like add_workspace_member and update_workspace_member_role by detailing effects on API keys and org-level role, and adds a clear limitation about org admins.

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 provides context for when to use (remove from workspace) and includes an exclusion for org admins. However, it does not explicitly compare with the sibling 'remove_member' (likely org-level removal) or state when not to use this tool.

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

update_api_keyA

Rename or deactivate an API key.

Renaming is cosmetic and does not require confirmation in itself, but the tool still respects the global confirm flag. Setting status='inactive' immediately stops the key from authenticating new requests — any running workloads using it will start failing. This server cannot reactivate keys; that must be done in the Console.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_key_idYes
nameNoNew display name (cosmetic)
statusNoNew status. 'inactive' deactivates the key; reactivation requires Console access.
confirmNoMust be true when changing status.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Despite no annotations, description discloses key behavioral traits: renaming is cosmetic, deactivation is immediate and one-way, global confirm flag is respected, and reactivation is impossible via this tool. This fully carries the transparency burden.

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?

Four efficient sentences front-loaded with purpose. Every sentence adds value with no redundancy. Structure logically progresses from purpose to details to limitations.

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?

Covers side effects, limitations, and intended actions. Has output schema, so return format not required. Missing error scenarios or prerequisites, but for a mutation with moderate complexity, this is nearly complete.

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 75% (missing api_key_id). Description adds context beyond schema: explains renaming doesn't require confirmation but respects global flag, and that status='inactive' deactivates. Compensates well for schema gaps.

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?

Description clearly states 'Rename or deactivate an API key,' providing a specific verb and resource. It distinguishes from sibling tools (all workspace/member operations) as the only API key mutation tool.

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?

States when to use (rename or deactivate) and notes that reactivation must be done in the Console. Lacks explicit when-not conditions, but the context is clear given no alternative API key update tool.

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

update_member_roleA

Change an existing member's organization role.

Cannot promote to or demote from 'admin' — those changes happen only in the Console. Changing roles takes effect immediately and may impact what API keys and workspaces the user can access.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
roleYesNew role. One of: ['billing', 'claude_code_user', 'developer', 'user']
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool cannot change admin roles, takes immediate effect, and may impact API keys and workspaces. However, it does not disclose whether the action is reversible, what happens to active sessions, or the requirement for the 'confirm' parameter (though schema covers that). The transparency is adequate but not deeply detailed.

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 long, front-loaded with purpose, and every sentence adds value. The first sentence states the action, and the second provides constraints and effects. No unnecessary words or repetition.

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?

Given that an output schema exists, the description need not explain return values. It covers the main contextual points: what the tool does, what it cannot do (admin changes), and immediate effects. However, it could mention the confirm parameter's role or provide a usage example, but it's still fairly complete for a tool of this complexity.

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?

Schema description coverage is 67%, so baseline is 3. The description does not add meaning beyond what the schema already provides: the role parameter's enum values are listed in both, and user_id and confirm have no additional explanation in the description. Thus, no extra value added.

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: 'Change an existing member's organization role.' It uses a specific verb ('change') and resource ('member's organization role'), which distinguishes it from sibling tools like add_workspace_member (adds member) or update_workspace_member_role (workspace-level role change).

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 warns when not to use the tool: 'Cannot promote to or demote from "admin" — those changes happen only in the Console.' This provides clear usage boundaries. It also notes immediate effect and potential impact on API keys and workspaces, giving context for when it's appropriate. However, it doesn't compare directly with update_workspace_member_role, leaving some overlap ambiguous.

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

update_workspaceA

Rename or recolor a workspace.

Cosmetic only — does not affect billing, access, or API keys. At least one of name or display_color must be provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes
nameNoNew display name
display_colorNoNew display color, e.g. '#6C5BB9'
confirmNoMust be true to execute.

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?

No annotations provided, so description carries full burden. It discloses that changes are cosmetic and do not affect billing, access, or API keys. Could mention validation or failure behavior, but the key behavioral trait is well described.

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?

Two sentences: first states purpose, second clarifies side effects and constraint. No wasted words, front-loaded with core action.

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 output schema exists, no need to explain return values. Description covers purpose, constraints, and side effects. Complete for a simple update 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?

Schema description coverage is 75%. Description adds the constraint that at least one of name or display_color must be provided, which is not in schema. Also clarifies the cosmetic nature, adding meaning beyond the schema.

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 'Rename or recolor a workspace', specifying the verb and resource. It distinguishes from sibling tools like archive_workspace or create_workspace by focusing on cosmetic updates.

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?

Explicitly says 'Cosmetic only — does not affect billing, access, or API keys', guiding when to use (cosmetic changes) and when not. Also states the constraint that at least one of name or display_color must be provided.

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

update_workspace_member_roleA

Change a member's role within a workspace.

Effective immediately. Does not affect their org-level role or access to other workspaces.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYes
user_idYes
workspace_roleYesOne of: ['workspace_admin', 'workspace_developer', 'workspace_user']
confirmNoMust be true to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must disclose all behavioral traits. It mentions 'Effective immediately' and clarifies no effect on org role or other workspaces. However, it omits details on permissions, error handling, reversibility, and the purpose of the 'confirm' parameter, which is a safety mechanism.

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 three sentences, front-loaded with the core action, followed by immediate effect and scope limitations. No superfluous information.

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?

The description covers the main purpose and key behavioral aspects. However, it omits explanation of the 'confirm' parameter (a non-obvious requirement), permission prerequisites, and what happens on failure. With an output schema present (not shown), return values are less critical. Overall adequate but could be enriched.

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?

Schema description coverage is 50% (2 of 4 params have descriptions). The tool description does not add any parameter-level detail beyond what the schema provides. For instance, it does not explain what workspace_id or user_id represent. Given moderate coverage, description should compensate but fails to do so.

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 'Change a member's role within a workspace,' specifying the verb (change) and resource (member's role). It distinguishes from siblings like 'update_member_role' by noting it does not affect org-level role, implying a separate tool for org roles. The differentiation is effective.

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 provides context by stating the change is workspace-specific and does not affect org-level role, guiding the agent to use this for workspace roles. However, it does not explicitly name alternative tools or state when not to use it.

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. 21 tool updatesv0.1.1
    • First observedadd_workspace_member
    • First observedarchive_workspace
    • First observedcreate_workspace
    • First observeddelete_invite
    • First observedget_claude_code_usage
    • First observedget_cost_report
    • First observedget_org_info
    • First observedget_usage_report
    • First observedget_workspace
    • First observedinvite_member
    • First observedlist_api_keys
    • First observedlist_invites
    • First observedlist_members
    • First observedlist_workspace_members
    • First observedlist_workspaces
    • First observedremove_member
    • First observedremove_workspace_member
    • First observedupdate_api_key
    • First observedupdate_member_role
    • First observedupdate_workspace
    • First observedupdate_workspace_member_role

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a distinct purpose targeting specific resources (workspaces, members, invites, API keys, usage). No two tools overlap in functionality; even the two report tools (get_cost_report and get_usage_report) clearly separate dollar costs from token usage. The tool set is well-organized with clear boundaries.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., create_workspace, list_members, update_api_key). Verbs are chosen predictably and match the action being performed. No mixing of conventions like camelCase or inconsistent verb styles.

Tool Count5/5

21 tools is reasonable for the complexity of Anthropic administration, covering organization, workspaces, members, invites, API keys, and usage reports. Each tool addresses a necessary operation without obvious redundancy or bloat.

Completeness3/5

The tool set covers most core admin operations but has notable gaps: no tool to create or delete API keys (only rename/deactivate), and no tool to delete a workspace (only archive). These missing lifecycle operations may cause agents to hit dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP-powered HR management system that automates employee onboarding, leave tracking, meeting scheduling, and IT ticketing. It allows users to manage organizational workflows and administrative tasks through natural language interactions with Claude.
    2
    -
  • A
    license
    A
    quality
    C
    maintenance
    Exposes the OpenAI Admin API as MCP tools, enabling management of organization members, projects, service accounts, API keys, rate limits, usage, costs, and audit logs through natural language.
    31
    Apache 2.0

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/Trushtonfactory/anthropic-admin-mcp'

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