Skip to main content
Glama

proxyllm-mcp

MCP server for ProxyLLM, the OpenAI-compatible LLM gateway. It gives any MCP client (Claude Code, Claude Desktop, Cursor, Cline, Windsurf, OpenClaw) live model catalogs, plan-savings math, routing-key introspection and provisioning, and an account signup flow an agent can complete on its own: email OTP in, sk_ account token out, HTTP 402 with a checkout link until a human activates the membership.

Install

Claude Code:

claude mcp add proxyllm -- npx -y proxyllm-mcp

Cursor, Cline, Claude Desktop, or any client that takes a JSON server entry:

{
  "mcpServers": {
    "proxyllm": {
      "command": "npx",
      "args": ["-y", "proxyllm-mcp"]
    }
  }
}

No configuration is required to start. Two optional environment variables save passing tokens per call:

  • PROXYLLM_ACCOUNT_TOKEN: an sk_ (read+write) or rk_ (read-only) account token for the management tools.

  • PROXYLLM_ROUTING_KEY: a pllm_ routing key for key introspection and key-scoped model lists.

Related MCP server: litellm-mcp

Tools

Free, no account needed:

  • proxyllm_savings_calculator: monthly OpenAI API bill in, subscription tier + flat total + monthly savings out.

  • proxyllm_list_models: OpenAI-shaped model list from the gateway.

  • proxyllm_introspect_key: what a routing key can do (lanes, models, budget, whether a Codex subscription backs it).

Account flow (an agent can run this end to end):

  • proxyllm_signup: emails a 6-digit code to the operator's inbox. No captcha.

  • proxyllm_verify_signup: exchanges the code for the sk_ account token (returned once).

  • proxyllm_account: account state; while unpaid it carries the checkout link and a message written to be relayed to the operator. Poll until plan is "pro".

Provisioning (paid accounts):

  • proxyllm_create_routing_key: mints a pllm_ key, optionally wiring its provider chain (Codex subscription seats, self-hosted Claude Code bridges, metered API keys) in the same call.

  • proxyllm_list_routing_keys: keys, plus the wireable lane ids with include_lanes.

  • proxyllm_usage: 30-day usage summary.

Unpaid accounts get 402 payment_required on management tools by design; the body names the price ($129/mo flat), the checkout URL, and the 48-hour removal deadline for never-activated accounts. Error bodies are returned verbatim because they contain the next step.

MIT license.

Available Tools

9 tools
proxyllm_accountAccount state (poll until paid)A

GET /v1/organizations/me. Works while unpaid: plan is "free" plus a payment block until the operator activates the membership, then "pro". Poll this after handing over the checkout link.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_tokenNo

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses the plan state machine (free plus payment block -> pro after operator activation) and implies polling is safe via 'poll'. It does not mention potential errors, rate limits, or token handling, but for a simple GET endpoint the provided context is meaningful.

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 filler. It front-loads the exact HTTP endpoint and immediately follows with the key state logic and usage instruction. Every sentence adds value, and the structure is 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 the tool's simplicity (1 parameter, no output schema), the description covers the essential context: endpoint, expected state transitions, and when to invoke it. It does not specify response fields or error scenarios, but the stated plan values provide enough for basic invocation and interpretation.

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?

There is 1 parameter (account_token) with 0% schema description coverage, so the description must compensate. However, it does not mention the parameter at all, leaving its purpose, origin, and optionality unexplained. The name hints at meaning, but the absence of any elaboration makes it insufficient.

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's function: it GETs the organization account state and reports the plan status ('free' vs 'pro'). The title 'Account state (poll until paid)' further narrows its purpose. It does not explicitly reference sibling tools, but its unique focus on account polling makes it distinguishable.

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 explicit usage context: 'Poll this after handing over the checkout link.' It also explains the expected state changes while unpaid and after activation, which helps the agent decide when to call it. It does not name alternatives or exclusion criteria, but the guidance is clear and actionable.

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

proxyllm_create_routing_keyCreate a routing keyA

Mints a pllm_ routing key (returned once) for OPENAI_API_KEY-style use against the gateway. Optionally wires the provider chain in the same call; discover wireable lane ids with proxyllm_list_routing_keys include_lanes.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
labelNo
providersNo
account_tokenNo
monthly_budget_usdNo

TDQS

A4.1/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 the full burden. It discloses key behavioral traits: the key is returned only once, and it optionally wires the provider chain in the same call. It omits potential costs or budget effects, but core behavior is transparent.

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, front-loaded with the essential verb and resource, and no extraneous information. The sibling pointer is useful and compact.

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?

For a create tool with 5 parameters and no output schema, the description lacks explanation of most parameters and gives no indication of expected response or side effects beyond the one-time key return. The sibling reference helps only partially.

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 0% and the description does not compensate. 'Provider chain' hints at the providers array, but mode, label, account_token, monthly_budget_usd, and provider sub-fields are left undefined, leaving the agent without enough to choose correct values.

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 'Mints' with a concrete resource ('pllm_ routing key') and clarifies its one-time return. It clearly differentiates from siblings like proxyllm_list_routing_keys and proxyllm_introspect_key by focusing on creation/issuance.

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?

It states the intended use ('for OPENAI_API_KEY-style use against the gateway') and explicitly points to a sibling for discovery ('discover wireable lane ids with proxyllm_list_routing_keys include_lanes'), providing both when-to-use and an alternative.

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

proxyllm_introspect_keyIntrospect a routing keyA

GET /v1/key: the key's provider lanes, reachable models, whether a Codex subscription backs it, and monthly budget state. Authed by the routing key itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
routing_keyNo

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the HTTP method (GET), shows it is a read-only inspection, and states authentication is done via the routing key itself. It adds meaningful behavioral context beyond the bare parameter 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?

Two sentences, front-loaded with the endpoint, and no wasted words. Each clause adds useful 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?

For a single-parameter introspection tool with no annotations or output schema, the description is fairly complete: it names the endpoint, lists the returned data categories, and explains authentication. It could mention response format or error cases, but it is adequate for the tool's simplicity.

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 only provides the parameter name with no description (0% coverage). The description adds that authentication is via the routing key, giving some semantic context, but does not explain the expected format or whether it is required beyond the implied use.

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 introspects a routing key and lists specific return details (provider lanes, reachable models, Codex subscription, monthly budget state). It distinguishes itself from sibling tools like create/list routing keys and usage.

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 explicit when-to-use or alternative guidance is provided. The description implies use when you need details about a specific key, but it does not contrast with sibling tools like list_routing_keys or usage.

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

proxyllm_list_modelsList modelsA

OpenAI-shaped model list from the gateway. No auth required; with a routing key it reflects that key's lanes, including the live Codex catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
routing_keyNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the authentication requirement (none), explains the routing key's effect on lanes, and specifies the output shape as OpenAI-compatible. It lacks details on error handling or the meaning of 'lanes,' but for a simple read-only list, this is strong.

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, front-loaded with the main purpose ('OpenAI-shaped model list from the gateway'), and adds only essential details (auth, routing key behavior). No redundancy or filler.

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 tool with one optional parameter and no output schema, the description covers the source, output format, auth, and parameter behavior. 'OpenAI-shaped' hints at the return structure, making the description sufficient for effective use.

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 schema provides no description for routing_key (0% coverage), but the description says 'with a routing key it reflects that key's lanes,' which gives the parameter clear purpose. It could be more explicit about optionality, but the single parameter is adequately explained.

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 ('list') and resource ('models') with the qualifier 'OpenAI-shaped,' making it clear this returns a model catalog from the gateway. It distinguishes itself from siblings like proxyllm_list_routing_keys by focusing on models, not keys or 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?

The description states 'No auth required,' which is an explicit usage condition, and explains that supplying a routing key alters the output to reflect that key's lanes, including the live Codex catalog. It does not name alternative tools or provide when-not-to-use guidance, so it falls short of a 5.

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

proxyllm_list_routing_keysList routing keys (and wireable lanes)A

Lists the account's routing keys. include_lanes adds the wireable lanes (connected Codex sessions, bridges, saved provider keys) with the ids provider chains reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_tokenNo
include_lanesNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses that include_lanes adds wireable lanes (Codex sessions, bridges, saved provider keys) and that these provide ids used by provider chains, adding useful behavioral context beyond the 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?

Two concise sentences front-load the main purpose and then clarify the optional parameter. No filler or redundant 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?

For a simple list tool with no output schema, the description provides adequate scope and the optional behavior. It could mention the return format or account_token semantics, but the overall context is sufficiently complete for basic usage.

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 input schema provides no descriptions (0% coverage). The description explains include_lanes meaningfully but leaves account_token undefined. It partially compensates for the schema gap but not fully.

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 the account's routing keys and optionally includes wireable lanes, using a specific verb+resource. It is easily distinguished from siblings like create_routing_key and introspect_key.

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: use it for listing routing keys, with optional lane expansion. It does not explicitly mention alternatives or exclusions, but the sibling tool names and the focus on routing keys imply the appropriate usage scenario.

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

proxyllm_savings_calculatorLLM spend: API vs subscription mathA

Given a monthly OpenAI API bill in USD, returns the ChatGPT/Codex subscription tier that absorbs that workload through ProxyLLM Codex Hosted, the flat total (subscription + $129 fee), and the monthly savings. Free, no auth.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthly_openai_bill_usdYes

TDQS

A4.4/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 the full burden. It adds 'Free, no auth' and details the three outputs (subscription tier, flat total, monthly savings). This goes beyond a minimal statement, though it does not cover error handling or edge cases. For a non-mutating calculator, this is adequate transparency.

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; the first packs essential functional info (input, output, fee), and the second adds 'Free, no auth.' No unnecessary words. It is front-loaded and immediately informative.

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 one parameter and no output schema, the description lists the three output components (subscription tier, flat total, monthly savings) but does not specify the exact response structure (e.g., JSON field names). However, the tool is simple enough that an agent can infer the return contents. The description is complete enough for invocation and basic interpretation.

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%, but the description explicitly defines the parameter's meaning: 'monthly OpenAI API bill in USD' maps directly to monthly_openai_bill_usd. It also clarifies the computation context. With only one parameter, this is sufficient to understand what value to provide.

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 what the tool does: given a monthly OpenAI API bill in USD, it returns the appropriate subscription tier, the flat total with the $129 fee, and monthly savings. The specific verb 'returns' and the resource 'savings calculator' distinguish it from sibling tools like proxyllm_list_models or proxyllm_usage, which serve different purposes.

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 specifies the input condition ('Given a monthly OpenAI API bill in USD') and implies the use case: comparing API spend against subscription costs via ProxyLLM Codex Hosted. Although it does not explicitly mention when not to use it or alternative tools, the sibling list shows no similar calculator, so the context is sufficient for an agent to decide when to invoke it.

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

proxyllm_signupCreate a ProxyLLM account (email OTP)A

Starts autonomous account creation: a 6-digit code is emailed to the operator's inbox (no captcha, no browser). New accounts are unpaid and are removed after 48 hours unless a human activates the membership. Follow with proxyllm_verify_signup.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe human operator's email
sourceNoAttribution slug; defaults to mcp

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so excellently. It discloses that a code is emailed, that accounts are unpaid, and that they are removed after 48 hours without human activation. These are critical behavioral implications an agent must know.

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 sentences, each earning its place: the first states the core action, the second adds key constraints (no captcha, unpaid, 48-hour loss), and the third directs the next step. No fluff, front-loaded, and highly scannable.

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 (two params, no nested objects, no output schema), the description fully covers the flow, the outcome, and the required follow-up. An agent can confidently invoke this tool and know what to expect.

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%: both email and source have descriptions. The tool description adds no parameter-specific detail beyond that, but the schema already documents each parameter adequately. Baseline 3 is appropriate because the description doesn't need to compensate.

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 'Starts autonomous account creation', clearly identifying the tool's verb (starts), resource (account creation), and method (email OTP). It distinguishes itself from siblings by naming the follow-up proxyllm_verify_signup, making the first step in a flow unmistakable.

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 strong context: when you need to create an account, use this to initiate, then verify. It mentions 'no captcha, no browser' and the follow-up step, but stops short of listing explicit exclusions or alternative tools. Still, the intended use is clear.

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

proxyllm_usage30-day usage summaryC

GET /v1/organizations/usage for the account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_tokenNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden of disclosing behavior, but it only reveals that it is a GET request. It does not mention authentication requirements, response format, default behavior of the optional account_token, or any side effects. This leaves critical behavioral information undisclosed.

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 a single, concise sentence that front-loads the HTTP method and endpoint, with no redundant words. It is efficient but perhaps too sparse, trading completeness for brevity. Still, the structure is clear and direct.

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

Completeness1/5

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

The description is inadequate given the lack of annotations, output schema, and parameter explanations. It does not specify the time range (even though the title does), what data is included, or how the account_token alters behavior. An agent cannot reliably invoke this tool without additional information.

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

Parameters1/5

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

The schema has 0% description coverage for the parameter 'account_token'. The description does not explain what this parameter means, what values it accepts, or how it affects the request. Given that the parameter is optional, the agent has no basis for deciding whether to include it or what to pass.

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 states a clear action ('GET') and resource ('/v1/organizations/usage'), making the tool's function explicit. The title '30-day usage summary' adds context that it returns usage data over a 30-day period. It does not explicitly differentiate itself from sibling tools, but the resource name itself is distinct enough for an agent to infer its purpose.

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. It does not mention any preconditions, exclusions, or related tools. The description only states the endpoint, leaving the agent without context for choosing this tool over siblings like proxyllm_savings_calculator or proxyllm_list_models.

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

proxyllm_verify_signupVerify the emailed code, receive the account tokenA

Exchanges the 6-digit code for an sk_ account token. The token is returned exactly once: store it (PROXYLLM_ACCOUNT_TOKEN). While the account is unpaid the response carries a checkout link to relay to the operator.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
emailYes

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 transparency burden. It discloses that the token is returned exactly once (a critical side effect) and that an unpaid account generates a checkout link. This goes beyond basic expectations, though details like code expiration or error handling are omitted.

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 filler, and all information is relevant. The description is front-loaded and structured logically: what exchange happens, what to do with the result, and a conditional note for unpaid accounts.

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?

There is no output schema, so the description should cover return values. It mentions the token and optional checkout link, which is sufficient for a simple verification endpoint. It does not cover errors, but the tool's simplicity and sibling context make this gap acceptable.

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 0%, so the description must explain parameters. It clarifies 'code' as a 6-digit value, but does not add meaning for 'email' beyond the schema's email format. The token output is discussed, but this is output, not parameter. Partial compensation for the coverage gap.

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 the specific verb 'Exchanges' and identifies the resource ('6-digit code for an sk_ account token'). It clearly distinguishes the verification step from sibling tools like proxyllm_signup, which is the code-sending counterpart.

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 implies the tool is used after signup to convert the emailed code into an account token. It gives explicit post-usage instructions (store token, relay checkout link if unpaid), but does not explicitly name alternatives or state when-not-to-use scenarios.

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. 9 tool updatesv1.0.2
    • First observedproxyllm_account
    • First observedproxyllm_create_routing_key
    • First observedproxyllm_introspect_key
    • First observedproxyllm_list_models
    • First observedproxyllm_list_routing_keys
    • First observedproxyllm_savings_calculator
    • First observedproxyllm_signup
    • First observedproxyllm_usage
    • First observedproxyllm_verify_signup

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: savings calculation, model listing, key introspection, signup steps, account details, key creation/listing, and usage. There is no overlap; even the sequential signup tools are separated by stage.

Naming Consistency4/5

All tools share the 'proxyllm_' prefix and most follow a verb_noun pattern (list_models, create_routing_key, verify_signup). However, a few are noun-only (account, usage, signup) and savings_calculator is noun_noun, creating minor inconsistency.

Tool Count5/5

The 9 tools are well-scoped for a gateway management service, covering signup, key lifecycle, model discovery, usage, and savings estimation. It is neither too thin nor overloaded.

Completeness4/5

The set covers the core account and key lifecycle comprehensively, including signup, verification, key creation/listing, introspection, usage, and models. Minor gaps exist such as no delete or update routing key, but they can be worked around.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that functions as an intelligent gateway for multiple LLM backends including OpenAI, Claude, and Ollama. It supports automatic provider fallback, streaming responses via Server-Sent Events, and real-time monitoring for robust AI integration.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides tools to interact with the LiteLLM proxy API, enabling LLM completions, embeddings, image generation, and admin operations.
    18
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Unified MCP server for querying multiple LLM providers (Gemini, OpenAI, Anthropic, etc.) with advanced routing, cost optimization, and fallback resilience.
    2
    15
    -
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for the LiteLLM proxy, enabling agents to administer resources like keys, teams, users, models, and proxy settings through risk-graded meta-tools.
    6
    MIT

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/proxyllm-ai/proxyllm-mcp'

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