Skip to main content

An MCP server giving AI agents access to DeFi data on EVM chains.

Project description

defi-mcp

An MCP (Model Context Protocol) server that gives AI agents direct, on-chain access to DeFi data on EVM chains — wallet balances, Aave v3 lending positions, and live token prices, with no centralized API in the middle.

Status: Live and functional. 4 tools available today, more on the roadmap.

Why

Most "DeFi + AI" integrations route through a centralized API that can rate-limit, paywall, or simply disappear. defi-mcp talks directly to the chain (via your own RPC provider) and to first-party oracles (Chainlink), so the data your AI agent gets is exactly what's on-chain — verifiable, and not dependent on a third-party API staying online.

Tools

get_token_balance

Reads the ERC-20 balance of any wallet address for a supported token.

Supported tokens on Polygon: USDC, USDC.e, USDT, WETH, WMATIC, WBTC, DAI, AAVE.

// get_token_balance(address="0x...", token_symbol="USDC", chain="polygon")
{
  "address": "0x...",
  "token": "USDC",
  "chain": "polygon",
  "balance": 268.21,
  "raw_balance": "268210000",
  "decimals": 6
}

get_aave_position

Reads a user's full Aave v3 lending/borrowing position: collateral, debt, available borrowing power, and health factor — straight from the Aave v3 Pool contract.

// get_aave_position(address="0x...", chain="polygon")
{
  "address": "0x...",
  "chain": "polygon",
  "total_collateral_usd": 969.78,
  "total_debt_usd": 288.16,
  "available_borrows_usd": 484.86,
  "liquidation_threshold_pct": 82.79,
  "ltv_pct": 79.71,
  "health_factor": 2.79,
  "has_active_position": true
}

A health_factor below 1.0 means the position is at risk of liquidation. A null health factor means the user has no outstanding debt.

get_token_price

Reads the current USD price of a token directly from a Chainlink price feed — the same oracle DeFi protocols use internally, so the price is consistent with what get_aave_position reports.

Supported on Polygon: ETH/WETH, MATIC/WMATIC, WBTC, USDC, USDT.

// get_token_price(token_symbol="WBTC", chain="polygon")
{
  "token": "WBTC",
  "chain": "polygon",
  "price_usd": 63835.77,
  "decimals": 8,
  "updated_at": 1782032816
}

hello

Simple connectivity check — confirms the MCP server is reachable and responding.

Supported chains

  • Polygon

More EVM chains are on the roadmap (see below).

Installation

Requires Python 3.10+ and an RPC provider API key (e.g. Alchemy, free tier works).

pip install defi-mcp

Create a .env file in your working directory:

POLYGON_RPC_URL=https://polygon-mainnet.g.alchemy.com/v2/YOUR_API_KEY

Usage with Claude Desktop

Add this to your Claude Desktop MCP config (claude_desktop_config.json):

{
  "mcpServers": {
    "defi-mcp": {
      "command": "uvx",
      "args": ["defi-mcp"],
      "env": {
        "POLYGON_RPC_URL": "https://polygon-mainnet.g.alchemy.com/v2/YOUR_API_KEY"
      }
    }
  }
}

Restart Claude Desktop, and the tools above will be available to the model.

Testing locally

You can test the server directly with the official MCP Inspector:

npx @modelcontextprotocol/inspector uvx defi-mcp

Roadmap

  • Track Uniswap v3 LP positions and impermanent loss
  • Simulate swaps with realistic slippage estimates
  • Monitor protocol TVLs
  • Additional chains (Ethereum, Arbitrum, Base)
  • defi-mcp-cloud — hosted tier with MEV-specific tools, caching, and higher rate limits

Architecture

Open-core model: this repository (MIT licensed) covers standard on-chain read tools. A separate defi-mcp-cloud will offer a hosted version with MEV-related tools, request caching, and managed RPC access for users who don't want to run their own infrastructure.

Contributing

Issues and PRs welcome. This is an early-stage project — feedback on what tools would actually be useful to you is especially valuable.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

defi_mcp-0.1.3.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

defi_mcp-0.1.3-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file defi_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: defi_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for defi_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 873348cf9b8c35b4463bcf6a2f13ca01728d841b6fede82802f641351c804ef8
MD5 039383a27b1bbe30b10a463f41913106
BLAKE2b-256 a18903af95b5aeba111ffa2a5622c07ca3a4f362e7f31ffc2fa8a483eb8e0c66

See more details on using hashes here.

File details

Details for the file defi_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: defi_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for defi_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6e64735756b1f633c2c2ec53d35905495fae86bdb053195ecb39f2f1e82f184c
MD5 be792cc1609f0a880e07b892c31cdeed
BLAKE2b-256 d3ac18de2cc71b2c8135ee37cbce1a044cddd52577c57bd0f30488624be63fdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page