Beamswap MCP
OfficialClick 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., "@Beamswap MCPCheck the Base balances of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
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.
Beamswap MCP
Give your AI tools for Base wallets, token data, swap preparation, alerts and token distributions.
Choose how to connect: hosted, local, private tunnel or self-hosted. Choose your AI: Claude, ChatGPT, Gemini, Perplexity, Grok and Codex.
This repository contains the local stdio server. The hosted server lives in beamswap-app-base. Both use the Beamswap API, with different payment approval flows.
Run the local server
Install Node.js 22.13 or newer. The npm release runs without cloning:
npx -y @beamswapio/mcp@0.1.0Set your AI client's command to npx and arguments to ["-y", "@beamswapio/mcp@0.1.0"]. Pinning the version keeps updates deliberate. On Windows, clients that require an executable may need npx.cmd; the source-based node command below also works.
Build from source
For source control or local changes, install Git and pnpm 10, then:
git clone https://github.com/BeamSwap/beamswap-mcp.git
cd beamswap-mcp
pnpm install --frozen-lockfile
pnpm buildSet your AI client's server command to node, with the absolute path to dist/index.js as its argument. The client starts the server. Running it directly leaves it waiting for MCP messages on stdin, which is normal.
Connect before adding a wallet
{
"mcpServers": {
"beamswap": {
"command": "npx",
"args": ["-y", "@beamswapio/mcp@0.1.0"]
}
}
}For a source build, use command node and an absolute argument such as C:/Users/you/beamswap-mcp/dist/index.js. Merge the beamswap entry with your existing servers. After restarting the client, ask it to list the Beamswap tools. Listing tools is free and does not require a wallet.
Related MCP server: Base MCP Server
Payments in local mode
For paid calls, configure BEAMSWAP_WALLET_KEY in your local client's environment settings. Use a separate wallet with a small USDC balance on Base. Never paste a private key into a chat, prompt, issue or shared config.
The local server automatically signs API payments when a key is configured. Each tool is capped at its list price below; monitoring is capped at $0.01 per item per day. Only Base USDC EIP-3009 payments to the configured treasury are allowed. Free tools cannot charge. These limits are per payment, not a daily or total budget. Your AI client's approval controls are separate. Hosted mode instead asks you to approve requests in your browser.
Setting | Purpose |
| Optional for connection/free lookups; required for local paid calls and wallet sign-in. |
| Defaults to |
| Optional existing wallet session. |
| Advanced self-hosting only. Defaults to Beamswap's treasury. Changing the API URL does not change this payment recipient. |
If a signed request times out, returns an error or lacks a valid receipt, the tool returns paymentOutcomeUnknown, doNotRetry and a recovery ID. Further paid calls for that wallet are blocked across restarts. See payment recovery before taking any action. Never ask the AI to create a replacement for an uncertain request.
The API charges USDC. The facilitator pays gas for API settlements. Sending swap, staking, funding or claim transactions separately requires ETH on Base. This server returns transaction instructions and does not broadcast those transactions.
Try a prompt
Start with: “List your Beamswap tools without making any paid requests.”
Then use an exact wallet or token address:
“Check the Base balances of [wallet]. Show tokens with missing prices separately. Do not trade.”
“Compare a quote for 0.01 ETH to USDC on Base. Show the fee and expected output. Do not execute.”
“Validate this rewards list, show duplicate wallets and the total, then stop for my review.”
See workflow examples for costs, prerequisites and where approval belongs.
Local tools and list prices
Tool | What it does | API price |
| Activate wallet-based quota and discounts | Free signature |
| Token metadata, price and quote-based liquidity check | $0.005 |
| Base token and native ETH balances with available USD values | $0.02 |
| Compare supported swap aggregators | $0.005 |
| Prepare transaction data for your wallet | $0.01 |
| Balance/price threshold alerts to your HTTPS webhook | $0.01 per item per day |
| Read a watch by its private ID | Free |
| Stop a watch by its private ID | Free, no refund |
| Create a paused recipient claim contract | $50 |
| Read distribution metadata | Free |
| Retrieve one recipient's proof | $0.001 |
Active GLINT tiers can reduce paid prices by 10%, 25% or 40% and grant quota on eligible routes. Create a session to use your tier. Swap execution preparation and distributions are not free-quota routes. Swap and distribution funding fees are separate from API prices. Successful paid calls include _payment.tx when a settlement receipt is available.
Tool amounts are decimal strings in the token's smallest unit, not JavaScript numbers. The website's recipient importer instead accepts readable token amounts and converts them using verified token decimals.
Development and releases
pnpm check
npm pack --dry-runChecks cover type safety, MCP protocol tool tests, the bundle and a real stdio connection to a local mock API. They use no funded wallet and send no mainnet payment. Release checklist.
MIT license. Maintained by BeamSwap.
Available Tools
11 toolsdistribution_createA
Deploy a cumulative Merkle token distributor on Base and return approval, gross funding and unpause transactions for the owner to send. Costs $50 USDC via x402; the API deploys the clone and settles payment, while owner transactions remain unsent.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional public name | |
| token | Yes | ERC-20 token address on Base | |
| entries | Yes | 1..100000 unique recipient allocations | |
| deadline | No | Optional claim deadline as Unix seconds; defaults to 90 days |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that the API deploys a clone, settles payment via x402, and leaves owner transactions unsent, plus the $50 cost. This gives an agent a clear picture of side effects and prerequisites without ambiguity.
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 compact—two sentences—with the core action and outputs front-loaded. It includes cost and workflow details without unnecessary repetition or fluff, making it easy to parse.
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 covers what the tool returns (three transaction types) and the overall workflow (API deploys, owner sends), which is sufficient for a high-level call. It lacks specifics about output format or transaction structure, but given no output schema and the nature of the tool, the gaps are minor.
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 each parameter already has a clear definition (e.g., token address, entries with cumulative amounts, optional name/deadline). The description adds no extra parameter details beyond reinforcing that entries are cumulative allocations, which is already in the schema. 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 clearly states a specific action (deploy a cumulative Merkle token distributor on Base) and the output (approval, gross funding, and unpause transactions). This distinguishes it from sibling tools like distribution_get or distribution_proof, which likely retrieve proofs or query existing distributions.
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 use case (creating a new distributor) and notes that owner transactions remain unsent, but it does not explicitly mention alternatives or provide when-to-use versus when-not-to-use guidance. Context is clear, but no exclusions or alternate tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
distribution_getA
Read a token distribution, including its root, contract, promised total, funded balance and claim URL. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Distribution id returned by distribution_create |
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 this well by stating the operation is a read ('Read'), explicitly noting it is 'Free,' and listing the exact response content. It lacks details about error cases or idempotency guarantees, but for a simple get operation this is acceptable disclosure.
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: one sentence establishes the operation and output shape, and a second adds the cost behavior. There is no filler or repetition, and the key verb and resource are front-loaded.
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 single-parameter, read-only tool with no output schema, no annotations, and no nested objects, the description covers what the tool does, what it returns, and the cost implication. The only mild gap is error behavior on a nonexistent id, but the simple shape makes this complete enough for an agent to invoke correctly.
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 fully documents the only parameter, id, and even states that it is returned by distribution_create, so schema coverage is 100%. The description adds no additional parameter-level meaning beyond the schema, 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 starts with a specific verb ('Read') and a specific resource ('token distribution'), then enumerates the meaningful fields returned (root, contract, promised total, funded balance, claim URL). This clearly distinguishes it from sibling tools like distribution_create and distribution_proof, since it is explicitly the read operation.
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 makes it clear that the tool is for reading a distribution and mentions the included data, so an agent can infer when to use it. However, it does not explicitly contrast it with distribution_create or distribution_proof, nor does it state conditions such as 'use this when the distribution already exists' or 'use distribution_create first to get an id.' The usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
distribution_proofA
Get one recipient cumulative amount and Merkle proof for a distribution. Costs $0.001 USDC via x402; a missing recipient is a free 404.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Distribution id returned by distribution_create | |
| address | Yes | Recipient address on Base |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose a non-obvious cost ($0.001 USDC via x402) and a free 404 for missing recipients. However, it omits authorization requirements, rate limits, and response-shape details beyond naming the result contents.
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 one tight sentence that front-loads the core purpose, then adds the cost and free-404 behavior. No filler or repetition.
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 full schema coverage, it is nearly complete: it names the output concept, cost, and an error case, and the schema supplies parameter descriptions. It could be stronger with an explicit alternative or response format, but nothing essential is missing for a call.
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 baseline 3 applies; the schema already documents id and address. The description's 'recipient cumulative amount' adds minor context to address but does not meaningfully extend parameter meaning 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 states a specific verb and resource: getting one recipient's cumulative amount and Merkle proof for a distribution. The unique 'Merkle proof' deliverable distinguishes this tool from generic sibling getters like distribution_get.
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 guidance on when to choose this tool over distribution_get or distribution_create, and no alternatives are named. The usage context is only implied by the proof-specific wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolioB
ETH + ERC-20 balances of a Base address with USD values. Costs $0.02 USDC via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address on Base |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It adds useful context by disclosing the cost ($0.02 USDC via x402) and the returned data type, but it does not explicitly state that the operation is read-only or describe potential failure modes, rate limits, or authorization requirements.
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, front-loading the core purpose and then adding the critical cost detail in a second short sentence. Every word earns its place; there is no repetition or filler.
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 single-parameter read tool with no output schema, the description provides the essential details: chain, asset classes, USD valuation, and cost. It is nearly complete, though a brief note on read-only behavior would fully cover the no-annotations 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 schema already documents the single parameter 'address' as 'Wallet address on Base' with 100% coverage. The description reinforces that it is a Base address, but adds no additional meaning beyond the schema, matching the baseline for high schema 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?
The description clearly states that the tool returns ETH and ERC-20 balances for a Base address with USD values. It is precise about the resource and scope, though it lacks an explicit imperative verb such as 'Gets' or 'Retrieves.' It is distinguishable from siblings like token_info by focusing on the full portfolio balance.
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 explicit or implicit guidance is given about when to use this tool versus alternatives such as token_info or swap_quote. There is no mention of scenarios, exclusions, or contextual conditions that would help an agent decide between this and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_createA
Create a 24-hour session for the configured wallet. Free. The session unlocks GLINT tier quota, discounts and execution fees and remains only in this MCP process.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: the session lasts 24 hours, it is free, it unlocks specific benefits, and it remains only in this MCP process. This goes beyond what annotations (none provided) would convey, though it doesn't mention side effects like whether creating a new session invalidates an existing one.
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 two sentences with no wasted words. It front-loads the core action and duration, then adds the key benefits and scope. Every sentence earns its place.
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 zero-parameter tool with no output schema, the description covers the essential context: what the session does, how long it lasts, its cost, and its scope. It could mention what happens if a session already exists, but that's a minor gap for a simple creation 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 tool has zero parameters, so the description doesn't need to explain parameter semantics. The baseline for 0 params is 4, and the description appropriately focuses on the effect of the call rather than 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 ('Create'), the resource ('a 24-hour session'), and the purpose ('unlocks GLINT tier quota, discounts and execution fees'). It also distinguishes itself from sibling tools by mentioning it is free and scoped to the MCP process.
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 when to use it: when the agent needs to unlock GLINT tier benefits for the configured wallet. It doesn't explicitly state when not to use it or name alternatives, but the context is clear enough for a zero-parameter tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
swap_quoteB
Best swap output across Base aggregators (quote only, no calldata). Costs $0.005 USDC via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| buy | Yes | Token address or ETH | |
| sell | Yes | Token address or ETH | |
| amount | Yes | Sell amount in the sell token's smallest unit, as a decimal string | |
| slippageBps | No | 1..5000, default 50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the $0.005 USDC cost via x402 and that it returns a quote only, no calldata. However, it doesn't describe response contents, failure modes, or whether a swap is ever executed, leaving some behavioral ambiguity.
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 zero waste. It communicates the core purpose, scope, and cost efficiently.
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, yet the description doesn't specify what the returned quote contains (e.g., output amount, route, aggregator). It does mention the fee and quote-only nature, but for a paid tool, more contextual detail about return format would make it more 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 coverage is 100%, so the input schema already fully documents each parameter. The description adds no parameter-specific meaning beyond the schema, so 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 clearly states that the tool finds the best swap output across Base aggregators and explicitly says it's 'quote only, no calldata.' This distinguishes it from swap_route in function, though it doesn't name the sibling directly.
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 explicit guidance on when to use this tool versus alternatives like swap_route. The phrase 'no calldata' implies a quote-only use case, but there is no direct when-to-use/when-not-to-use or mention of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
swap_routeA
Best swap route across Base aggregators as ready-to-sign calldata. Costs $0.01 USDC via x402 plus a 10 bps fee inside the route (less for GLINT tiers). Returns to/data/value; you sign and send it.
| Name | Required | Description | Default |
|---|---|---|---|
| buy | Yes | Token address or ETH | |
| from | Yes | Address that will sign and send the transaction | |
| sell | Yes | Token address or ETH | |
| amount | Yes | Sell amount in the sell token's smallest unit, as a decimal string | |
| recipient | No | Receiver of the output token; defaults to from | |
| slippageBps | No | 1..2000, default 50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It states the fee model, the output fields (to/data/value), and that the user must sign and send the transaction. It does not cover failure modes or route validity windows, but the core call behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences each add distinct value: purpose, cost, and output/handoff. Information is front-loaded and there is no filler 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?
Given no output schema, the description usefully names the returned fields. Combined with the fully documented input schema, an agent has enough to call the tool correctly. Minor gaps like route expiry or failure behavior do not seriously hurt completeness.
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 and their meanings. The description adds useful context about signing and fees but does not need to repeat parameter-level detail.
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 and resource: finding the best swap route across Base aggregators and returning ready-to-sign calldata. This clearly distinguishes it from the sibling swap_quote, which would provide a quote rather than executable transaction 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?
The description makes the usage context clear: use this when you want an executable swap route to sign and send, with costs and fee structure stated up front. It does not explicitly name alternatives or exclusions, but the 'ready-to-sign calldata' framing gives clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_infoA
Base ERC-20 facts: metadata, supply, deployer, USD price, round-trip liquidity check. Costs $0.005 USDC via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ERC-20 contract address on Base |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool costs money, which is a behavioral trait, and lists the data returned. However, it does not disclose whether the operation is read-only, whether it can fail (e.g., for non-ERC-20 addresses), or any 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?
Two sentences with no filler. The core facts are front-loaded, and the cost note is a useful, compact addition. Every word earns its place.
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 single-parameter read tool, the description is mostly complete: it lists the data returned and the cost. However, with no output schema and no annotations, an agent might want to know the response format or whether the liquidity check is a boolean or a numeric value. The description is adequate but leaves some ambiguity.
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 the address parameter. The description adds context that the address is on Base and that it is an ERC-20 contract, which is slightly more than the schema, but it does not add format or validation details beyond that.
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 verb ('Base ERC-20 facts') and lists concrete resources: metadata, supply, deployer, USD price, and round-trip liquidity check. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools like portfolio or swap_quote, which are clearly different in scope.
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 for retrieving token facts, and the cost note ('Costs $0.005 USDC via x402') gives a practical condition. However, it does not state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites beyond the address parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_createB
Watch Base balances or USD prices; signed webhook on trip. $0.01 per item per day via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | How long to watch, 1..90 days | |
| items | Yes | 1..50 conditions, each billed separately | |
| webhookUrl | Yes | Public https URL that receives the signed POST; private addresses are refused |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does add useful context: the webhook is signed)Skip, and there is a per-item daily cost via x402. However, it does not mention that this creates a persistent watch, what triggers the webhook beyond 'trip', or what the response contains.
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 one short, efficiently worded sentence that front-loads the core action and includes important billing and delivery details. 'Signed webhook on trip' is terse but understandable in context.
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 nested conditional item schemas and no output schema, the description is incomplete about return values and what happens when requirements are met. It compensates somewhat by mentioning the webhook and pricing, but an agent still lacks context about the response or how payment is handled.
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 fully explains items, days, and webhookUrl. The description adds pricing context and the fact that multiple items are billed separately, but it does not clarify parameter semantics beyond what the schema already provides.
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 domain (watching Base balances or USD prices) and the event condition (signed webhook on trip), which distinguishes it from sibling tools like watch_delete and watch_get. However, it never explicitly says 'create a watch' — that is only implied by the tool name.
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 given about when to use this tool instead of alternatives such as watch_delete or watch_get. There is no mention of prerequisites, payment setup, or scenarios that would favor one sibling over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_deleteA
Stop one watch. Free, idempotent, and never refunded: the days were bought up front.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Watch id returned by watch_create |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and meaningfully discloses that the operation is free, idempotent, and never refunded because days were prepaid. It does not cover all side effects or error behavior, but the core behavioral contract is clearly 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 two short sentences with the purpose front-loaded and no filler. Every clause earns its place, adding behavioral and billing context compactly.
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, idempotent delete/stop operation, the description covers purpose, cost behavior, idempotency, and refund policy. It does not describe return values or error semantics, but no output schema exists and the operation is simple enough that this is not a blocking 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?
The single parameter id is fully documented in the schema with 'Watch id returned by watch_create', so the description does not need to compensate. The description adds context about prepaid days but no parameter-level detail 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 uses a specific verb-object pair ('Stop one watch') and clearly scopes it to exactly one watch, distinguishing it from watch_create and watch_get. The action is immediately identifiable without needing the tool name.
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 about when to use this tool versus its siblings, nor any prerequisites or exclusions. 'Free, idempotent' describes safety and cost but not the contextual decision of when to call watch_delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_getA
Read one watch: its condition, status, last observed value and recent webhook deliveries. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Watch id returned by watch_create |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It clearly states the operation is a read ('Read') and adds the useful detail that it is 'Free' (no cost). However, it does not disclose other behavioral traits such as whether the watch must exist, error behavior, or whether recent webhook deliveries are limited in count.
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 front-loads the action and resource, then lists the returned data. Every word earns its place, and the 'Free' note is a useful extra 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?
For a simple single-parameter read tool, the description is largely complete: it states what is read and what is returned. It could be improved by noting whether the watch must exist or what happens if the id is invalid, but given the simplicity and the 100% schema coverage, this is a minor 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 the single 'id' parameter. The description adds context that the id is a watch id returned by watch_create, which is helpful, but it does not add much beyond the schema's own 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 states a specific verb ('Read') and resource ('one watch'), and enumerates the exact data returned: condition, status, last observed value, and recent webhook deliveries. This clearly distinguishes it from sibling tools like watch_create and watch_delete, which are about creating and deleting watches.
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 context: it is a read operation for a single watch, and the sibling list shows watch_create/watch_delete as related lifecycle tools. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.
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
v0.1.0- First observed
distribution_create - First observed
distribution_get - First observed
distribution_proof - First observed
portfolio - First observed
session_create - First observed
swap_quote - First observed
swap_route - First observed
token_info - First observed
watch_create - First observed
watch_delete - First observed
watch_get
TDQS
Scored across 11 tools
Each tool targets a distinct resource or action, and the watch and distribution families are clearly separated. The only close pair is swap_quote vs swap_route, but their descriptions distinguish quote-only from ready-to-sign calldata well enough.
Most names follow a resource_first snake_case pattern such as watch_create, distribution_get, and session_create. A few names like portfolio, token_info, and swap_quote use noun-style suffixes instead of verb_action, so the pattern is mostly consistent but not uniform.
With 11 tools, the server is well within the ideal scope and each tool covers a distinct capability: portfolio, token info, swap quoting/routing, watch lifecycle, distribution lifecycle, and session creation. No tool feels redundant.
Core workflows are covered: swap quote/route, watch create/get/delete, and distribution create/get/proof. Minor gaps such as listing watches or distributions and a session status endpoint could improve completeness, but agents can complete the main intended operations.
Maintenance
Related MCP Connectors
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Open API Marketplace for AI Agents. Crypto data tools with USDC payments on Base.
Market and on-chain crypto data for AI agents. Pay per call in USDC on Base (x402).
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI applications to interact with the Base blockchain network, allowing wallet management, smart contract deployment, token transfers, NFT operations, DeFi interactions with Morpho vaults, and onramping funds via Coinbase.109 npm-
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI applications to interact with the Base blockchain network and Coinbase API, supporting wallet operations, smart contract deployment, token transfers, NFT management, DeFi lending through Morpho vaults, and onramp functionality.109 npm-
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI applications to interact with the Base blockchain network and Coinbase API, supporting wallet management, token transfers, smart contract deployment, NFT operations, DeFi interactions with Morpho vaults, and fiat onramp functionality.109 npm-
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI applications to interact with the Base Network and Coinbase API for blockchain operations including wallet management, token transfers, smart contract deployment, NFT operations, and onchain lending through Morpho vaults.109 npm-