buymeacoffee-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a clearly distinct resource: one-off supporters, extras purchases, subscriptions, and aggregated totals. There is no meaningful overlap between the three list tools, and summary is obviously the rollup.
Naming Consistency4/5The three list tools follow the predictable list_<resource> pattern, and summary breaks the pattern but is semantically clear as an aggregate operation. Minor deviation but overall coherent.
Tool Count5/5Four tools is a well-scoped read-only surface for a Buy Me a Coffee integration. Each tool covers a distinct aspect of supporter data without unnecessary bloat or omissions.
Completeness4/5The tool set covers the main read-only needs: listing supporter transactions, memberships, and getting a summary. A minor gap is the lack of a way to fetch a single supporter or pagination controls, but the core domain is adequately represented.
Average 4/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds meaningful behavioral context beyond annotations: emails are redacted by default, and full emails belong to the account owner and require appropriate handling. This is useful privacy-related behavior not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The primary action and default behavior are front-loaded, and the privacy caveat is delivered efficiently. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and low parameter coverage, the description leaves gaps around pagination, date filtering, and result shape. The strong annotations reduce safety concerns, and the parameter names are fairly self-explanatory, but an agent still lacks enough detail to confidently use limit, since, and max_pages correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only references include_emails implicitly and says nothing about limit, since, or max_pages. The schema provides raw constraints but no semantic meaning, leaving three of four parameters under-described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a specific resource ('recent Extras purchases'), and an important behavioral qualifier (emails redacted by default). This clearly distinguishes it from sibling tools like list_supporters and list_subscriptions, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear context for what the tool does and hints at the privacy-sensitive handling when include_emails is true. However, it does not explicitly state when to use this tool instead of sibling tools like list_supporters or summary, nor does it provide exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful behavioral context beyond annotations by disclosing that emails are redacted by default and that enabling include_emails exposes owner-identifying data. This is useful for safe and correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences that front-load the core action and redaction detail before the more nuanced privacy warning. Every sentence earns its place with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list operation with two optional parameters and no required arguments, the description is largely complete. It covers the main invocation concern, email privacy, but it does not describe the expected return shape or exactly how max_pages affects the result, which would be helpful without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains the critical behavior of include_emails, but max_pages is left only with name and schema constraints. The description adds some value but does not fully compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads memberships and that emails are redacted by default, which gives a specific verb and resource. It partially distinguishes itself from siblings by focusing on memberships and email handling, though it does not explicitly name or contrast the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when listing membership/subscription data is needed. It also provides important conditional usage guidance around include_emails, warning that full emails belong to the account owner and should be handled accordingly. It does not explicitly state when not to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond annotations by disclosing that refunds and revoked purchases are excluded and that an error occurs when the page cap prevents a complete summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences. The first states the core aggregation, grouping, and exclusions; the second flags the error condition. No filler or redundant restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with two optional parameters and no output schema, the description provides the essential semantics: what is totaled, how it is grouped, what is excluded, and a failure condition. It could specify the exact return shape more, but 'by currency' gives enough to understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden for parameter meaning. It hints at 'recent window' for days and 'page cap' for max_pages, giving useful context, but it does not explicitly map those concepts to the parameter names or explain their effect on the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool produces totals of one-off supports and Extras by currency, over a window, and explicitly excludes refunds and revoked purchases. This is specific enough to distinguish it from the sibling list tools, which provide itemized records rather than aggregate summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: it is the summary/aggregation counterpart to the sibling list tools. However, the description does not explicitly say when to prefer summary over list_supporters, list_extra_purchases, or list_subscriptions, nor does it state exclusions like 'use lists for itemized data'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent, and non-destructive. The description adds valuable behavioral detail beyond those hints: emails are redacted by default, full emails are sensitive account-owner data, and results are returned newest first. This gives the agent the privacy-relevant behavior it needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the essential scope, ordering, and privacy caveat with no filler. The main behavior is front-loaded and every phrase contributes information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only annotations, self-explanatory pagination parameters, and sibling context, the description covers the key operational facts: what is listed, in what order, and what to do about emails. It does not spell out pagination behavior or the exact since filter, but those are reasonably inferable from the schema and parameter names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, description-level parameter guidance is required, and it only partially delivers. include_emails is well explained via the redaction and PII warning, and 'recent' loosely suggests the role of since, but limit, max_pages, and the exact filtering behavior of since are left to inference from their names and schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource ('List recent one-off supporters'), adds ordering ('newest first'), and notes default redaction, making the tool's purpose unmistakable. The qualifier 'one-off' distinguishes it from the sibling tools list_subscriptions and list_extra_purchases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope is clearly implied: it lists one-off supporters rather than subscriptions or extra purchases, so an agent can apply it when that resource is needed. It does not explicitly state 'use list_subscriptions for recurring supporters,' so it stops short of a full when/when-not rule, 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.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md: