Skip to main content
Glama

CSPR.trade MCP

MCP Server

AI agent integration for CSPR.trade, the leading DEX on the Casper Network.

[CSPR[dot]trade MCP server](https://glama.ai/mcp/servers/make-software/cspr-trade-mcp)

🔗 Public endpoint: https://mcp.cspr.trade/mcp — connect any MCP client, no setup required.

The hosted endpoint runs with file-based deploy input disabled. submit_transaction accepts inline signed JSON only; it will not read deploy files from the server filesystem.

📖 Documentation: mcp.cspr.trade

Connect Your Agent

Add to Claude Desktop, Cursor, or any MCP client config:

{
  "mcpServers": {
    "cspr-trade": {
      "url": "https://mcp.cspr.trade/mcp"
    }
  }
}

That's it. Your agent now has access to 24 public tools for market data, swaps, liquidity management, trade analysis, portfolio tracking, and account queries on the Casper Network.

Related MCP server: freqtrade-mcp

What's Available

Public MCP surface: 24 tools

Category

Tools

Wallet Required

Market Data

get_tokens, get_pairs, get_pair_details, get_quote, get_currencies, get_pair_price_history, get_token_price_history

No

Trading

build_swap, build_approve_token, submit_transaction

Yes

Liquidity

build_add_liquidity, build_remove_liquidity

Yes

Trade Analysis

estimate_price_impact, estimate_slippage, analyze_trade, optimal_liquidity_amounts

No

Account

get_token_balance, get_liquidity_positions, get_impermanent_loss, get_swap_history, get_portfolio_value, get_position_status

No

Optional local signer: +1 tool

Run a second local MCP instance in --signer mode to add:

  • sign_deploy — local-only deploy signing with keys loaded from your machine

That gives you 23 total tools across the full two-server setup.

Non-custodial by design. The public MCP server never handles private keys. Transactions are built remotely and signed locally when you enable signer mode.

OpenClaw Skill

Using OpenClaw? Install the agent skill from ClawHub:

npx clawhub@latest install cspr-trade-mcp

The skill teaches your agent the full workflow — intent classification, quote-before-swap patterns, price-impact warnings, local signing flows, price-history lookups, portfolio checks, and error recovery. Works with any OpenClaw-compatible agent.

Self-Hosting

Want testnet access or a private instance? Install the npm packages:

npm install @make-software/cspr-trade-mcp
{
  "mcpServers": {
    "cspr-trade": {
      "command": "npx",
      "args": ["@make-software/cspr-trade-mcp"],
      "env": { "CSPR_TRADE_NETWORK": "testnet" }
    }
  }
}

See the Self-Hosting guide for HTTP server setup, local signer mode, production deployment, and the optional file-path workflow.

Packages

Package

Description

@make-software/cspr-trade-mcp

MCP server — 24 public tools over stdio or HTTP, plus optional sign_deploy in local signer mode

@make-software/cspr-trade-mcp-sdk

TypeScript SDK — market data, price history, quotes, analysis, and transaction building

Development

npm install         # Install dependencies
npm run build       # Build all packages
npm test            # Run tests

License

MIT

Available Tools

13 tools
build_add_liquidityB

Build an unsigned add-liquidity transaction for a token pair

ParametersJSON Schema
NameRequiredDescriptionDefault
token_aYesFirst token: symbol, name, or hash
token_bYesSecond token: symbol, name, or hash
amount_aYesHuman-readable amount of first token
amount_bYesHuman-readable amount of second token
slippage_bpsNoSlippage in basis points (default 300)
deadline_minutesNoDeadline in minutes (default 20)
sender_public_keyYesSender hex public key
token_a_balanceNoRaw token A balance for one-time approval
token_b_balanceNoRaw token B balance for one-time approval

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Correctly discloses that the output is 'unsigned', indicating the tool constructs but does not execute or submit the transaction. However, with no annotations provided, the description carries the full burden and omits key behavioral context: it does not state that the transaction requires subsequent signing, potential token approval prerequisites, or that the operation is non-destructive/read-only until submission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence with zero redundancy. However, given the domain complexity (DeFi liquidity operations with 9 parameters and no annotations), the brevity leaves critical workflow context unmentioned, slightly hurting its utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Factually complete for a transaction-building tool with full schema coverage, but minimal given the complexity. Lacks explanation of the broader transaction lifecycle, approval requirements, and relationship to sibling tools that would prevent user errors in a multi-step DeFi workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, all 9 parameters are adequately documented in the schema itself. The description adds no supplementary parameter semantics (e.g., explaining human-readable vs raw formats, or the relationship between token_a and token_b), warranting the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Provides a specific verb (Build) and resource (unsigned add-liquidity transaction) with clear scope (for a token pair). Implicitly distinguishes from siblings like submit_transaction (unsigned vs submitted) and build_remove_liquidity (add vs remove), though it does not explicitly name alternative tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Lacks explicit guidance on when to use this versus build_swap or the prerequisite workflow. Critical DeFi context missing: it does not mention that token approvals (via build_approve_token) are typically required before adding liquidity, nor does it explain the build → sign → submit lifecycle implied by 'unsigned'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_approve_tokenA

Build an unsigned token approval transaction. Spender defaults to the CSPR.trade router.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken contract package hash to approve
amountYesRaw amount to approve (in smallest unit / motes)
sender_public_keyYesSender hex public key
spenderNoSpender contract package hash (defaults to CSPR.trade router)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Mentions 'unsigned' which is critical behavioral info (transaction requires signing before submission), and notes the spender default. Missing: gas costs, that this is a write operation, whether approval is additive or replacement, and the prerequisite relationship to swapping.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. Front-loaded action ('Build an unsigned...') followed by default parameter context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage and no output schema, description adequately explains the operation. However, given this is a transaction builder with no annotations, it should mention the output is a transaction to be signed/submitted via submit_transaction sibling, or explain the 'unsigned' nature in workflow context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with clear descriptions. Description adds valuable semantic context beyond schema by specifying the spender 'defaults to the CSPR.trade router'—default values and domain context not present in the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear specific verb ('Build') and resource ('unsigned token approval transaction'). The 'token approval' specificity distinguishes it from sibling build_swap/build_add_liquidity tools. CSPR.trade router reference provides domain context, though it could explicitly state this is for ERC-20/Casper token standards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage context by mentioning 'CSPR.trade router' as the default spender, suggesting this is for DEX interactions. However, lacks explicit guidance on when to use (e.g., 'call before build_swap if token lacks allowance') or when not to use (e.g., if already approved).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_remove_liquidityC

Build an unsigned remove-liquidity transaction

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesPair contract package hash
percentageYesPercentage of liquidity to remove (1-100)
slippage_bpsNoSlippage in basis points (default 300)
deadline_minutesNoDeadline in minutes (default 20)
sender_public_keyYesSender hex public key

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'unsigned' to indicate non-execution, but fails to describe what the transaction does (burns LP tokens, returns underlying assets), the output format, or security considerations like slippage protection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is efficiently structured and front-loaded with the action. However, for a complex DeFi operation with no output schema and no annotations, it may be overly terse rather than appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of liquidity removal (financial operation with impermanent loss risks, multi-step transaction flow) and absence of output schema, the description is incomplete. It omits the transaction lifecycle, output payload structure, and economic effects of the operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, documenting all 5 parameters including constraints (percentage 1-100). The description adds no additional semantic context beyond the schema, which warrants the baseline score for well-documented schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Build') and resource ('remove-liquidity transaction'), and includes 'unsigned' which distinguishes it from the sibling 'submit_transaction'. It clearly differentiates from 'build_add_liquidity' and 'build_swap' through the specific operation name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While 'unsigned' hints that signing and submission happen elsewhere, there is no explicit guidance on the required workflow (build → sign → submit), when to use this versus 'build_swap', or prerequisites like existing liquidity positions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_swapA

Build an unsigned swap transaction. Returns the deploy JSON for external signing, plus a human-readable summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
token_inYesInput token: symbol (e.g., "CSPR"), name, or contract hash
token_outYesOutput token: symbol (e.g., "USDT"), name, or contract hash
amountYesHuman-readable amount (e.g., "100")
typeYes"exact_in" or "exact_out"
slippage_bpsNoSlippage tolerance in basis points (default 300 = 3%)
deadline_minutesNoTransaction deadline in minutes (default 20)
sender_public_keyYesSender hex public key (e.g., "01abc...")
token_in_balanceNoRaw input token balance for one-time approval (e.g., from wallet). If omitted, approves exact swap amount only.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. It discloses 'unsigned' nature (no state change yet), output format ('deploy JSON'), and bonus output ('human-readable summary'). However, misses critical behavioral context: that this doesn't submit to blockchain, approval mechanics via token_in_balance, error conditions (slippage), or that returned JSON requires subsequent signing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. First sentence states core purpose immediately. Second sentence describes outputs. Every word earns its place; properly front-loaded with no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 100% schema coverage, the description adequately covers the return values (compensating for no output schema). However, for a complex DeFi tool with 8 parameters involving slippage, deadlines, and approvals, the description lacks workflow context (e.g., that approval may be needed first, or that this is step 1 of 2 in swap execution).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline score applies. Description provides high-level context ('swap transaction') that helps interpret parameter relationships, but doesn't add syntax, format details, or parameter-specific guidance beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear specific verb ('Build') + resource ('unsigned swap transaction') + scope. Distinguishes from siblings: vs 'get_quote' (this builds executable tx), vs 'submit_transaction' (this returns unsigned for external signing), vs 'build_add_liquidity' (different operation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage context via 'for external signing', suggesting use when handling signing outside the tool. However, lacks explicit 'when to use vs alternatives' (e.g., 'use submit_transaction instead to auto-submit') or workflow prerequisites (e.g., 'call get_quote first').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_currenciesA

List supported fiat currencies for price display

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. 'List' implies read-only behavior, but description omits return format details, pagination behavior, or whether results are cached/static.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the action verb. Every word serves purpose: verb (List), resource (supported fiat currencies), context (for price display). No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriate for a zero-parameter list tool. While no output schema exists, the description sufficiently communicates the tool's scope for its complexity level. Minor gap: doesn't describe return value structure (e.g., array of currency codes).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters present, which per rules sets a baseline of 4. Description correctly avoids inventing parameters that don't exist in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent clarity: 'List' is a specific verb, 'supported fiat currencies' defines the resource precisely, and 'for price display' clarifies the contextual purpose. It clearly distinguishes from sibling get_tokens (crypto) by specifying 'fiat'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage context ('for price display') indicating when to use it, but lacks explicit guidance on when NOT to use it or alternatives (e.g., no mention of get_tokens for crypto assets).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_impermanent_lossC

Calculate impermanent loss for a liquidity position

ParametersJSON Schema
NameRequiredDescriptionDefault
account_public_keyYesAccount public key (hex)
pairYesPair contract package hash

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden of behavioral disclosure. Fails to state this is a read-only calculation (though implied by 'get_' prefix), does not describe calculation methodology (current price ratio vs. entry price), return value format (percentage, absolute value, ratio), or performance characteristics. Critical gaps for a financial calculation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no redundancy. Efficiently states core purpose. However, extreme brevity results in underspecification for a financial calculation tool—conciseness here reflects minimalism rather than optimal information density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Inadequate for tool complexity. No output schema exists, yet description doesn't hint at return structure. For a DeFi financial calculation involving impermanent loss, fails to explain what the calculation represents (divergence loss vs. holding), units, or interpretation guidance. Relies entirely on input schema and domain knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both account_public_key and pair are documented), establishing baseline 3. Description adds no parameter context (does not explain that account_public_key + pair identify the specific position, nor clarifies 'pair contract package hash' format requirements). But schema descriptions suffice for basic understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verb (calculate) and resource (impermanent loss for a liquidity position). Clear enough to distinguish from sibling tools like get_liquidity_positions (which retrieves position data) and build_add_liquidity (which creates positions). However, lacks explicit scope clarification that this computes a specific financial metric rather than retrieving stored data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Does not mention prerequisites (e.g., that a liquidity position must exist for the account/pair combination) or when to use get_liquidity_positions instead. No mention of typical workflow (e.g., call get_liquidity_positions first to verify position exists).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_liquidity_positionsC

Get liquidity positions for an account

ParametersJSON Schema
NameRequiredDescriptionDefault
account_public_keyYesAccount public key (hex)
currencyNoFiat currency code

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Zero annotations provided, so description bears full disclosure burden. It states the action but fails to indicate this is read-only/safe, doesn't describe return structure, pagination, or whether the currency parameter filters vs prices the results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely brief at 7 words, but front-loaded with verb and no filler. However, the extreme brevity contributes to under-specification in other dimensions—it leaves value on the table rather than being appropriately-sized for a tool with 12 siblings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimally viable for a 2-parameter read operation with good schema coverage. Lacks behavioral richness expected given the financial context ( cryptocurrency/DeFi) and the complexity implied by siblings like build_swap and get_impermanent_loss.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with explicit descriptions for both account_public_key and currency. The description mentions 'account' which loosely maps to the required parameter, but adds no syntax details, format examples, or semantic relationships between the two params.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource construction ('Get liquidity positions'), and 'for an account' scopes it to user-specific holdings. However, it does not explicitly differentiate from siblings like get_impermanent_loss or get_swap_history which may also require account context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this read operation versus the build_add_liquidity/build_remove_liquidity siblings, nor when to prefer get_impermanent_loss for analysis. No prerequisites or conditions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pair_detailsB

Get detailed information about a specific trading pair

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesPair contract package hash (e.g., "hash-abc123...")
currencyNoFiat currency code

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden of behavioral disclosure. 'Get' implies read-only but doesn't explicitly confirm this, nor does it mention caching, rate limits, or response size. Fails to disclose what 'detailed' encompasses.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and resource. No redundancy or wasted words. Appropriate length for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimal but adequate for a simple 2-parameter read tool. Lacks output specification (no output schema exists), but 'detailed information' hints at comprehensive data. Sufficient for agent selection though richer context on return values would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters well-documented in the schema ('Pair contract package hash', 'Fiat currency code'). Description adds no parameter-specific guidance, meeting the baseline for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb ('Get') and resource ('trading pair'), and 'specific' distinguishes from sibling 'get_pairs'. However, 'detailed information' is vague and doesn't specify what data is returned (e.g., reserves, prices, metadata).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this versus 'get_pairs' (to discover pairs) or 'get_quote' (for pricing). Doesn't mention that 'pair' parameter requires a contract hash likely obtained from 'get_pairs' first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pairsC

List trading pairs on CSPR.trade with reserves and pricing data

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
page_sizeNoItems per page (default 10, max 250)
order_byNo
order_directionNo
currencyNoFiat currency code for pricing

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. While it mentions 'reserves and pricing data' (output content), it omits critical behavioral traits: pagination is required (page/page_size exist but behavior isn't described), no indication of real-time vs cached data, and no safety hints (read-only assumed but not stated).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, efficiently front-loaded with action verb. However, extreme brevity is insufficient for a zero-annotation, 5-parameter tool requiring pagination awareness. One additional sentence on differentiation from get_pair_details or pagination behavior would improve utility without sacrificing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Names the API domain (CSPR.trade) and data returned, satisfying basic needs. Gaps remain: no pagination explanation despite page params, no output schema hints beyond 'reserves/pricing', and no contrast with singular 'get_pair_details'. Acceptable but minimal for the complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60% (3/5 params described). Description mentions 'pricing data' which provides semantic context for the 'currency' parameter, but offers no guidance on 'order_by' or 'order_direction' enums (reserves vs timestamp sorting logic). Baseline 3 appropriate for medium coverage without full compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'List' and resource 'trading pairs on CSPR.trade'. Effectively distinguishes from transaction-building siblings (build_*, submit_transaction) and other getters like get_tokens. However, fails to explicitly differentiate from sibling 'get_pair_details' (singular vs plural), which could cause selection ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this bulk list view versus 'get_pair_details' for specific pair queries. No mention of pagination workflow or when to provide currency parameter. Users must infer usage from parameter schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_quoteA

Get a swap quote for trading between two tokens. Returns amounts, price impact, and routing path.

ParametersJSON Schema
NameRequiredDescriptionDefault
token_inYesInput token: symbol (e.g., "CSPR"), name, or contract hash
token_outYesOutput token: symbol (e.g., "USDT"), name, or contract hash
amountYesHuman-readable amount (e.g., "100" for 100 CSPR)
typeYes"exact_in" = specify input amount, "exact_out" = specify desired output amount

TDQS

A3.6/5.0
Behavior3/5

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 output contents ('amounts, price impact, and routing path') which compensates for the missing output schema. However, it lacks explicit confirmation that this is read-only, doesn't mention cache duration, liquidity failure modes, or rate limiting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with zero waste. First sentence establishes purpose; second sentence discloses return value structure. Front-loaded and appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description usefully specifies what the tool returns (amounts, price impact, routing). With 100% input schema coverage and clear purpose, it is complete enough for invocation, though it could note error conditions (e.g., insufficient liquidity) or auth requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all four parameters (token_in, token_out, amount, type). The description adds minimal semantic context beyond the schema ('trading between two tokens'), meeting the baseline expectation for well-documented schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'Get' with resource 'swap quote' and clearly indicates this retrieves pricing/routing information for trading. While it implies distinction from execution tools like 'build_swap' through the term 'quote', it does not explicitly name siblings or explicitly state this is a read-only simulation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning 'price impact' and 'routing path', suggesting it should be used to evaluate trade feasibility before execution. However, it lacks explicit guidance such as 'Use before build_swap' or conditions like 'Use when you need to know slippage tolerance'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_swap_historyC

Get swap transaction history

ParametersJSON Schema
NameRequiredDescriptionDefault
public_keyNoFilter by sender public key (hex)
pairNoFilter by pair contract package hash
pageNo
page_sizeNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but fails to specify read-only safety, result ordering (chronological?), supported time ranges, or pagination behavior (cursor vs offset). 'History' implies historical data but lacks specifics on data availability or immutability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The four-word description is extremely brief with no wasted words, achieving high density. However, for a tool with four parameters including pagination controls, this brevity results in underspecification rather than efficient communication of essential operational details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the DeFi context with filtering and pagination complexity, and lacking both annotations and output schema, the description is incomplete. It omits return structure, default pagination limits, time range constraints, and sorting behavior—all critical for a history query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (page and page_size lack descriptions). The description makes no mention of pagination or filtering capabilities, failing to compensate for schema gaps. It adds no context for the 'pair' parameter format or expected public_key behavior beyond the schema's existing 'hex' and 'contract package hash' notes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the basic action (Get) and resource (swap transaction history), but lacks specificity about the domain (DEX/DeFi) and does not differentiate from sibling query tools like get_liquidity_positions or get_pairs. It minimally expands the tool name without detailing scope or data sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this tool versus alternatives (e.g., get_pairs for current state vs historical swaps), nor does it explain the optional filtering pattern (all parameters are optional per schema). The pagination mechanism (page, page_size) is present but entirely undocumented.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tokensB

List all tradable tokens on CSPR.trade with optional fiat pricing

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoFiat currency code (e.g., "USD", "EUR"). Omit for no fiat prices.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. While 'List' implies read-only, description does not explicitly confirm safety, idempotency, or what the return structure contains (pagination, token metadata fields, etc.). Only behavioral hint is the optional pricing functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single 10-word sentence that is front-loaded with action and scope. Zero redundant text; every word serves the definition. Appropriate length for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a single-parameter listing tool with complete schema coverage. However, lacks description of return values (no output schema exists to compensate), rate limits, or pagination behavior that would help the agent handle the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear description of currency parameter. Description mentions 'optional fiat pricing' which aligns with schema but adds minimal semantic value beyond what schema already documents ('Omit for no fiat prices'). Baseline 3 appropriate for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'List' and specific resource 'tradable tokens on CSPR.trade'. Platform-specific naming helps distinguish from get_currencies (likely returns fiat codes), though explicit differentiation between these siblings would strengthen it further.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use versus get_currencies or get_pairs. Mentions 'optional fiat pricing' which implies parameter usage, but lacks explicit when-to-use/when-not-to-use recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_transactionA

Submit a signed transaction to the Casper network via node RPC.

ParametersJSON Schema
NameRequiredDescriptionDefault
signed_deploy_jsonYesThe signed deploy JSON string, or a file path to a signed deploy JSON file

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. While it states submission occurs via RPC to the Casper network, it lacks critical blockchain-specific context: irreversibility, gas fees, confirmation waiting, synchronous vs asynchronous behavior, or error scenarios.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, efficient sentence with zero waste. Front-loaded with the action ('Submit'), followed by object and method. Every phrase earns its place by specifying what, how, and where.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple 1-parameter schema with complete coverage, the description adequately covers the basic invocation contract. However, for a blockchain mutation tool without output schema or annotations, it omits important operational context like return values or confirmation behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing a baseline of 3. The description mentions 'signed transaction' which semantically aligns with the 'signed_deploy_json' parameter, but adds no specific details about JSON format or file path requirements beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific action (Submit), resource (signed transaction), and target (Casper network via node RPC). It clearly distinguishes from sibling 'build_' tools (which construct transactions) and 'get_' tools (which query data) by focusing on the final submission step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The term 'signed transaction' implies prerequisites (you must sign first), suggesting this follows the 'build_' sibling tools. However, there is no explicit guidance on when to use this versus alternatives, or workflow steps mentioned in the text.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv0.1.0
    • First observedbuild_add_liquidity
    • First observedbuild_approve_token
    • First observedbuild_remove_liquidity
    • First observedbuild_swap
    • First observedget_currencies
    • First observedget_impermanent_loss
    • First observedget_liquidity_positions
    • First observedget_pair_details
    • First observedget_pairs
    • First observedget_quote
    • First observedget_swap_history
    • First observedget_tokens
    • First observedsubmit_transaction

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: transaction-building tools (build_*), data retrieval tools (get_*), and a submission tool (submit_transaction). The descriptions clearly differentiate between constructing transactions, fetching information, and submitting signed transactions.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout: all start with either 'build_' or 'get_' except 'submit_transaction', which still follows the same convention. This predictability makes it easy for agents to understand the action each tool performs.

Tool Count5/5

With 13 tools, the count is well-scoped for a DeFi trading platform, covering core operations like swapping, liquidity management, data queries, and transaction submission. Each tool earns its place without redundancy or obvious omissions.

Completeness5/5

The toolset provides complete coverage for the DeFi trading domain: it supports full swap and liquidity workflows (quote, build, submit), comprehensive data access (tokens, pairs, history, positions), and utility functions (impermanent loss, currencies). No significant gaps are apparent for typical agent tasks.

Maintenance

ActivityStale
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides AI agents with real-time access to DEX liquidity pool data, enabling smarter trading, analytics, and automated strategies.
    10
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server that connects AI agents to Freqtrade crypto trading bot via REST API. It provides 15 tools for account stats, trade management, market data, pair lists, and bot lifecycle control.
    19
    22
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for EdgeX perpetual contract trading, providing 16 AI agent tools for market data, account management, and order execution.
    17
    20
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/make-software/cspr-trade-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server