revclamp-mcp
Provides tools for auditing Stripe Billing and usage data, evaluating multi-subscription customer snapshots and dunning grace periods, and assessing/staging Stripe dispute evidence aligned with Visa CE 3.0 readiness.
Provides Visa CE 3.0 dispute-readiness capabilities, including evaluating prior undisputed charges and staging a non-submitting draft for dispute evidence review.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@revclamp-mcpvalidate EU VAT ID GR123456789 in VIES"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RevClamp MCP Server & CLI (revclamp-mcp)

revclamp-mcp is the official Model Context Protocol (MCP) stdio bridge and CLI diagnostic client for RevClamp Enterprise. It connects Claude Desktop, Cursor, Windsurf, Cline, and CI pipelines to RevClamp's Streamable HTTP MCP endpoint (POST https://api.revclamp.com/api/mcp) with zero external npm dependencies.
Exposed MCP Tools (5)
Tool Name | Domain | Primary Capability | Mode |
| Stripe Billing & Usage | Runs a 90-day B2B revenue leakage and dispute readiness audit across subscriptions, usage events, and disputes | Stateless Sandbox or Workspace Key |
| Stripe | Evaluates multi-subscription customer snapshots ( | Stateless Sandbox or Workspace Key |
| Visa 10.4 / CE 3.0 | Evaluates 120d–365d prior undisputed charges ( | Stateless Sandbox or Workspace Key |
| EU & | Normalizes 27 EU member states + Northern Ireland ( | Stateless Sandbox or Workspace Key |
| B2B Wholesale Net-30 | Reconciles Net-15/30/60 upfront deposits and credit notes using integer EUR-cent accounting | Stateless Sandbox or Workspace Key |
Related MCP server: week7-mcp-server
Quick Start (Claude Desktop / Cursor / Windsurf)
Add revclamp-mcp to your claude_desktop_config.json or .cursor/mcp.json. Omit REVCLAMP_API_KEY to run in Stateless Sandbox Mode (zero database writes), or pass your rg_live_... workspace key from https://revclamp.com/dashboard:
{
"mcpServers": {
"revclamp": {
"command": "npx",
"args": ["-y", "github:lhphong09t2/revclamp-mcp"],
"env": {
"REVCLAMP_API_KEY": "rg_live_YOUR_WORKSPACE_KEY"
}
}
}
}Or connect directly via Streamable HTTP (JSON-RPC 2.0) without installing a local binary:
curl -sS -X POST https://api.revclamp.com/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'CLI Usage
# List all 5 MCP tools and JSON schemas
node index.mjs --list-tools
# Validate an EU or Northern Ireland (XI) B2B VAT ID (auto-converts Greece GR -> EL)
node index.mjs --check-vat GR123456789 DE
# Invoke Visa CE 3.0 readiness staging in Stateless Sandbox mode
node index.mjs --call revclamp_stage_stripe_dispute_ce3 '{"disputeId":"du_1Qxyz01","customerId":"cus_ent_88","disputeReason":"fraudulent"}'Architecture & Engineering Deep-Dives
1. Stripe 2025-03-31.basil Entitlement Guard & Visa CE 3.0 Two-Tier Routing

Engineering Post-Mortem: Stripe's
basilAPI broke my grace-period logic, and CE 3.0 turned out to be a routing problemInteractive Tool (No Signup): Free Visa CE 3.0 Readiness Checker
2. EU VIES HTTP 200 OK Soft-Failure Circuit Breaker & Reverse-Charge Vault

Engineering Post-Mortem: VIES returns
HTTP 200when it's down, and I charged the wrong VAT because of itInteractive Tool (No Signup): Free 20-ID EU &
XIVIES VAT Batch Validator
Security & Resource Bounds
Strict Origin Pinning: Only connects to
https://api.revclamp.com/api/mcporhttps://revclamp.com/api/mcpover TLS (redirect: "error"). Rejects non-HTTPS protocols, embedded credentials, and untrusted origins.Bounded Execution: Enforces a hard
10,000msrequest timeout (AbortSignal.timeout) and a32,768-byte request/response payload cap.Full LLM Reference:
https://revclamp.com/llms-full.txt
License
MIT © RevClamp Enterprise
Available Tools
5 toolsrevclamp_audit_revenue_leakageB
Run a deterministic 90-day B2B revenue leakage & chargeback readiness audit across Stripe subscriptions, AI/API usage events, and disputes.
| Name | Required | Description | Default |
|---|---|---|---|
| disputes | No | Optional array of Stripe dispute objects. | |
| customers | No | Optional array of customer subscription snapshots. | |
| usageEvents | No | Optional array of product/API usage telemetry events. | |
| costPerEventCents | No | Estimated marginal cost per leaked AI/API event in USD cents (default 142). | |
| dunningGracePeriodDays | No | Custom dunning grace window in days (0-14) before past_due lockouts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It discloses the fixed 90-day deterministic window, but does not state whether the audit is read-only, whether it stages chargebacks or disputes, what permissions are needed, or what side effects may occur.
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 definition is a single front-loaded sentence with no filler. It states the verb and scope immediately and every phrase contributes to the audit purpose.
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 complex cross-domain audit with no annotations and no output schema, yet the description says nothing about the return shape, read-only nature, or how optional inputs affect the audit. The schema documents parameters, but the description is not complete enough for an agent to understand the tool's behavior and output.
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%, so the parameter schema already documents all five optional inputs, including defaults and ranges. The description only names the broad data domains and does not add meaning for costPerEventCents or dunningGracePeriodDays, 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 gives a specific verb and resource: 'Run a deterministic 90-day B2B revenue leakage & chargeback readiness audit' across explicitly named data sources. Its broad cross-domain audit scope distinguishes it from siblings such as revclamp_evaluate_ghost_usage and revclamp_stage_stripe_dispute_ce3 without needing to name them.
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 audit framing implies when the tool is useful, but there is no explicit when-to-use, when-not-to-use, or comparison to sibling tools. An agent can infer that this is the broad audit option, but the description does not route it against narrower alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revclamp_evaluate_ghost_usageB
Evaluate whether a customer's AI/API usage event is unpaid ghost usage across multi-subscription Stripe state (enforces fail-closed pagination and 0-14d dunning grace).
| Name | Required | Description | Default |
|---|---|---|---|
| customerId | Yes | ||
| occurredAtSec | No | ||
| subscriptions | Yes | Stripe subscriptions list object ({ data: [...], has_more: false }) or array. | |
| usageTimestampSec | No | ||
| subscriptionsHasMore | No | Must be explicitly false when passing a raw subscriptions array. | |
| dunningGracePeriodDays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does add important domain behavior: fail-closed pagination and a 0-14 day dunning grace window. It still omits whether the operation is read-only, what it returns, and how incomplete or paginated subscription data affects the result.
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 definition is a single dense sentence with the core evaluation purpose front-loaded. There is no filler or repetition, and every clause adds domain-specific information.
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?
There is no output schema and no annotations, so the description should clarify the decision result and key parameter behavior. It does not explain what the evaluation returns, how fail-closed behavior manifests, or how the two timestamp parameters differ, leaving significant gaps for a 6-parameter 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?
Schema description coverage is only 33%, so the description should compensate more. It contextualizes subscriptions, pagination via 'fail-closed,' and the dunning grace range, but it does not explain customerId or distinguish occurredAtSec from usageTimestampSec.
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 gives a specific verb ('Evaluate') and a precise resource/decision ('unpaid ghost usage') scoped to multi-subscription Stripe state. It is not a tautology, but it does not explicitly distinguish this tool from sibling revenue/compliance tools beyond the unique 'ghost usage' framing.
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 usage is implied by 'Evaluate whether ... is unpaid ghost usage,' so an agent can infer when this tool is relevant. However, there are no explicit when-to-use/when-not-to-use conditions, prerequisites, or comparisons to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revclamp_reconcile_b2b_net_termsC
Reconcile B2B wholesale Net-15/30/60 upfront deposits and credit notes using exact integer EUR-cent accounting.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | ||
| paidAmountCents | Yes | ||
| totalOrderCents | Yes | ||
| creditNotesCents | No | ||
| paymentTermsDays | No | ||
| requiredDepositCents | No | ||
| requiredDepositPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses 'exact integer EUR-cent accounting', which is useful, but it does not state whether reconciliation mutates records, what side effects or idempotency look like, whether permissions are required, or what is returned.
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 filler, and the core purpose appears first. It is very compressed, but that compression is appropriate for conciseness even though other dimensions need more detail.
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 seven parameters, no annotations, no output schema, and a financial reconciliation workflow, the description is not complete enough. It identifies the domain and arithmetic precision but leaves out parameter meanings, side effects, return behavior, and usage routing.
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 0% across seven parameters. The description alludes to deposits, credit notes, and payment terms, but it does not define orderId, totalOrderCents, paidAmountCents, creditNotesCents, paymentTermsDays, requiredDepositCents, or requiredDepositPercent, nor their units or relationships.
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, 'Reconcile', and names the resource area: B2B wholesale Net-15/30/60 upfront deposits and credit notes. It also adds the accounting constraint 'exact integer EUR-cent', making the purpose clear. It does not explicitly differentiate itself from the sibling tools, though their names suggest different domains.
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 gives no explicit guidance on when to use this tool versus alternatives, no when-not conditions, and no prerequisites. The B2B Net-15/30/60 context implies a usage scenario, but an agent must infer it rather than being routed to this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revclamp_stage_stripe_dispute_ce3B
Evaluate Visa Compelling Evidence 3.0 (120d-365d prior charges with IP/device overlap) and stage a non-destructive Stripe dispute draft (submit is hardcoded to false).
| Name | Required | Description | Default |
|---|---|---|---|
| disputeId | No | ||
| customerId | No | ||
| usageEvents | No | Optional array of customer usage events for access_activity_log staging. | |
| disputeReason | No | ||
| priorTransactions | No | ||
| disputedTransaction | No | ||
| existingUncategorizedText | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose the most important trait: the operation is non-destructive because 'submit is hardcoded to false'. However, it omits what staging actually creates (a real Stripe draft object?), whether it is idempotent, what permissions/API keys are needed, and what happens on ineligible disputes.
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 front-loaded sentence with two well-packed clauses and no filler. Jargon density (CE3.0, access_activity_log-style staging) costs a bit of immediate readability but nothing is wasted.
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?
Seven parameters including a nested object, zero required fields, no annotations and no output schema. The description never explains what the tool returns (a staged draft? an eligibility verdict?), what inputs are effectively mandatory, or how the two halves (evaluation vs staging) relate, which is a large gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 14% (only usageEvents is documented), so the description must compensate. It hints at priorTransactions (120d-365d window, IP/device overlap) but says nothing about disputeId, customerId, disputeReason, disputedTransaction, or existingUncategorizedText, leaving six of seven parameters uninterpretable.
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?
States two concrete actions: evaluating Visa Compelling Evidence 3.0 eligibility and staging a Stripe dispute draft. The resource (Visa dispute / CE3.0 evidence) is distinct from every sibling (revenue leakage, ghost usage, EU VAT, net terms), though differentiation is implicit rather than stated.
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 parenthetical '120d-365d prior charges with IP/device overlap' encodes the eligibility window for CE3.0, which implies when the tool applies, but there is no explicit when-to-use/when-not or named alternative among the sibling tools. Guidance must be inferred from domain knowledge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revclamp_validate_eu_vat_viesC
Normalize EU/XI B2B VAT identifiers (including Greece GR -> EL) and evaluate VIES consultation state or MS_UNAVAILABLE fulfillment hold.
| Name | Required | Description | Default |
|---|---|---|---|
| viesMode | No | ||
| buyerVatId | Yes | ||
| sellerCountry | No | ||
| consultationNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. It hints at external VIES consultation (and a LIVE enum value implies a real network call), but never states whether a live lookup occurs, caching, rate limits, failure behavior, or what a 'MS_UNAVAILABLE fulfillment hold' actually does to downstream state. For a tool with a network-dependent and potentially state-affecting branch, this is a significant gap.
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 front-loaded sentence with the main verb and resource up front and no filler. The density of unexplained jargon ('MS_UNAVAILABLE fulfillment hold') costs it slightly, but nothing is redundant.
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 four undocumented parameters, no annotations, and no output schema, the one-line description is not sufficient for correct invocation. An agent cannot tell what consultationNumber supplies, how viesMode alters behavior, or what the tool returns.
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 0% across four parameters, so the description must compensate and largely does not. The GR -> EL note gives useful format context for buyerVatId, but viesMode's four enum values, consultationNumber, and sellerCountry are all left unexplained in both schema and description.
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 names a specific operation on a specific resource: normalizing EU/XI B2B VAT identifiers and evaluating VIES consultation state. It is clearly distinguishable from the accounting/reconciliation siblings (audit_revenue_leakage, reconcile_b2b_net_terms). The phrasing is jargon-heavy ('MS_UNAVAILABLE fulfillment hold') but the core verb+resource pair is unambiguous.
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 explicit when-to-use statement, no prerequisites, and no named alternative among the sibling tools. An agent must infer from the tool name that this is the VAT-validation entry point, and the 'fulfillment hold' branch is not explained in terms of when an agent should choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
revclamp_audit_revenue_leakage - First observed
revclamp_evaluate_ghost_usage - First observed
revclamp_reconcile_b2b_net_terms - First observed
revclamp_stage_stripe_dispute_ce3 - First observed
revclamp_validate_eu_vat_vies
TDQS
Scored across 5 tools
Each tool targets a distinct revenue-operations area: leakage audit, ghost usage, dispute staging, VAT validation, and net-terms reconciliation. The only mild overlap is between the broad 90-day audit and the more specific ghost-usage evaluator, but the descriptions make the boundary reasonably clear.
All tools use the same revclamp_ prefix followed by a verb_object pattern in snake_case. Acronyms like ce3 and vies are appended to resource-specific names but do not break the overall convention.
Five tools is well-scoped for a specialized revenue-leakage and chargeback-readiness server. Each tool maps to a meaningful audit or evaluation function without redundant surface area.
The surface covers the core advertised workflows: deterministic audit, ghost-usage evaluation, dispute staging, EU VAT validation, and net-terms reconciliation. There are minor gaps around remediation or explicit dispute submission, but the non-destructive design likely makes that intentional.
Maintenance
Related MCP Connectors
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
A paid remote MCP for Skybridge, built to return verdicts, receipts, usage logs, and audit-ready JSO
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
Remote MCP utilities for agents: structured data, commerce checks, and x402 paid API discovery.
Related MCP Servers
- AlicenseAqualityAmaintenanceZero-dependency stdio bridge to Moltline Studio's fleet of 14 hosted MCP servers covering code review, time operations, data transforms, business ops, education, research, outreach and more. Free tier requires no registration; premium tools unlock with a license. Independently audited, MCPize Verified A.10MIT
- FlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to retrieve invoice and purchase order data live over stdio through tools for listing invoices, getting invoice details, and fetching purchase orders.-

yotta-dev-mcpofficial
AlicenseNot gradedqualityBmaintenanceProvides deterministic local development tools over stdio MCP, including repository mapping, code review, secret and dependency scanning, release checks, whitelisted checks, scaffolding, and workflow state tracking.14 npmMIT- AlicenseNot gradedqualityBmaintenanceEnables parsing of structured receipts, invoices, and bank statements and tolerance-based three-way reconciliation that detects tax calculation drift and duplicate claims, then synthesizes balanced double-entry bookkeeping journal entries. Exposes these capabilities as MCP tools (initialize, tools/list, tools/call) over a dependency-free JSON-RPC 2.0 stdio server.7MIT