MCP Billing Gateway
Server Details
Billing proxy for MCP servers. Adds Stripe and x402 crypto payments without writing billing code.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- sapph1re/mcp-billing-gateway-sdk
- GitHub Stars
- 1
- Server Listing
- MCP Billing Gateway SDK
TDQS
Scored across 12 tools
Each tool targets a unique resource and action (e.g., create_plan, create_server, get_usage, get_revenue), with no overlapping purposes. Clear boundaries between server management, plan management, billing data retrieval, and operator account functions.
All tool names follow a consistent snake_case verb_noun pattern (create_, list_, update_, delete_, get_, register_). The pattern is uniform across the entire set, making it easy to predict tool names.
12 tools is well-scoped for a billing gateway, covering server lifecycle, plan management, usage analytics, revenue, and operator onboarding without redundancy. The count is in the ideal range and each tool has a clear purpose.
The tool surface covers the core domain: full CRUD for servers (create, read, list, update, delete) and plans (create, read/list, update), plus usage, revenue, and operator registration. The only notable gap is the lack of a delete_plan endpoint, but that can be worked around and is a minor omission.
Available Tools
12 toolscreate_planBInspect
Create a pricing plan for a server
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Plan name | |
| api_key | Yes | Operator API key | |
| server_id | Yes | Server ID | |
| is_default | No | Set as default plan for this server | |
| billing_model | Yes | Billing model | |
| free_calls_per_month | No | Free calls per month | |
| subscription_interval | No | Subscription interval (month/year) | |
| subscription_call_limit | No | Max calls per subscription period | |
| price_per_call_usd_micro | No | Price per call in USD micros (1/1,000,000) | |
| subscription_price_usd_cents | No | Monthly subscription price in cents |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden for behavioral disclosure. It only says 'create' but does not state side effects (e.g., whether the plan becomes active, if a default is set, whether server pricing changes), return values, or required authentication beyond the schema. This is a significant gap for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff or redundancy. It clearly conveys the core purpose. While it is minimal, that is a content issue, not a conciseness issue; it earns top marks for brevity and clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description plus the complete schema gives a usable definition for understanding what the tool does and what parameters are needed. However, with no output schema and no behavioral annotations, the description alone does not fully cover execution context, return values, or failure scenarios. It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for 100% of the parameters, so the schema itself already documents semantics. The description does not add further meaning, but with full coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the object ('a pricing plan') with the target context ('for a server'), immediately distinguishing it from sibling tools like update_plan, list_plans, and create_server.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool compared to update_plan or list_plans. It doesn't mention prerequisites such as the server already existing or whether an API key is required. Only the tool name and the verb imply its use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_serverCInspect
Register a new MCP server for billing
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Server display name | |
| api_key | Yes | Operator API key | |
| auth_mode | No | Auth mode: header (default) or query | |
| is_public | No | Whether to list in public server directory | |
| transport | No | Transport type: http (default) or stdio | |
| proxy_slug | Yes | URL slug for the billing proxy endpoint | |
| description | No | Server description | |
| upstream_url | Yes | Upstream MCP server URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Register' but does not clarify if this is a safe read-only operation or a mutating one. The name 'create' implies mutation, but without annotations, the description should disclose side effects, authentication requirements, or whether registrations are permanent. It misses the opportunity to state it requires an API key (which is in schema) or any billing implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and to the point, with a single sentence that is front-loaded. It does not waste words on fluff, but it might be slightly under-specified given the tool's complexity, so a 4 is fitting rather than 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters with no output schema and no annotations, yet the description provides minimal guidance on the operation's outcome or behavior. It fails to define the purpose of parameters like api_key, proxy_slug, and upstream_url beyond what the schema implies. For a complex tool that creates a new server, the description is too brief to guide an agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the schema describes all 8 parameters (100% coverage), the description doesn't need to duplicate them. However, it adds no extra meaning about how parameters interact, such as that transport and auth_mode have defaults, or that proxy_slug must be unique. With full schema coverage, a baseline of 3 is appropriate as the description adds no added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Register a new MCP server for billing' clearly states the action (register/create) and resource (MCP server), with the context of billing. It is distinct from siblings like create_plan which creates a plan, and update_server which modifies an existing server. However, it doesn't explicitly mention alternatives like update_server for modifications, so a small deduction from a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention that this is for creating a new server, while update_server is for modifying an existing one, or that register_operator is for registering operators first. The agent must infer usage from the tool name alone, which lacks the clarity of explicit instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_serverAInspect
Soft-delete a server (can be restored)
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Operator API key | |
| server_id | Yes | Server ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It explicitly discloses the key behavioral trait—the delete is soft and reversible—which is the most important safety-related information. It does not elaborate on post-delete state or restore mechanics, but the core behavioral warning is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and contains no filler. Every word earns its place: the action, the resource, and the crucial reversibility caveat are all expressed in one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with 100% schema coverage and no output schema, the description adequately covers the main behavior and the most important nuance. It could still mention restoration path or side effects, but the low complexity and sibling context make that non-critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters fully ('Operator API key' and 'Server ID to delete'), so the description does not need to add parameter-level detail. Since schema description coverage is 100%, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb 'Soft-delete' and names the target resource ('a server'), clearly distinguishing this from create_server, update_server, get_server, and list_servers. The parenthetical '(can be restored)' adds important scope and signals this is not a permanent delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is clear: soft-delete a server, with reversibility as the contextual hint. There is no competing delete or restore sibling, so the usage context is unambiguous, though it does not explicitly spell out when not to use it or how restoration is achieved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_operator_infoAInspect
Get current operator profile and status
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Operator API key |
TDQS
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 clearly implies a read-only operation via 'Get' and scopes it to the current operator, which suggests non-destructive behavior. However, it does not describe response shape, error behavior, or whether any permissions beyond the api_key are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with a clear verb and object. It contains no filler, unnecessary repetition, or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple interface (one required api_key) and lack of an output schema, this is minimally viable but not complete. It names 'profile and status' but does not clarify what those fields include, how status is represented, or what error conditions might occur.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, so the baseline is 3. The description adds no meaningful parameter details beyond what the schema already states; 'current operator' indirectly links the api_key to identity but does not clarify syntax, format, or validation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies a clear resource ('current operator profile and status'). It is distinct from sibling tools that target servers, plans, revenue, or usage, and 'current' clarifies the scope as the authenticated operator's own info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage whenever the current operator's profile or status is needed, but it does not explicitly state when not to use the tool or mention alternatives among the sibling tools. The self-scoped 'current operator' phrasing provides some context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_revenueBInspect
Get revenue summary and payout history
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Operator API key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any side effects, permissions, or potential limitations. As a read operation, it is likely safe, but this is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and to the point, with no unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks any information about return format, error handling, or rate limits. For a simple getter, this may be acceptable, but it is incomplete without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter api_key is already described in the schema with 'Operator API key'. The description adds no additional meaning, so the schema coverage is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving revenue summary and payout history. This distinguishes it from sibling tools like get_server and get_usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives, but the purpose is clear enough that it is implied for revenue-related queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_serverAInspect
Get server details including pricing plans
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Operator API key | |
| server_id | Yes | Server ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral disclosure burden. 'Get' implies a read operation and the description mentions pricing plans, but it does not disclose response format, pagination, auth requirements beyond the schema, or any side effects. It is not misleading, just minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is direct and front-loaded. It communicates the core purpose and an added detail (pricing plans) without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read tool with only two parameters, but there is no output schema and no annotations. The description is minimally viable, giving the purpose and one extra detail, but it does not describe the return structure or any edge cases. It is adequate for a simple get-by-id tool but leaves room for more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes both parameters (api_key and server_id) with 100% coverage. The description adds no additional parameter semantics beyond indicating that server details and pricing plans will be returned, so it stays at the schema-coverage baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('server details'), and adds distinguishing information ('including pricing plans'). It clearly separates this from sibling tools like list_servers, which likely returns a collection of servers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to fetch details for a specific server, which is contextually useful relative to list_servers. However, it does not explicitly state when to use this tool over alternatives or mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageCInspect
Get usage analytics for a server (calls, revenue, top callers)
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (YYYY-MM-DD) | |
| from | No | Start date (YYYY-MM-DD) | |
| api_key | Yes | Operator API key | |
| server_id | Yes | Server ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not mention side effects, permission requirements, rate limits, or whether the operation is read-only. The word 'get' implies it is non-mutating, but this is not explicit. The description carries the full burden and fails to disclose behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no superfluous words. It clearly states the action and the key result aspects, making it well-structured and easily scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the core purpose but lacks details about the output format (e.g., is it a list, object, summary?), any limitations (e.g., date range constraints, maximum results), or examples. Given the absence of an output schema, some additional context would improve completeness, but the simple getter nature makes it acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for each parameter (e.g., 'Start date (YYYY-MM-DD)', 'Operator API key'). The tool description does not add any additional meaning beyond these, but the schema coverage is 100%, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies that the tool retrieves usage analytics (calls, revenue, top callers) for a server, which is distinct from sibling tools like get_revenue that might focus on a single metric. The scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives (e.g., get_revenue or get_server). It lacks contextual cues such as 'use when you need overall usage rather than just revenue' or any exclusionary conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_plansBInspect
List pricing plans for a server
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Operator API key | |
| server_id | Yes | Server ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'List pricing plans for a server' but does not disclose any behavioral aspects such as whether it's read-only, authentication requirements beyond the api_key parameter, potential side effects, or error conditions. It's minimal and vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. No unnecessary words. Perfectly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only 2 parameters, no output schema, and no annotations. The description is minimal but may be sufficient for a straightforward list operation. However, it lacks any mention of output format, pagination, or error handling, which could be relevant. With no annotations, it's incomplete for behavioral expectations but adequate for a simple list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptions. The description adds 'for a server' which might imply scoping but doesn't go beyond what the schema already says. Baseline 3 is appropriate since the schema already documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (List) and the resource (pricing plans), and scopes it to a server. It is specific enough to define the tool's core purpose, though it doesn't explicitly distinguish itself from sibling tools like create_plan or update_plan beyond the action verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, typical use cases, or why you'd use list_plans over get_server or other listing tools. The description is just a one-liner without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_serversBInspect
List all MCP servers registered by the operator
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Operator API key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to provide safety information, the description carries the full burden and falls short — it doesn't mention pagination behavior, sorting, response limits, or whether this returns a list, which would significantly help with the allow/deny decision-making. While 'registered by the operator' implies scoping to a specific operator account, the security-relevant API key requirement isn't mentioned as a prerequisite for the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence that communicates the core functionality without any wasted words. It front-loads the main action and purpose clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation, it should explicitly mention response details like pagination or limits, and note which sibling tools handle related tasks — but the absence of connection to the authentication flow is a real gap. Without output schema or pagination docs, the description leaves important usage details unclear even for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single api_key parameter has 100% schema coverage with its description 'Operator API key', and the description adds no new information about the parameters since the word 'operator' connects nicely to the api_key parameter, providing chain-of-thought value. However, a 3 is right since the schema fully defines it — the description doesn't enrich the meaning beyond what's already clearly stated in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "List all MCP servers registered by the operator" clearly states the verb (list) and resource (MCP servers), with a specific qualifier noting these are registered by the operator. However, it doesn't clarify why get_server exists as a sibling — perhaps that's a single server lookup, which would make this tool's role clearer; the description could distinguish itself better.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly uses 'all' to indicate this is a list/collection operation, which implies it's for bulk retrieval. However, it doesn't explicitly state when to choose this over alternatives like get_server or get_usage, nor does it mention whether it can be used for filtering or pagination purposes. The word 'all' gives a reasonable sense of the scope, but more explicit guidance about querying specific servers would help disambiguate from get_server.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_operatorCInspect
Register a new operator account with Stripe Connect onboarding
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Operator or company name | |
| Yes | Operator email address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It implies a read-only operation? Actually it implies a write/mutation ('Register'), but does not reveal side effects like sending verification emails, creating Stripe Connect accounts, or whether the operator is activated immediately. Given the lack of annotation support, the description should disclose more behavioral details such as idempotency or asynchronous onboarding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise and front-loaded. It conveys the essential purpose without extra fluff. It is slightly under-specified in terms of context, but for a one-liner it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters, 100% schema coverage, and no output schema, the description is reasonably complete for a basic action. However, because it is a mutation with external side effects (Stripe Connect onboarding), more context about the onboarding process or following steps would improve completeness. It is adequate but not exceptional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of parameters with descriptions. The tool description adds no additional meaning beyond 'email' and 'name', but the baseline is 3 because schema coverage is high. Even so, it could have explained format expectations (e.g., valid email format) or how these parameters are used in Stripe onboarding, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Register a new operator account' with Stripe Connect onboarding, which specifies the verb and resource. However, it does not explicitly distinguish itself from sibling tools like 'get_operator_info' or 'create_plan', though the purpose is unambiguous enough given the context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use guidance or mention of alternatives. While the purpose is clear, it does not explain prerequisites, such as whether Stripe Connect onboarding requires additional steps, or how this tool differs from related account creation tools. This leaves the agent without explicit context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_planCInspect
Update a pricing plan
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New plan name | |
| api_key | Yes | Operator API key | |
| plan_id | Yes | Plan ID | |
| is_active | No | Activate or deactivate plan | |
| is_default | No | Set as default plan | |
| free_calls_per_month | No | New free call limit | |
| price_per_call_usd_micro | No | New price per call |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It only says 'update', implying mutation, but does not disclose what happens to unmentioned fields, whether updates are atomic, permission requirements, or if there are side effects like plan changes affecting existing subscriptions. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no waste. It is concise but lacks a structured breakdown; however, for a simple tool, this is acceptable and earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and a mutation tool, the description is too brief. It does not explain the effect of each parameter, whether updates are partial or full replacement, or any side effects. The presence of 7 parameters, including toggles like is_active and pricing, suggests more context is needed. However, since the schema fully documents parameterstons, the lack of extra behavioral info is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no parameter-specific meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (update) and resource (pricing plan), making the tool's purpose unambiguous. It does not explicitly distinguish from sibling tools, but the resource is specific enough to avoid confusion with create_plan or update_server.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of prerequisites, side effects, or scenarios where another tool (e.g., create_plan) might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_serverBInspect
Update server settings (name, description, upstream_url, is_public, status)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New server name | |
| status | No | Server status (active/paused) | |
| api_key | Yes | Operator API key | |
| is_public | No | Public listing toggle | |
| server_id | Yes | Server ID | |
| description | No | New description | |
| upstream_url | No | New upstream URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits itself. It only lists updatable fields and gives no information about mutation semantics, required authentication beyond the schema-required api_key, idempotency, side effects, or response behavior. This is a significant transparency gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that fronts the core action and resource, then lists fields. Every word earns its place with no redundancy or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no annotations and no output schema, the description is too minimal. It omits patch semantics (partial vs full replacement), authentication requirements, expected outcomes, and how status values behave. The schema fills in parameter details, but broader operational context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions such as 'New server name' and 'Server status (active/paused)'. The description adds no semantic value beyond listing field names, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Update') on a specific resource ('server settings') and lists the editable fields, distinguishing it clearly from siblings like create_server, delete_server, get_server, and list_servers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 create_server, delete_server, or get_server. The verb 'Update' implies usage, but there is no mention of prerequisites, partial vs full updates, or conditions under which this tool is appropriate.
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.
12 tool updates
- First observed
create_plan - First observed
create_server - First observed
delete_server - First observed
get_operator_info - First observed
get_revenue - First observed
get_server - First observed
get_usage - First observed
list_plans - First observed
list_servers - First observed
register_operator - First observed
update_plan - First observed
update_server
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity – fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge – works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge – works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
- mcpOAuthcom.stripe
MCP server integrating with Stripe - tools for customers, products, payments, and more.
Agent-commerce MCP server for x402/USDC payments and affiliate splits on Base.
Free self-hosted x402 USDC billing for Cloudflare MCP servers, with a Base Sepolia test endpoint.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTemplate for creating MCP servers with a server-side paywall gate, enabling free local usage and premium hosted tier with Stripe and x402 payment lanes.MIT
- AlicenseNot gradedqualityCmaintenancePer-call billing and metering proxy for MCP tool servers. Providers set pricing via the open MCP Billing Spec (MIT), consumers pay through Stripe Connect with signed receipts and SLA monitoring.MIT
- AlicenseNot gradedqualityBmaintenanceDrop-in middleware for MCP servers that lets AI agents autonomously pay for tool access on XRPL/Xahau using the x402 protocol.2311MIT

mcp-x402-acceptofficial
AlicenseNot gradedqualityCmaintenanceProxies an existing MCP server to add an x402 paywall, charging AI agents per tool call without modifying the upstream server.56MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.