Everclear MCP Server
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., "@Everclear MCP ServerGet a route quote for 1000 USDC from Ethereum to Arbitrum"
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.
Everclear MCP Server
A Model Context Protocol (MCP) server that provides Claude AI with direct access to Everclear.org's API endpoints. This enables Claude to interact with the Everclear protocol, query intents and invoices, retrieve analytics, and perform various blockchain-related operations.
Features
Required Endpoints
Get Intents: Retrieve a list of intents with optional filters
Get Intent Details: Get detailed information about a specific intent
Get Invoices: Fetch list of invoices with optional filters
Get Invoice Details: Get detailed information about a specific invoice
Get Invoice Min Amounts: Calculate minimum amounts needed to settle an invoice
Get Route Quote: Get quote for a route including fees and limits
Optional Endpoints
Get Liquidity Flow: Retrieve liquidity flow metrics
Get Clearing Volume: Retrieve clearing volume metrics
Related MCP server: Base MCP Server
Installation
Clone the repository:
git clone <repository-url>
cd everclear-mcpInstall dependencies:
npm installBuild the project:
npm run buildUsage
Running the Server
For development:
npm run devFor production:
npm startIntegration with Claude Desktop
Open Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Add the Everclear MCP server configuration:
{
"mcpServers": {
"everclear": {
"command": "node",
"args": ["/path/to/everclear-mcp/dist/index.js"]
}
}
}Restart Claude Desktop
Available Tools
Once connected, Claude will have access to the following tools:
get_intents
Retrieve a list of intents from Everclear.
Parameters:
status(optional): Filter by intent statuslimit(optional): Number of results to returnoffset(optional): Pagination offset
get_intent_details
Get detailed information about a specific intent.
Parameters:
intentId(required): The ID of the intent
get_invoices
Retrieve a list of invoices.
Parameters:
status(optional): Filter by invoice statuslimit(optional): Number of results to returnoffset(optional): Pagination offset
get_invoice_details
Get detailed information about a specific invoice.
Parameters:
invoiceId(required): The ID of the invoice
get_invoice_min_amounts
Calculate minimum amounts needed to settle an invoice.
Parameters:
invoiceId(required): The ID of the invoice
get_route_quote
Get a quote for a route including fees and limits.
Parameters:
fromChain(required): Source chain identifiertoChain(required): Destination chain identifieramount(required): Amount to transfertoken(required): Token address or identifier
get_liquidity_flow
Retrieve liquidity flow metrics.
Parameters:
timeRange(optional): Time range for metricschainId(optional): Filter by specific chain
get_clearing_volume
Retrieve clearing volume metrics.
Parameters:
timeRange(optional): Time range for metricschainId(optional): Filter by specific chain
Development
Project Structure
everclear-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript output
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── README.md # This file
└── PRODUCT_SPEC.md # Product specification documentScripts
npm run build: Compile TypeScript to JavaScriptnpm run dev: Run the server in development mode with hot reloadnpm start: Run the compiled server
API Documentation
For more information about the Everclear API endpoints, visit: https://docs.everclear.org/developers/api
License
ISC
Available Tools
11 toolsconvert_chain_id_to_nameA
Convert a chain ID to its human-readable name.
WORKFLOW INSTRUCTIONS:
- Use this to make API responses more readable
- Chain IDs are numeric strings, names are like "Arbitrum", "Optimism"
- Returns "Unknown Chain (ID)" if chain ID not found
DATA FORMATTING:
- Always use this before displaying chain information to users
- Combine with other tools for complete chain analysis| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | The chain ID to convert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the input shape (numeric strings), the fallback behavior ('Unknown Chain (ID)' if not found), and the intended display workflow. It omits any note on case sensitivity, whitespace tolerance, or whether conversion is purely local/lookup-based.
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?
Front-loaded with the core purpose, then organized under WORKFLOW INSTRUCTIONS and DATA FORMATTING headers. Slightly verbose – 'Combine with other tools for complete chain analysis' is generic filler – but no sentence is seriously 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?
For a one-parameter lookup tool with no annotations and no output schema, the description supplies everything needed: input format, return value shape, and fallback behavior. Nothing an agent must know to call it correctly 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 coverage is 100%, so baseline is 3; the description adds real meaning by specifying that chain IDs are numeric strings and giving concrete output examples ('Arbitrum', 'Optimism'). The schema description ('The chain ID to convert') alone would not convey the expected format.
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 a specific verb+resource: converting a chain ID to its human-readable name. It is clearly distinguishable from the sibling convert_tickerhash_to_name, which handles a different identifier type.
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?
Gives clear context ('use this to make API responses more readable', 'always use this before displaying chain information'). It does not name the sibling convert_tickerhash_to_name or state when not to use this tool, so it falls short of full alternatives-based guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_tickerhash_to_nameA
Convert a tickerhash to its human-readable token name.
WORKFLOW INSTRUCTIONS:
- Use this to make token information more readable
- Tickerhashes are long strings, names are like "USDC", "WETH"
- Returns "Unknown Token (hash)" if tickerhash not found
DATA FORMATTING:
- Always use this before displaying token information to users
- Essential for route quotes and invoice analysis| Name | Required | Description | Default |
|---|---|---|---|
| tickerhash | Yes | The tickerhash to convert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It usefully discloses the fallback behavior: 'Returns "Unknown Token (hash)" if tickerhash not found.' It does not explicitly state that the tool is read-only or has no side effects, but for a pure conversion utility this is a minor omission and the fallback detail adds real value.
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 purpose is front-loaded in the first sentence, followed by structured workflow and formatting notes. There is mild redundancy between 'Use this to make token information more readable' and 'Always use this before displaying token information to users,' but the extra guidance is generally useful for a simple conversion tool.
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 one-parameter conversion with no output schema, the description supplies the needed context: purpose, usage timing, and fallback return value. It does not mention error handling beyond not-found or confirm read-only behavior, but those gaps are minor given the tool's simplicity.
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%, and the single parameter already has a description. The tool description adds only illustrative context ('Tickerhashes are long strings, names are like "USDC", "WETH"') without new syntax or format constraints. Baseline 3 is appropriate when the schema already documents the parameter fully.
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 first sentence states a precise verb+resource: converting a tickerhash to a human-readable token name. It implicitly distinguishes itself from the sibling convert_chain_id_to_name by specifying tickerhash input rather than chain ID. An agent can identify the tool's purpose without opening the schema.
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 explicit usage conditions: 'Always use this before displaying token information to users' and 'Essential for route quotes and invoice analysis.' It does not name an alternative tool or a when-not-to-use case, but the usage context 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.
get_clearing_volumeC
Retrieve clearing volume metrics
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | No | Filter by specific chain | |
| timeRange | No | Time range for metrics |
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 of behavioral disclosure, and it discloses almost nothing: no indication of aggregation level, units, whether results are cached, or permission requirements. The word 'Retrieve' implies a read, but that is the only behavioral signal.
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 short clause with zero filler, and the resource is front-loaded. It is efficient, though the brevity edges toward under-specification rather than true conciseness.
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 output schema, the description should describe what the metrics contain (units, granularity, shape of the response), and it does not. For a metrics endpoint with two optional filters and no annotations, this leaves the agent guessing at the result semantics.
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 both chainId and timeRange are already documented in the schema, and the description adds no format, default, or accepted-value detail. Baseline 3 applies when the schema does the heavy lifting.
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 a clear verb+resource: retrieve clearing volume metrics. An agent can tell it reads volume data rather than intents, invoices, or quotes. However, it does nothing to distinguish itself from near-neighbors like get_liquidity_flow, which likely also returns aggregated metric data.
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 when-to-use guidance, no prerequisites, and no mention of alternatives among the ten sibling tools. The agent must infer that this is the volume-metrics tool purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_intent_detailsC
Get detailed information about a specific intent
| Name | Required | Description | Default |
|---|---|---|---|
| intentId | Yes | The ID of the intent |
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 implies a read-only lookup but says nothing about the response shape, error behavior for missing IDs, or whether access to another party's intent is restricted. 'Detailed information' is never unpacked.
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 no filler. It is efficient, though its brevity contributes to the gaps in other dimensions rather than being a virtue on its own.
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?
No output schema and no annotations mean the description must explain what 'detailed information' actually contains, and it does not. For a detail-retrieval tool with a bare one-line description, an agent cannot predict the return payload or failure modes.
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% and only one parameter exists, so the schema already defines intentId. The description adds no format, prefix, or sourcing detail beyond what the schema provides; baseline 3 applies.
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 clear verb ('Get') and resource ('detailed information about a specific intent'), and the word 'specific' hints at single-item retrieval versus the get_intents sibling. However, it never names or contrasts with get_intents, so the distinction is left to inference.
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?
No guidance on when to use this tool versus get_intents, no prerequisites, and no mention of what happens if the intentId is unknown. The agent must guess the routing rule from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_intentsC
Retrieve a list of intents from Everclear
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| offset | No | Pagination offset | |
| status | No | Filter by intent status |
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 does not disclose authentication requirements, pagination behavior, default ordering, response shape, or error conditions. The word 'Retrieve' implies a read, but nothing more specific is stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that is front-loaded with the core action and resource. It is appropriately sized, though it errs toward under-specification rather than over-verbosity.
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 no output schema and no annotations, the description is incomplete for a list tool with pagination and filtering parameters. It does not explain what the returned intents look like, how pagination works, or how to use the status filter, all of which an agent would need to invoke it confidently.
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 limit, offset, and status. The description adds no parameter semantics beyond what is in the schema. Per the rubric, a baseline of 3 is appropriate when the schema does the heavy lifting.
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 clear verb ('Retrieve') and resource ('list of intents'), and names the source system Everclear. However, it does not differentiate this tool from the sibling 'get_intent_details', so an agent must infer that this returns a collection rather than details for a single intent.
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 like 'get_intent_details' or any other sibling. The description provides no context, prerequisites, or exclusions, leaving usage entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoice_detailsC
Get detailed information about a specific invoice
| Name | Required | Description | Default |
|---|---|---|---|
| invoiceId | Yes | The ID of the invoice |
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 implies a read operation but says nothing about permissions, whether a missing invoice raises an error or returns null, or what 'detailed' actually includes. For a retrieval tool with zero structured behavioral data, this leaves important gaps.
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?
One short, front-loaded sentence with no filler. It is efficient, though arguably under-specified rather than optimally concise.
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 (one required param, no nesting, no output schema), so the description need not explain return values. Still, with no annotations and several sibling invoice tools, a sentence on scope or error behavior would meaningfully improve callability.
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% and the single parameter is documented ('The ID of the invoice'), so the schema already does the work. The description adds no format or source hints for the ID, so the 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 verb (get) and resource (detailed information about a specific invoice), so an agent can tell it retrieves one invoice by ID. However, it does nothing to distinguish itself from siblings like get_invoices or get_invoices_formatted, which is a real ambiguity given four invoice-related tools in the same family.
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 versus get_invoices (list) or get_invoices_formatted. The word 'specific' weakly implies single-invoice lookup, but no alternative or precondition is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoice_min_amountsC
Calculate minimum amounts needed to settle an invoice
| Name | Required | Description | Default |
|---|---|---|---|
| invoiceId | Yes | The ID of the invoice |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It implies a computation (likely read-only), but does not disclose whether it requires authentication, if it has side effects, or what the output format looks like. For a calculation tool, 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?
The description is a single, front-loaded sentence with no wasted words, efficiently conveying the core action.
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 a tool that performs a calculation, with no annotations, no output schema, and only one parameter, the description is too sparse. It doesn't explain what 'minimum amounts' means, whether it returns a breakdown, or any constraints. More context is needed for correct invocation.
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 'invoiceId' is fully documented in the schema. The description adds no parameter details beyond that, which is appropriate given the high coverage. Baseline 3 applies.
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 verb (Calculate) and resource (minimum amounts needed to settle an invoice), clearly identifying the tool's function. While it doesn't explicitly differentiate from siblings like get_invoice_details, the purpose is distinct enough to avoid confusion.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoicesC
Retrieve a list of invoices
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results to return | |
| offset | No | Pagination offset | |
| status | No | Filter by invoice status |
TDQS
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 implies a read operation but does not state whether it is read-only, how pagination works, whether authentication is required, or what the return format looks like. These gaps are significant for an agent.
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, efficient sentence with no wasted words and is front-loaded with the core action. It is appropriately concise, though it could potentially include a bit more useful context without becoming verbose.
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's simplicity, the schema's full coverage of parameters, and the absence of an output schema or annotations, the description is minimally adequate. It could mention that it returns a list of invoices (which it does), but omits details like pagination behavior or read-only nature that would help the agent.
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 three parameters (limit, offset, status). The description adds no additional meaning beyond what the schema provides, which is the baseline for high coverage.
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 a specific verb (Retrieve) and resource (list of invoices), making the basic operation clear. However, it does not distinguish this tool from siblings like get_invoices_formatted or get_invoice_details, leaving the agent to infer the difference.
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?
No guidance on when to use this tool versus alternatives is provided. The description does not mention any conditions, prerequisites, or exclusions that would help an agent select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoices_formattedA
Get invoices from Everclear with enhanced formatting including: - Human-readable chain names and token names - Amounts converted from wei to native token units - Open time calculation (current time - createdAt) - Properly formatted data for analysis
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of invoices to retrieve | |
| status | No | Filter by invoice status |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the transformations applied (chain/token naming, wei→native conversion, open-time derivation). However it says nothing about pagination, default limit behavior, ordering, or auth requirements for a read endpoint.
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?
Front-loaded with the core action in the first line, followed by a scannable bullet list of transformations. No filler sentences, though the bullets slightly restate the notion of "formatting" already implied by the 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?
With no output schema, the description usefully enumerates the shape of the returned data (named chains/tokens, converted amounts, derived open time), which is exactly what an agent needs. It is only mildly incomplete in omitting pagination and default retrieval size.
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 both limit and status are documented in the schema itself, establishing the baseline of 3. The description adds no additional meaning about parameter semantics, such as allowed status values or default limit.
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 a specific verb and resource ("Get invoices from Everclear") and clarifies the variant's distinctive behavior via the "enhanced formatting" list. It implicitly distinguishes itself from the sibling get_invoices, but never names it explicitly, so sibling differentiation is left to inference.
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 enhancement list implies you'd pick this over get_invoices when you want human-readable output, but there is no explicit when-to-use rule, no when-not, and no named alternative. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liquidity_flowC
Retrieve liquidity flow metrics
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | No | Filter by specific chain | |
| timeRange | No | Time range for metrics |
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 does not disclose whether this is a read-only operation, whether any permissions are required, pagination behavior, or what the output contains. For a retrieval tool with zero annotation coverage, 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, efficient sentence that is front-loaded and contains no waste. It is appropriately sized, though the content is thin.
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?
A retrieval tool with no annotations and no output schema requires the description to explain what is returned and any behavioral traits. The description is too sparse, omitting return format, scope, and usage context, leaving the agent to guess.
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 schema already documents both parameters (chainId and timeRange). The description adds no parameter meaning beyond what the schema provides, which is the baseline expectation.
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 a specific verb (retrieve) and resource (liquidity flow metrics), so the purpose is identifiable. However, it does not differentiate from siblings like get_clearing_volume, which also retrieves financial metrics, and 'liquidity flow metrics' is vague about what is actually returned.
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?
No guidance on when to use this tool versus alternatives such as get_clearing_volume. The description provides no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_route_quoteC
Get a quote for a route including fees and limits
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token address or identifier | |
| amount | Yes | Amount to transfer | |
| toChain | Yes | Destination chain identifier | |
| fromChain | Yes | Source chain identifier |
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 implies a read-like quote operation but does not clarify that it does not execute the transfer, nor does it disclose authentication, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that is front-loaded with the core action and supplemental details. It wastes no words, though it could be slightly richer for the complexity.
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?
No output schema exists, and the description does not explain the return format or what the quote includes beyond 'fees and limits'. With four required parameters and no annotations, the definition is too sparse to call it 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?
Schema description coverage is 100%, so all four parameters are already documented in the schema. The description adds no additional meaning about parameter formats or constraints, making the baseline score of 3 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?
States a specific verb and resource: 'Get a quote for a route', and specifies the scope includes fees and limits. It is clear what the tool does, though there are no similarly named sibling tools to distinguish it from.
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?
No guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. It simply describes the action without context for selection.
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.
11 tool updates
v1.0.0- First observed
convert_chain_id_to_name - First observed
convert_tickerhash_to_name - First observed
get_clearing_volume - First observed
get_intent_details - First observed
get_intents - First observed
get_invoice_details - First observed
get_invoice_min_amounts - First observed
get_invoices - First observed
get_invoices_formatted - First observed
get_liquidity_flow - First observed
get_route_quote
TDQS
Scored across 11 tools
Most tools target clearly distinct resources and actions (intents vs invoices vs details vs quotes vs metrics vs conversions). The one real overlap is get_invoices and get_invoices_formatted, which return the same underlying invoice data with different formatting, so an agent could reasonably pick the wrong one. This is a minor boundary issue rather than widespread duplication.
Names follow a consistent snake_case get_/convert_ verb_noun pattern (get_intent_details, get_invoice_details, convert_chain_id_to_name). The only slight deviation is get_invoices_formatted using an adjective modifier rather than a plain noun, but the convention is still readable and predictable.
Eleven tools is well within the ideal 3-15 range and each maps to a distinct read/analytics or helper operation. The surface feels scoped to the Everclear domain without obvious filler.
The server covers the read/analytics lifecycle well: intents, invoices, invoice details, minimum amounts, route quotes, and liquidity/clearing metrics, plus conversion helpers. There are no write operations (submit intent, settle invoice), but as a monitoring/query surface the coverage is solid with only minor gaps.
Maintenance
Related MCP Connectors
Pay-per-use tool API for AI agents. Free tier, x402 USDC micropayments, or API key.
Discover machine-payable APIs, probe x402 payment terms, and run seller operations. Non-custodial.
Read-only BTC/XMR/ZEC/DOGE/LTC chain data for AI agents (16 tools)
17-model LLM gateway + 350+ data/KYB/sanctions tools. Pay-per-call USDC via x402, no API key.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables Claude to interact with Ethereum nodes, allowing users to check ENS token balances, view smart contract code, and decode transactions through natural language.51MIT

Base MCP Serverofficial
AlicenseNot gradedqualityFmaintenanceProvides onchain tools for Claude AI to interact with the Base blockchain and Coinbase API, enabling wallet management, fund transfers, and smart contract deployment.110 npm350MIT- AlicenseBqualityDmaintenanceProvides Claude with access to Ethereum and EVM-compatible blockchain operations, enabling wallet management, transaction handling, contract interactions, and blockchain queries through natural language.43541 npm10MIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude with Piriod.com API to manage invoicing and payments, enabling listing/creating invoices, searching customers, and viewing payments through natural language.-