Skip to main content
Glama

KAIA-MCP Server

NPM Version License

AI × DeFi Infrastructure for the Kaia Ecosystem

The KAIA-MCP Server enables AI agents to interact directly with DeFi protocols on the KAIA blockchain.
Built on the Model Context Protocol (MCP), it connects tools like Claude Desktop or Cursor.ai with live blockchain data and transaction execution.


Features

Multi-Protocol Support

  • Lending: KiloLend (Compound v2 fork) for supply, borrow, and repay

  • DEX: DragonSwap V3 for quotes and swaps

  • Price API: Real-time token prices from CoinMarketCap & CoinGecko API

  • AI-Managed Vaults: Automated cross-protocol strategies to boost yield (planned)

  • Market Intelligence: Real-time APYs, utilization, and TVL

  • Smart Wallet: Unified position and balance tracking

Related MCP server: Saros MCP Server

Using with Claude Desktop

  1. Install Claude Desktop if you haven't already

  2. Open Claude Desktop settings

  3. Add the KAIA MCP client to your configuration:

{
  "mcpServers": {
    "kaia-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tamago-labs/kaia-mcp"
      ],
      "env": {
        "KAIA_RPC_URL": "https://public-en.node.kaia.io",
        "KAIA_AGENT_MODE": "transaction",
        "KAIA_PRIVATE_KEY": "YOUR_PRIVATE_KEY"
      },
      "disabled": false
    }
  }
}

Agent Modes

Read-Only Mode (Default)

  • Purpose: Safe exploration and data analysis without transaction capabilities

  • Use Case: Perfect for research, market analysis, and monitoring positions

  • Capabilities: Query market data, check wallet balances, monitor positions, get swap quotes

  • Security: No private key required - completely safe for data access

  • Configuration: Set KAIA_AGENT_MODE to "readonly" or omit the private key

Transaction Mode

  • Purpose: Full DeFi operations with the ability to execute transactions

  • Use Case: Active trading, lending, borrowing, and portfolio management

  • Capabilities: All read-only features plus execute transactions, supply/borrow assets, transfer tokens, execute DEX swaps

  • Security: Requires KAIA_PRIVATE_KEY - ensure secure key management

  • Configuration: Set KAIA_AGENT_MODE to "transaction" and provide a valid private key

Architecture

This MCP server follows a clean, modular architecture designed for multi-protocol support:

src/
├── agent/
│   └── wallet.ts            # Unified WalletAgent for all operations
├── mcp/                     # MCP tool definitions and implementations
│   ├── index.ts             # Main MCP server entry point and tool registry
│   ├── kilolend/           # KiloLend protocol tools
│   ├── dragonswap/          # DragonSwap V3 protocol tools
│   ├── price-api/          # Price API tools for token prices
│   └── wallet/              # General wallet operations
├── tools/                  # Core utility functions
│   └── price-api/          # Price API core functions
├── contracts/               # Smart contract interfaces and ABIs
│   ├── comptroller.ts       # KiloLend Comptroller contract
│   ├── ctoken.ts           # KiloLend cToken contracts
│   ├── erc20.ts            # Standard ERC-20 interface
│   ├── wkaia.ts            # WKAIA contract interface
│   └── dragonswap/         # DragonSwap contract ABIs
├── utils/                  # Utility functions and helpers
│   ├── errors.ts           # Error handling classes
│   ├── formatting.ts       # Token amount formatting utilities
│   └── validation.ts       # Input validation functions
├── config.ts               # Configuration management and environment setup
├── types.ts                # TypeScript type definitions
└── index.ts                # Main server entry point

Installation

npm install
npm run build

Configuration

Environment Variables

Create a .env file based on .env.example:

# Required
KAIA_RPC_URL="https://public-en.node.kaia.io"         # KAIA Mainnet RPC URL

# Optional
KAIA_PRIVATE_KEY="your_private_key_here"             # Wallet private key (for transaction mode)
KAIA_AGENT_MODE="readonly"                           # "readonly" or "transaction" (defaults to readonly)
KAIA_NETWORK="kaia"                                  # Network (only kaia supported currently)

Available Tools

Wallet Tools

Read-Only Tools

Tool

Description

get_wallet_info

Get wallet information and token balances

Transaction Tools

Tool

Description

send_native_token

Send native KAIA tokens

send_erc20_token

Send ERC-20 tokens

wrap_kaia

Wrap KAIA to WKAIA

unwrap_kaia

Unwrap WKAIA to KAIA

check_allowance

Check token allowance for operations

approve_token

Approve tokens for operations

KiloLend Tools

Read-Only Tools

Tool

Description

get_account_liquidity

Check account liquidity and health factor

get_markets

Get all lending markets with rates

get_protocol_stats

Get protocol statistics and TVL

Transaction Tools

Tool

Description

enter_market

Enter markets to enable collateral usage

supply_to_market

Supply assets to lending market

borrow_from_market

Borrow from lending market

repay_borrow

Repay borrowed positions

redeem_tokens

Redeem cTokens (withdraw by cToken amount)

redeem_underlying

Redeem underlying tokens (withdraw by underlying amount)

Price API Tools

Read-Only Tools

Tool

Description

get_all_prices

Get all available prices from KiloLend price API

get_token_prices

Get prices for specific tokens (e.g., ['KAIA', 'BTC', 'ETH'])

get_kaia_ecosystem_prices

Get KAIA ecosystem token prices only (KAIA, BORA, MBX, SIX, SOMNIA, stKAIA)

get_major_crypto_prices

Get major cryptocurrency prices (BTC, ETH)

get_quick_prices

Quick price overview of KAIA, BTC, and ETH

DragonSwap Tools

Read-Only Tools

Tool

Description

dragonswap_get_pool_info

Get DragonSwap pool information

dragonswap_get_swap_quote

Get swap quotes without executing

dragonswap_get_route

Get best routing path for swaps (supports multi-hop)

Transaction Tools

Tool

Description

dragonswap_execute_swap

Execute token swaps on DragonSwap

Supported Tokens

KiloLend Supported Tokens

  • KAIA: Native KAIA token

  • USDT: Tether USD (0xd077a400968890eacc75cdc901f0356c943e4fdb)

  • SIX: SIX token (0xEf82b1C6A550e730D8283E1eDD4977cd01FAF435)

  • BORA: BORA token (0x02cBE46fB8A1F579254a9B485788f2D86cAD51aa)

  • MBX: MARBLEX token (0xD068c52d81f4409B9502dA926aCE3301cc41f623)

  • stKAIA: Lair Staked KAIA (0x42952B873ed6f7f0A7E4992E2a9818E3A9001995)

DragonSwap Supported Tokens

  • KAIA: Native token

  • WKAIA: Wrapped KAIA (0x19aac5f612f524b754ca7e7c41cbfa2e981a4432)

  • USDT: Official USDT(0xd077a400968890eacc75cdc901f0356c943e4fdb)

  • USDT: Wormhole USDT(0x5c13e303a62fc5dedf5b52d66873f2e59fedadc2)

  • BORA: BORA Token (0x02cBE46fB8A1F579254a9B485788f2D86cAD51aa)

  • MBX: MARBLEX Token (0xD068c52d81f4409B9502dA926aCE3301cc41f623)

  • stKAIA: Lair Staked KAIA (0x42952B873ed6f7f0A7E4992E2a9818E3A9001995)

Future Protocol Support

We're actively working on adding support for:

  • Additional Lending Protocols: More lending platforms

  • Staking Protocols: Liquid staking and Lair Finance integration

  • Cross-Chain Messaging: Chainlink CCIP for cross-chain operations

  • Yield Farming: Cross-protocol yield optimization

Contract Addresses

Kaia Mainnet

KiloLend (Compound v2)

  • Comptroller: 0x0B5f0Ba5F13eA4Cb9C8Ee48FB75aa22B451470C2

  • Markets:

    • cUSDT: 0x498823F094f6F2121CcB4e09371a57A96d619695

    • cSIX: 0xC468dFD0C96691035B3b1A4CA152Cb64F0dbF64c

    • cBORA: 0x7a937C07d49595282c711FBC613c881a83B9fDFD

    • cMBX: 0xE321e20F0244500A194543B1EBD8604c02b8fA85

    • cKAIA: 0x98Ab86C97Ebf33D28fc43464353014e8c9927aB3

    • cStKAIA: 0x0BC926EF3856542134B06DCf53c86005b08B9625

DragonSwap V3

  • Router: 0xA324880f884036E3d21a09B90269E1aC57c7EC8a

  • Quoter V2: 0x673d88960D320909af24db6eE7665aF223fec060

  • Factory: 0x7431A23897ecA6913D5c81666345D39F27d946A4

Troubleshooting

If you're using Ubuntu or another Linux environment with NVM, you'll need to manually configure the path. Follow these steps:

  1. Install the KAIA MCP under your current NVM-managed Node.js version.

npm install -g @tamago-labs/kaia-mcp
  1. Due to how NVM installs libraries, you may need to use absolute paths in your config. Replace the example values below with your actual username and Node version:

{
  "mcpServers": {
    "kaia-mcp": {
      "command": "/home/YOUR_NAME/.nvm/versions/node/YOUR_NODE_VERSION/bin/node",
      "args": [
        "/home/YOUR_NAME/.nvm/versions/node/YOUR_NODE_VERSION/bin/@tamago-labs/kaia-mcp"
      ],
      "env": {
        "KAIA_RPC_URL": "https://public-en.node.kaia.io",
        "KAIA_AGENT_MODE": "transaction",
        "KAIA_PRIVATE_KEY": "YOUR_PRIVATE_KEY"
      }
    }
  }
}
  1. Restart Claude Desktop and it should work now.

Environment Variable Issues

If you encounter issues with environment variables not being recognized:

  1. Check required variables: Make sure KAIA_RPC_URL is always set

  2. Verify mode settings: KAIA_AGENT_MODE should be either "readonly" or "transaction"

  3. Private key format: KAIA_PRIVATE_KEY must be 64 hex characters (with or without 0x prefix)

  4. Debug logging: The server will log all configuration on startup to stderr

Work with Local Files

When working with local files especially when using KAIA CLI tools for smart contract development to create, build, and test a Move package on your machine—you'll need to import an additional MCP server library of filesystem made by Claude team. Use with:

"filesystem": {
  "command": "npx",
  "args": [
    "-y",
    "@modelcontextprotocol/server-filesystem",
    "${workspaceFolder}"
  ],
  "env":{
        
  },
  "disabled": false
}

workspaceFolder refers to your working directory. You can provide more than one argument. Subfolders or specific files can then be referenced in your AI prompt.

If you're using Linux and encounter issues during setup, please refer to the troubleshooting section.

License

MIT License - see LICENSE file for details.

Available Tools

13 tools
dragonswap_get_pool_infoB

Get detailed information about a DragonSwap V3 pool

ParametersJSON Schema
NameRequiredDescriptionDefault
token0YesFirst token address or symbol (e.g., 'KAIA', 'USDT', '0x1234...')
token1YesSecond token address or symbol (e.g., 'KAIA', 'USDT', '0x1234...')
feeNoFee tier in basis points (100=0.01%, 500=0.05%, 1000=0.1%, 3000=0.3%, 10000=1%)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must cover behavioral traits. It fails to indicate that the tool is read-only, does not describe authentication needs, rate limits, or any side effects, and does not specify what 'detailed information' entails.

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 description is one sentence of 9 words, extremely concise and front-loaded with the purpose. However, its brevity sacrifices necessary behavioral and contextual detail.

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 no annotations, no output schema, and a parameter count of 3, the description is too sparse. It does not explain return values, data structure, or any constraints, leaving the agent with insufficient context for correct invocation.

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?

The input schema already provides complete descriptions for all three parameters (100% coverage), including examples for token addresses and fee basis points. The description adds no additional meaning beyond what the schema 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 clearly states the verb 'Get' and the resource 'detailed information about a DragonSwap V3 pool', distinguishing it from sibling tools like dragonswap_get_quote and dragonswap_get_route which handle trading operations.

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 is provided on when to use this tool versus alternatives (e.g., when you need pool liquidity information vs. a swap quote). The description is purely declarative with no usage context.

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

dragonswap_get_quoteA

Get a quote for swapping tokens on DragonSwap V3 DEX. Note: USDT uses 6 decimals, most other tokens use 18 decimals. For stKAIA, you can use either 'stKAIA' or 'STAKED_KAIA'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenInYesInput token address or symbol (e.g., 'KAIA', 'USDT', 'stKAIA', '0x1234...')
tokenOutYesOutput token address or symbol (e.g., 'KAIA', 'USDT', 'stKAIA', '0x1234...')
amountInYesAmount of input tokens to swap (in human-readable format, e.g., '1.5')
amountInDecimalsNoNumber of decimals for the input token (auto-detected if not provided, USDT=6, most tokens=18)
slippageNoSlippage tolerance in basis points (e.g., 50 = 0.5%)

TDQS

A3.9/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. It discloses token decimal behavior and naming flexibility, which is helpful. However, it does not reveal if the tool is read-only, error handling, rate limits, or other behavioral aspects beyond the noted token nuances.

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: first clearly states purpose, second adds crucial token-specific exceptions. No redundant information. Efficient and well-front-loaded.

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?

No output schema, yet description does not mention what the quote returns (e.g., estimated output price, execution details). Parameter documentation is mostly in schema, but the tool's output and life cycle context (e.g., use before swap) are missing. Adequate but not comprehensive.

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 coverage is 100%, so baseline is 3. The description adds value by clarifying USDT uses 6 decimals (which may override auto-detect) and that stKAIA has alternative symbols. This aids parameter interpretation beyond the schema's descriptions.

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 clearly states the action ('Get a quote'), the resource ('for swapping tokens'), and the specific DEX ('DragonSwap V3 DEX'). This distinguishes it from siblings like dragonswap_get_pool_info and dragonswap_get_route.

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 provides token-specific notes (USDT decimals, stKAIA naming) but does not explicitly state when to use this tool versus alternatives like dragonswap_get_route or when to use this as a prerequisite for a swap. Usage is implied.

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

dragonswap_get_routeA

Get the best routing path for swapping tokens (supports multi-hop for better prices) on DragonSwap V3 DEX

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenInYesInput token address or symbol (e.g., 'KAIA', 'USDT', '0x1234...')
tokenOutYesOutput token address or symbol (e.g., 'KAIA', 'USDT', '0x1234...')
amountInYesAmount of input tokens to swap (in human-readable format, e.g., '1.5')
amountInDecimalsNoNumber of decimals for the input token (default: 18)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must carry behavioral transparency. It indicates a read-like operation (getting a route) and mentions multi-hop, but does not disclose if it modifies state, requires authentication, or has rate limits. The description is vague about potential side effects or requirements.

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 description is a single sentence that is clear and direct. It could be slightly improved by structuring with a bullet or separating the multi-hop note, but it is concise and front-loads the key purpose.

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 4 parameters and no output schema, the description could be more complete. It explains the tool's main function but omits output details, error cases, and performance characteristics. While adequate, it leaves room for improvement.

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% coverage with detailed descriptions for all parameters. The description adds the context of multi-hop but does not elaborate on parameter usage beyond what schema provides. Baseline score of 3 is appropriate as schema already handles semantics.

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 clearly states the action 'Get the best routing path' and specifies the resource 'swapping tokens' on 'DragonSwap V3 DEX'. It distinguishes from siblings like dragonswap_get_pool_info and dragonswap_get_quote by focusing on routing path rather than pool details or a simple quote.

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 mentions 'supports multi-hop for better prices', implying use when a multi-hop path might yield better rates, but does not explicitly state when to use this tool versus alternatives like dragonswap_get_quote. No exclusion criteria or when-not-to-use guidance is provided.

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

get_all_pricesA

Get comprehensive market data including prices, market capitalization, 24h trading volume, and 24h price changes for all available tokens from the KiloLend price API (KAIA ecosystem tokens and major cryptocurrencies)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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. It lists returned data fields but lacks behavioral context such as response format, pagination, rate limits, or error conditions. For a read-only tool, minimal yet insufficient.

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 effectively communicates purpose and scope. Front-loaded with action verb and specific resource. No redundant information.

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?

For a zero-parameter list tool with no output schema, description lists all relevant data fields. Could be improved by mentioning response structure or potential limits, but adequately complete.

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?

Input schema has zero parameters. With 0 params, baseline is 4. Description adds no parameter info, but none needed.

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?

Description clearly states 'Get comprehensive market data' with specific data types (prices, market cap, volume, changes) for 'all available tokens' from KiloLend price API. Distinguishes from sibling tools like get_kaia_ecosystem_prices and get_major_crypto_prices which are subsets.

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

Usage Guidelines4/5

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

Implies usage for retrieving all tokens vs sibling tools for specific subsets. No explicit when-to-use or when-not-to-use, but the context is clear enough for an agent to decide.

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

get_kaia_ecosystem_pricesA

Get comprehensive market data including prices, market capitalization, 24h trading volume, and 24h price changes for KAIA ecosystem tokens only (KAIA, BORA, MBX, SIX, stKAIA)

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; description only states it retrieves market data which implies a read operation. No behavioral details like caching, data freshness, or availability guarantees are disclosed. Adequate for a simple query tool.

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 that is clear, front-loaded with the purpose, and contains no extraneous information.

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?

Lacks output schema, but description explains what data is returned (prices, market cap, volume, 24h change). Could mention the return format (e.g., object or list) but overall covers the key aspects.

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?

No parameters to describe, but the description enriches understanding by listing the specific tokens and data fields returned. Baseline for 0 params is 4.

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?

Clearly states it gets comprehensive market data specifically for KAIA ecosystem tokens, listing the tokens and data fields. Distinguishes from siblings like get_all_prices by specifying the ecosystem scope.

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?

Implicitly defines its use for KAIA ecosystem tokens, but no explicit when-to-use or alternatives guidance. Could mention that for broader market data, use get_all_prices.

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

get_major_crypto_pricesB

Get comprehensive market data including prices, market capitalization, 24h trading volume, and 24h price changes for major cryptocurrencies (BTC, ETH)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. The description only lists data returned, but omits behavioral traits such as data freshness, rate limits, or whether it is read-only. The agent lacks important context.

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 with front-loaded action verb 'Get' and clear list of data fields. No extraneous information.

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?

For a no-parameter tool, the description adequately covers what data is returned and for which assets. However, it does not mention the return format or structure, which would be helpful given no output schema.

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?

Input schema has no parameters, so schema coverage is 100%. Baseline is 4. The description explains the tool's output, adding value beyond the schema.

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 clearly states it provides market data for major cryptocurrencies (BTC, ETH) including prices, market cap, volume, and price changes. It distinguishes from siblings like get_all_prices by specifying 'major', but could more explicitly differentiate from similar 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?

No guidance on when to use this tool versus alternatives like get_all_prices or get_token_prices. The description does not mention any context for selection.

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

get_quick_pricesA

Get quick comprehensive market overview including prices, market capitalization, 24h trading volume, and 24h price changes for KAIA, BTC, and ETH

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

Without annotations, the description does not disclose behavioral traits such as response format, rate limits, or authentication requirements. It only describes the data content, which is minimal for a tool with no structured metadata.

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?

The description is a single sentence that fully conveys the tool's purpose and scope without any redundant or unnecessary information. It is front-loaded with the action and key details.

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 lack of parameters and output schema, the description is adequate. It specifies the tokens and data fields included, though it does not describe the response structure. It is sufficient for an agent to understand what the tool returns.

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?

No parameters exist, so the description cannot add meaning beyond the schema. The baseline of 4 applies because the schema coverage is 100% and the description does not need to compensate for missing parameter details.

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 clearly states the tool retrieves a market overview (prices, market cap, volume, price changes) specifically for KAIA, BTC, and ETH. This specific scope distinguishes it from sibling tools like get_all_prices or get_major_crypto_prices, which cover broader sets of tokens.

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 is provided on when to use this tool versus alternatives. There is no mention of scenarios where this tool is preferred, nor are sibling tools referenced for comparison.

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

get_token_pricesB

Get comprehensive market data including prices, market capitalization, 24h trading volume, and 24h price changes for specific token symbols (e.g., 'KAIA', 'BTC', 'ETH', 'BORA')

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYesArray of token symbols to get comprehensive market data for (e.g., ['KAIA', 'BTC', 'ETH'])

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. Only describes data fields returned, not behavioral traits like read-only, authentication requirements, rate limits, or error handling.

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 coherent sentence, front-loaded with action and scope. No unnecessary words.

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?

Lists key return fields (prices, market cap, volume, price changes) but lacks details on response format, error cases, or how data is structured. No output schema to compensate.

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%, baseline is 3. Description adds context by listing return fields and more examples, but does not significantly deepen understanding beyond the schema.

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?

Starts with 'Get comprehensive market data' and lists specific data fields (prices, market cap, volume, price changes). Provides examples of token symbols. Name and input schema imply it's for arbitrary user-specified tokens, but does not explicitly differentiate from sibling tools like get_all_prices or get_quick_prices.

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 when-not to use or provide any selection criteria relative to sibling tools.

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

kaia_get_wallet_infoC

Get comprehensive wallet information including all token balances

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose behavioral traits such as whether it requires authentication, rate limits, or what 'comprehensive' entails (e.g., includes native token, all ERC20s, NFTs). The description is too minimal for transparency.

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?

The description is a single sentence, concise and front-loaded. Every word is purposeful with no redundancy.

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 no output schema and no annotations, the description should explain return values and scope. 'Comprehensive' is vague, and the agent does not know what information will be retrieved (e.g., native KAIA only, all tokens, NFTs?). The description is incomplete for safe tool selection.

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?

There are no parameters (0 params), so baseline is 4. The description adds no parameter information beyond the schema, but the schema is already empty, so no additional value is needed.

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 clearly states it gets wallet information including token balances. It is specific but does not explicitly distinguish from sibling tools, though siblings are different types (pools, quotes, prices, lending), so context makes the purpose clear.

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 vs alternatives. No exclusions or conditions are mentioned. The agent is left to infer usage from context.

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

kilolend_get_account_liquidityB

Check account liquidity, health factor, and borrowing capacity on KiloLend

ParametersJSON Schema
NameRequiredDescriptionDefault
account_addressNoAccount address to check (optional, defaults to current wallet)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must bear the burden. It says 'Check' implying a read operation but doesn't confirm side effects, permissions, or data sensitivity. Minimal behavioral disclosure.

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, no filler, front-loaded with the core action. Every word earns its place.

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?

With no output schema, the description should explain return values. It mentions checking liquidity, health factor, and borrowing capacity but doesn't specify format or structure, leaving agents underinformed.

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% for the single optional parameter, and the description adds no extra meaning beyond the schema's own description. Baseline score of 3 applies.

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 uses a specific verb 'Check' and names three resources (account liquidity, health factor, borrowing capacity) on KiloLend, clearly distinguishing it from sibling tools like dragonswap_get_pool_info or kaia_get_wallet_info.

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 use for checking account state but provides no explicit when-to-use or when-not-to-use guidance. Alternatives like kilolend_get_lending_stats exist but are not mentioned.

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

kilolend_get_kilo_pointsB

Get user KILO points balance

ParametersJSON Schema
NameRequiredDescriptionDefault
account_addressNoAccount address to check (optional, defaults to current wallet)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only says 'Get', implying a read operation, but does not explicitly state it is read-only, nor does it mention any side effects, auth requirements, or rate limits. Minimal behavioral disclosure.

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?

The description is a single concise sentence with no wasted words, efficiently communicating the core function.

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 lack of output schema and annotations, the description does not sufficiently explain return format, units, or other behavioral details. For a simple balance check, more context (e.g., 'returns an integer representing points') would improve completeness.

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 the parameter description already explaining 'Account address to check (optional, defaults to current wallet)'. The tool description adds no further meaning, so baseline score of 3 is appropriate.

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 'Get user KILO points balance' clearly specifies the action (get) and the resource (KILO points balance), distinguishing it from sibling tools like kilolend_get_account_liquidity or kilolend_get_lending_markets.

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 is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description simply states the function without context for selection.

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

kilolend_get_lending_marketsB

Get all lending markets KiloLend with their current rates and statistics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It implies a read operation but does not explicitly state safety, auth needs, or side effects. Lacks detail beyond the obvious.

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?

The description is a single, front-loaded sentence of 12 words with no excess. Every word is necessary and clear.

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 no output schema, the description hints at output content ('rates and statistics') but does not specify structure (list vs. object) or pagination. Acceptable for a simple list tool but not fully complete.

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?

The input schema has zero parameters, so schema coverage is trivially 100%. The description does not need to explain parameters, and adds no redundant information.

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 clearly states the action ('Get'), the resource ('all lending markets'), and the returned data ('current rates and statistics'). It distinguishes from sibling tools like 'kilolend_get_account_liquidity' which is account-specific, but could be more specific about what 'statistics' includes.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention context, prerequisites, or exclusions.

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

kilolend_get_lending_statsA

Get overall KiloLend protocol statistics and TVL information

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic purpose. For a read-only tool with no parameters, the description lacks details on response format, 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.

Conciseness5/5

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

The description is a single concise sentence that front-loads the purpose. Every word is necessary, with no fluff or repetition.

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 that there are no parameters and no output schema, the description provides a minimum viable explanation. However, it could be more specific about which statistics are included (e.g., total value locked, total borrows, etc.) to fully inform the agent.

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?

The tool has no parameters, so the description does not need to explain them. The baseline score of 4 is appropriate as the schema covers 100% of parameters (none).

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 clearly states the verb 'Get' and the resource 'overall KiloLend protocol statistics and TVL information', which is distinct from sibling tools like kilolend_get_account_liquidity that focus on individual accounts.

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?

No explicit when-to-use or when-not-to-use guidance is provided. The usage is implied as a general query for protocol-level stats, but alternatives are not discussed.

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.

  1. 13 tool updatesv0.5.3
    • First observeddragonswap_get_pool_info
    • First observeddragonswap_get_quote
    • First observeddragonswap_get_route
    • First observedget_all_prices
    • First observedget_kaia_ecosystem_prices
    • First observedget_major_crypto_prices
    • First observedget_quick_prices
    • First observedget_token_prices
    • First observedkaia_get_wallet_info
    • First observedkilolend_get_account_liquidity
    • First observedkilolend_get_kilo_points
    • First observedkilolend_get_lending_markets
    • First observedkilolend_get_lending_stats

TDQS

B3.1/5.0

Scored across 13 tools

Disambiguation2/5

The price tools (get_all_prices, get_kaia_ecosystem_prices, get_major_crypto_prices, get_quick_prices, get_token_prices) heavily overlap, making it unclear which one to use. The other groups are distinct, but the redundancy in the price category hurts disambiguation.

Naming Consistency3/5

Naming uses snake_case with prefixes (dragonswap_, kilolend_, kaia_) and a generic 'get_' for price tools. The pattern is mostly consistent but the price tools lack a domain prefix and vary in specificity, creating some inconsistency.

Tool Count4/5

13 tools is a reasonable number for a server covering three domains. However, the redundant price tools could be consolidated, slightly reducing the count to improve focus.

Completeness2/5

The server is read-only: DragonSwap lacks swap execution, KiloLend lacks deposit/borrow/repay actions, and wallet info has no transaction capabilities. The price coverage is thorough but operational gaps are significant.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to interact with Saros DeFi through natural language, providing tools for liquidity pool management, portfolio analytics, farming positions, and swap quotes on Solana.
    5
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI agents to interact with any EVM-compatible blockchain through natural language, supporting token swaps, cross-chain bridges, staking, lending, governance, gas optimization, and portfolio tracking across networks like Ethereum, BSC, Polygon, Arbitrum, and more.
    100
    17 npm
    40
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to interact with HyperLend protocol and Kittenswap DEX on Hyperliquid EVM network. Supports DeFi operations including lending, borrowing, withdrawing assets, and token swapping with comprehensive portfolio management.
    8
    5 npm
    MIT