seitrace-mcp

Seitrace/seitrace-mcp

3.4

If you are the rightful owner of seitrace-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Seitrace Insights MCP Server provides a model-friendly interface to access Seitrace Insights API, enabling natural-language interactions and efficient tool discovery.

Tools
9
Resources
0
Prompts
0

Seitrace MCP

The essential MCP (Model Context Protocol) server for the Sei blockchain.

Available tools 🧰

Five tools that form the resource-based interface (use in order 1→2→3→4):

  • list_resources — list available resources (start here)
  • list_resource_actions — list actions for a resource
  • get_resource_action_schemaREQUIRED get the JSON Schema for an action before invoking
  • invoke_resource_action — invoke an action with payload matching the schema
  • get_resource_action_snippet — (optional) generate a code snippet to perform a resource action in the specified language

Supported resources

General

  • general_faucet - enable requesting faucet for developers
  • general_rpc_lcd - enable general rpc/lcd inquiries for the agents, and execute the rpc/lcd requests based on the demands
  • general_associations — query hybrid associations (EOA/assets/txs) across EVM and native Sei. Returns simplified pointer/pointee fields when applicable.

Insights

  • insights_address — Query address data: details, transactions, token transfers.
  • insights_erc20 — Query ERC-20 tokens: info, balances, transfers, holders.
  • insights_cw20 — Query CW20 tokens: info, balances, transfers, holders.
  • insights_native — Query native tokens: info, transfers, balances, holders.
  • insights_ics20 — Query ICS20 tokens: info, transfers, balances, holders.
  • insights_erc721 — Query ERC-721 tokens: info, holders, instances, balances, transfers.
  • insights_erc1155 — Query ERC-1155 tokens: info, holders, instances, balances, transfers.
  • insights_cw721 — Query CW721 tokens: info, instances, balances, holders, transfers.
  • insights_smart_contract — Query smart contract details.
  • insights_assets — Search official assets by name/symbol/identifier and get asset details by identifier. Uses Sei gateway endpoints; search is performed offline over the fetched assets list.
  • insights_earnings — Search/list earnings pools (APR/APY) for pacific-1 and fetch a pool by address. Returns simplified fields: name, address, url, image, provider, tvl, apr, apy.
  • insights_transactions — Query transaction details by hash via gateway (pacific-1, atlantic-2, arctic-1).

Smart Contract

  • smart_contract — Query smart contract state via Multicall3, search verified contracts, or download smart contract ABI from Seitrace (pacific-1, atlantic-2, arctic-1).

Getting started

Make sure you obtain an API Key for free here

Check

Highlights ✨

What MCP provides to end users and assistants:

  • Natural‑language access to Seitrace insights. The assistant performs API calls on your behalf.
  • Self‑describing tool flow: enumerate actions, retrieve the input schema, then invoke.
  • Input validation and clear error messages using per‑action JSON Schemas.
  • Concise discovery: minimal list output; detailed payloads only when invoking actions.
  • Integration with MCP‑enabled VS Code extensions (e.g., Continue, Cline).
  • Simple, secure API key handling via environment variables (sent as x-api-key).
  • Quick start via npx: npx -y @seitrace/mcp.

Typical Flow 🔁

Using the MCP SDK, drive the resource-based flow via the five tools. Important: Always follow this sequence, especially step 3:

// 1) Discover available resources
const resources = await client.callTool({ name: 'list_resouces', arguments: {} });
// -> { resources: ['erc20', 'erc721', 'native', ...] }

// 2) List actions for a resource
const actions = await client.callTool({
  name: 'list_resouce_actions',
  arguments: { resource: 'insights_erc20' },
});
// -> { resource: 'erc20', actions: [{ name, description }, ...] }

// 3) **REQUIRED** Get the JSON Schema for a specific action
// This step is critical - parameter names in descriptions may differ from actual schema
const schema = await client.callTool({
  name: 'get_resource_action_schema',
  arguments: { resource: 'insights_erc20', action: 'get_erc20_token_info' },
});
// -> { resource: 'insights_erc20', action: 'get_erc20_token_info', schema }
// The schema reveals exact parameter names like "q" instead of "query", "chain" instead of "chain_id", etc.

// 4) Invoke the action with payload matching the schema structure
const res = await client.callTool({
  name: 'invoke_resource_action',
  arguments: {
    resource: 'insights_erc20',
    action: 'get_erc20_token_info',
    payload: { chain: 'pacific-1', contract_address: '0x...' },
  },
});
// res.content[0].text -> "API Response (Status: 200):\n{ ... }"

// 5) Optionally, generate a code snippet for an action
const snippet = await client.callTool({
  name: 'get_resource_action_snippet',
  arguments: { resource: 'insights_erc20', action: 'get_erc20_token_info', language: 'node' },
});
// -> { resource, action, language, snippet }

The server validates payload against the action’s schema and returns a pretty-printed JSON body when applicable.

Requirements 🔧

  • Node.js 20+
  • A Seitrace Insights API key (optional for discovery, required for most live calls), obtain it here

Install 📦

npm install

Configure 🔐

Copy .env.example to .env and set your values as needed.

Environment variables:

  • API_BASE_URL (optional) — defaults to https://seitrace.com/insights
  • SECRET_APIKEY — Seitrace API key; used to set header x-api-key

Build and Run 🏃

# Type-check and compile to build/
npm run build

# Run the MCP server over stdio (used by MCP clients)
npm start

This server is designed to be launched by an MCP-compatible client (e.g., via a command/args configuration). It communicates over stdio.

End-to-End Test ✅

Run the E2E to verify the root resource flow and (optionally) a live positive-call:

# Optionally provide your API key so the positive path runs
SEITRACE_API_KEY=your_key_here npm run test:e2e

Troubleshooting 🛠️

Make sure you run our e2e test to see the common errors we covered.

  • E2E: npm run test:e2e (optional E2E_DEBUG=1 for [E2E] logs).
  • Node: Use v20+.

Contributing 🤝

  • Keep tools/list output compact. Do not embed per-action details there—fetch them via getResourceActionSchema.
  • New endpoints should appear under the correct resource; root tool methods should provide discovery and invocation consistently.
  • Prefer small, focused modules in src/lib/ for shared logic.

License 📄

See

Support 📨

Please shoot emails to dev@cavies.xyz