Kxcoscan AI Tools

Kxcoscan AI Tools

A production-ready MCP server that wraps the Kxcoscan blockchain explorer API into structured endpoints for AI agents. It enables users to query wallet balances, transaction histories, token transfers, and contract details via natural language.

Category
Visit Server

README

Kxcoscan AI Tools

A production-ready AI tool server that wraps the Kxcoscan blockchain explorer API into clean, structured endpoints that any AI agent (Claude, GPT-4, etc.) can call directly.

Built with Next.js 14, deployed on Vercel, and includes an MCP (Model Context Protocol) server.


Architecture

kxcoscan-ai-tools/
├── app/
│   ├── api/
│   │   ├── balance/          GET  /api/balance
│   │   ├── transactions/     GET  /api/transactions
│   │   ├── token-transfers/  GET  /api/token-transfers
│   │   ├── tx/               GET  /api/tx
│   │   ├── contract/         GET  /api/contract
│   │   ├── logs/             GET  /api/logs
│   │   ├── token-info/       GET  /api/token-info
│   │   ├── wallet-summary/   GET  /api/wallet-summary
│   │   └── mcp/              POST /api/mcp  (MCP JSON-RPC)
│   ├── page.tsx              Interactive frontend dashboard
│   └── layout.tsx
├── components/
│   ├── ApiTester.tsx         Interactive tool tester (client)
│   └── JsonDisplay.tsx       Syntax-highlighted JSON viewer
├── lib/
│   ├── kxcoscan.ts           Core API wrapper + utilities
│   └── cache.ts              Edge cache response helpers
├── mcp/
│   └── server.ts             MCP tool definitions
├── config/
│   └── modules.json          Supported modules & AI tool manifest
├── types/
│   └── explorer.ts           Full TypeScript types
└── vercel.json

Key design decisions

Concern Solution
No API key needed Open requests with a descriptive User-Agent
Parallel fetches Promise.allSettled — one failed upstream call won't break the response
AI-friendly output Wei → KXCO conversion, ISO timestamps, human-readable status strings
Caching Vercel edge Cache-Control: s-maxage headers (10s–1hr by tier)
MCP Stateless JSON-RPC 2.0 handler — no persistent process needed on Vercel
CORS * on all /api/* routes so any AI agent can call from any origin

API Reference

All endpoints return JSON. All require a GET request with query parameters.

GET /api/balance

Param Required Description
address Wallet address 0x...
{
  "wallet": "0xABC...",
  "balance": "102.345678",
  "symbol": "KXCO",
  "balanceRaw": "102345678000000000000"
}

GET /api/transactions

Param Required Default Description
address Wallet address
page 1 Page number
offset 10 Results per page (max 100)
sort desc asc or desc
startblock Filter from block
endblock Filter to block

GET /api/token-transfers

Param Required Description
address Wallet address
contractaddress Filter to a specific token
page Page number
offset Results per page

GET /api/tx

Param Required Description
txhash Transaction hash 0x... (64 hex chars)

Returns status: "success" | "failed" | "pending".


GET /api/contract

Param Required Description
address Contract address

Returns abi, sourceCode, contractName, isVerified.


GET /api/logs

Param Required Description
address Contract address
fromBlock Start block (default: 0)
toBlock End block (default: latest)
topic0 Event signature hash filter

GET /api/token-info

Param Required Description
contractaddress Token contract address

Returns name, symbol, decimals, totalSupply, totalSupplyFormatted.


GET /api/wallet-summary ⭐ AI-optimised

Param Required Description
address Wallet address

Returns balance + last 5 transactions + last 5 token transfers + a natural-language summary string.


MCP Server

The /api/mcp endpoint implements Model Context Protocol over stateless HTTP.

Available tools

Tool Description
wallet_balance Get native KXCO balance
wallet_transactions List transactions
token_transfers List token transfers
wallet_summary Full wallet overview
transaction_info Tx status by hash
contract_abi Contract ABI + source
token_info Token metadata
event_logs Contract event logs

Claude Desktop configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "kxcoscan": {
      "url": "https://your-app.vercel.app/api/mcp",
      "transport": "http"
    }
  }
}

Manual JSON-RPC call

# List tools
curl -X POST https://your-app.vercel.app/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

# Call a tool
curl -X POST https://your-app.vercel.app/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "id": 1,
    "params": {
      "name": "wallet_summary",
      "arguments": { "address": "0xYOUR_ADDRESS" }
    }
  }'

Deployment

Deploy to Vercel (recommended)

# 1. Install Vercel CLI
npm i -g vercel

# 2. Clone and install
git clone <this-repo>
cd kxcoscan-ai-tools
npm install

# 3. Deploy
vercel

# Follow prompts — no environment variables required.
# The API is open (no key needed).

Local development

npm install
npm run dev
# → http://localhost:3000

Build check

npm run build
npm run type-check

How AI agents call these tools

Option 1 — Direct HTTP (any agent framework)

import httpx

BASE = "https://your-app.vercel.app"

# Get wallet summary
r = httpx.get(f"{BASE}/api/wallet-summary", params={"address": "0xABC..."})
data = r.json()
print(data["summary"])  # Natural language overview

Option 2 — Claude tool use (Anthropic SDK)

import anthropic, httpx

client = anthropic.Anthropic()

def wallet_summary(address: str) -> dict:
    return httpx.get(
        "https://your-app.vercel.app/api/wallet-summary",
        params={"address": address}
    ).json()

tools = [{
    "name": "wallet_summary",
    "description": "Get a comprehensive overview of a KXCO wallet",
    "input_schema": {
        "type": "object",
        "properties": {
            "address": {"type": "string", "description": "Wallet address 0x..."}
        },
        "required": ["address"]
    }
}]

response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    tools=tools,
    messages=[{
        "role": "user",
        "content": "Analyse wallet 0xABC..."
    }]
)

# Handle tool_use blocks
for block in response.content:
    if block.type == "tool_use" and block.name == "wallet_summary":
        result = wallet_summary(block.input["address"])
        # Continue conversation with result...

Option 3 — MCP (Claude Desktop / Claude Code)

See MCP Server section above.


Adding new tools

  1. Add the new module/action to config/modules.json
  2. Create app/api/<tool-name>/route.ts following the existing pattern
  3. Add the tool definition to mcp/server.ts
  4. Add the tool card to components/ApiTester.tsx

The config/modules.json file serves as the canonical manifest — you can also parse it programmatically to auto-discover available tools.


Caching tiers

Tier s-maxage stale-while-revalidate Used for
realtime 10s 30s Live data
short 60s 120s Balances, transactions
medium 5min 10min Token metadata
long 1hr 2hr Contract ABIs (immutable)

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured