npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@seitrace/mcp

v0.2.45

Published

Seitrace Insights MCP

Downloads

39

Readme

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

Use with general AI Models (streamablehttp, sse)

Make sure you are using the correct endpoints

StreamableHTTP

https://mcp.seitrace.com/<api-key>

SSE

https://mcp.seitrace.com/sse/<api-key>

Use with VSCode variants, Claude Desktop / Cursor 💻

See mcp

Using with an MCP Client 🤝

Configure your MCP client to launch the compiled server binary:

  • Command: npx
  • Args:["-y", "@seitrace/mcp"]
  • Env: SECRET_APIKEY, API_BASE_URL (optional)

Once connected, the client will call tools/list, which returns exactly five tools representing the resource interface.

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 LICENSE

Support 📨

Please shoot emails to [email protected]