MTRKR MCP Server
Provides wallet intelligence on MegaETH, an Ethereum L2, including tools for .mega name resolution, ERC-20 portfolios, NFT holdings, DeFi liquidity positions, transaction decoding, and wallet analytics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MTRKR MCP Serverwhat is the current ETH price?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MTRKR MCP Server
A read-only MCP server that connects AI agents to MTRKR wallet intelligence on MegaETH, an Ethereum L2.
The server registers 14 mtrkr_* tools for:
.meganame resolutionERC-20 portfolios and USD pricing
NFT holdings
DeFi liquidity positions (AMM + concentrated-liquidity integrations)
wallet activity summaries
approval and operator scanning
address inspection
ERC-20 token risk scanning
transaction decoding
ETH/USD pricing
wallet transaction analytics
Wallet transaction analytics are framed around the MegaETH Terminal campaign (season structure and incentives follow MTRKR’s published Terminal rules). They use Terminal wave periods loaded from MTRKR campaign config—for example, wave 1 2026-04-28–2026-05-05, depending on the active MTRKR campaign config; wave ids and date ranges can change when config updates. The tools support active-wave snapshots, recently finished wave reviews, multi-wallet comparison, and optional caller-supplied points for rough alignment checks.
These analytics are meant as a companion you revisit each wave: they summarize recent on-chain interactions, boosted-app coverage, outbound activity, and similar heuristics. They are not official campaign or points scoring.
The server does not request private keys, sign transactions, or submit on-chain transactions.
Wallet-scoped tools accept a MegaETH 0x address or a .mega name (e.g. mirage.mega). Token risk scanning expects an ERC-20 token contract address. Transaction decoding expects a 32-byte transaction hash (0x plus 64 hex characters). The ETH price tool takes no inputs; for questions like “value of N ETH in USD,” call mtrkr_eth_price and multiply by N client-side (or have the agent do it). See Supported inputs.
Requirements
Node.js 20+ (see
enginesinpackage.json)An MCP-compatible host (e.g. Cursor, Claude Desktop)
Network access to MTRKR and upstream data sources used by the API
No API key for the default public MTRKR origin; if you override
MTRKR_API_URL, authentication requirements depend on that host
Supported inputs
Input kind | Tools |
| Wallet portfolio, NFTs, activity summary / quick stats, LP positions, security scan, analytics GET/analyze, compare |
|
|
Token contract |
|
Transaction hash, |
|
None |
|
Names are resolved through MTRKR before calling the backing API where applicable.
Quick start
Add the server to your MCP config, restart the client, and the tools should appear. No repo clone or local build is required if you use npx.
Stable (recommended)
Use the stable tag npm exposes as latest:
Cursor — .cursor/mcp.json (project or global):
{
"mcpServers": {
"mtrkr": {
"command": "npx",
"args": ["mtrkr-mcp-server@latest"]
}
}
}Claude Desktop — claude_desktop_config.json (path varies by OS; see Anthropic docs):
{
"mcpServers": {
"mtrkr": {
"command": "npx",
"args": ["mtrkr-mcp-server@latest"]
}
}
}Verify installation
After restarting the MCP host, try:
"Resolve mirage.mega"
"What is the current ETH price on MegaETH?"
Beta / prerelease
User MCP config for the beta line:
{
"mcpServers": {
"mtrkr": {
"command": "npx",
"args": ["mtrkr-mcp-server@beta"]
}
}
}You can also pin an exact prerelease (example): mtrkr-mcp-server@1.2.0-beta.0. See versions on npm.
Configuration
Optional environment variable for the MCP process (set in the MCP config env block if your client supports it):
Variable | Required | Description |
| No | Origin for the MTRKR HTTP API (scheme + host, no trailing slash). Requests append paths such as |
No other environment variables are read by this package today.
Example MCP config fragment with env:
{
"mcpServers": {
"mtrkr": {
"command": "npx",
"args": ["mtrkr-mcp-server@latest"],
"env": {
"MTRKR_API_URL": "https://mtrkr.xyz"
}
}
}
}Tool index
# | MCP tool | Summary | Main parameters |
1 |
| Resolve |
|
2 |
| Tx counts over a day range |
|
3 |
| Approvals & NFT operators |
|
4 |
| ERC-20 balances & USD |
|
5 |
| NFT holdings (capped list) |
|
6 |
| AMM-style LP positions |
|
7 |
| Concentrated-liquidity positions |
|
8 |
| EOA/contract inspection |
|
9 |
| ERC-20 risk scan |
|
10 |
| Decode a transaction |
|
11 |
| ETH/USD | (none) |
12 |
| One-wallet analytics snapshot |
|
13 |
| Analytics + optional points alignment |
|
14 |
| Compare up to 5 wallets |
|
Safety and limitations
Outputs are informational — risk scores, approvals, pricing, NFT/DeFi valuations, and decoded calldata depend on indexers, oracles, heuristics, and third-party feeds. Gaps are possible (non-standard contracts, delayed indexing, missing metadata, API outages).
Not investment advice. Treat token examples (honeypot, sell simulation) as risk signals, not buy/sell recommendations. Confirm critical findings with independent tools before acting.
Tools
Identity
Name resolution — Tool: mtrkr_resolve_name
Resolve a .mega name to a wallet address, or a wallet address to its primary .mega name. Uses on-chain name resolution via MTRKR.
Try asking:
"What address is mirage.mega?"
"Does 0x1234...abcd have a .mega name?"
"Resolve mirage.mega"
Wallet portfolio
Token balances and pricing — Tool: mtrkr_wallet_tokens
Discover ERC-20 tokens held by a wallet with balances, USD pricing, and metadata. Uses hybrid discovery (token-list multicall plus transfer-log style scanning) so many tokens appear even when they are not on the default list; coverage still depends on RPC and indexer behavior.
Example shape (illustrative; fields may vary with API versions):
{
"tokens": [
{
"address": "0x…",
"symbol": "USDM",
"name": "…",
"balance": 100.0,
"balanceUsd": 100.0,
"priceUsd": 1.0
}
],
"totalUsd": 1234.56
}Try asking:
"What tokens does mirage.mega hold?"
"Show me the token portfolio for 0x1234...abcd"
"What's the total USD value of 0xdead...beef's tokens?"
"Does this wallet hold any USDM?"
NFT holdings — Tool: mtrkr_wallet_nfts
NFTs on MegaETH (ERC-721, ERC-1155, ERC-404). Data is merged from chain indexers, marketplace feeds, badges, and enumeration. Returns up to 25 items, ordered using available floor-price metadata. Floor prices and attributes depend on marketplace/indexer availability and may be stale or absent.
Try asking:
"What NFTs does mirage.mega own?"
"Show me the NFT collection for 0x1234...abcd"
"Does this wallet hold any Fluffle NFTs?"
"What's the floor price of the NFTs in 0xdead...beef?"
Activity summary (quick stats) — Tool: mtrkr_wallet_quick_stats
Transaction counts (in/out/total) over a configurable range (1–365 days).
Try asking:
"How active is 0x1234...abcd over the last 90 days?"
"How many transactions has mirage.mega sent this week?"
"Compare inbound vs outbound tx count for 0xdead...beef in the last 30 days"
DeFi positions
Primary AMM liquidity — Tool: mtrkr_lp_positions
Active LP positions for the supported AMM integration: pairs, ticks, liquidity, unclaimed fees, USD estimates. Closed zero-value positions are filtered out. Uses indexer-backed data with RPC fallback where applicable.
Try asking:
"What LP positions does mirage.mega have in supported pools?"
"How much liquidity does this wallet provide in integrated AMM positions?"
"What fees has 0xdead...beef earned from LP positions?"
Concentrated liquidity — Tool: mtrkr_prism_positions
Concentrated-liquidity positions (NFT position-manager style). On-chain position readout with pairs, ticks, in-range status, liquidity, USD estimates.
Try asking:
"What concentrated-liquidity positions does mirage.mega have?"
"Show me CL positions for 0x1234...abcd"
"Are any of 0xdead...beef's positions out of range?"
Security & analysis
Approval and operator scan — Tool: mtrkr_security_scan
Open ERC-20 allowances and NFT operator permissions with coarse risk labels and spender context. Uses historical indexing subject to indexer completeness, reorgs, non-standard patterns, and API availability — treat as a strong signal, not a mathematical guarantee.
Try asking:
"Does mirage.mega have risky approvals?"
"List all infinite approvals for 0x1234...abcd"
"Are there any critical-risk token approvals on 0xdead...beef?"
"How many unknown spenders does this wallet have approved?"
Address inspection — Tool: mtrkr_inspect_address
Inspect any MegaETH address: EOA vs contract, balance, labels, proxy hints, deployer/owner where available, verification, token interfaces, clone heuristics, and a qualitative risk summary.
Try asking:
"Is 0x1234...abcd a wallet or a contract?"
"Inspect 0xdead...beef — is it a proxy?"
"Who deployed contract 0x5B42...d997?"
"Is 0xabcd...1234 source-verified on the network explorer?"
"What token standard does 0x021e...782B implement?"
"Is this contract a fake clone?"
Token risk report — Tool: mtrkr_token_scan
Multi-domain ERC-20 risk heuristics (control, exit, liquidity, economics, integrity): numeric score, findings, sell-path simulation, admin proxies, concentration, curation flags, etc. Not exhaustive — unknown exploit classes and data gaps always remain.
Try asking:
"Analyze contract risk for token 0x021e...782B"
"Can I sell 0xabcd...1234? Check for honeypot"
"What are the risk factors for 0xdead...beef?"
"Who are the top holders of 0x021e...782B?"
"Does 0xabcd...1234 have admin mint or pause powers?"
"Is 0xdead...beef on the MegaETH curated token list?"
Wallet transaction analytics
Period parameters: Terminal campaign waves
Prefer whichWave for normal usage:
whichWave: "current"— active Terminal wavewhichWave: "last_completed"— most recently closed Terminal wave
Use waveId when you need a specific historical wave (1 … n from campaign config). wave is kept as a compatibility alias (GET: string tokens like current, last_completed, or digit strings that map to waveId; analyze/compare POST bodies may also forward string or number wave).
Argument | Type | Allowed values | Used by |
| optional enum |
| All three analytics tools |
| optional int | Terminal wave id from campaign config | All three |
| optional string or number | Compatibility alias (see above) | All three |
Tools: mtrkr_companion_get, mtrkr_companion_analyze, mtrkr_companion_compare.
Terms
Decoded ledger: outbound transactions in the selected Terminal wave (
startDate–endDatefrom campaign config), with method/value context from MTRKR’s decoder where available.Tracked apps: application labels when a call targets an address known to MTRKR’s app directory.
Points alignment: when you pass points, the API may echo heuristic alignment — not an official points calculation.
Read analytics snapshot — Tool: mtrkr_companion_get
Try asking:
"For mirage.mega last completed Terminal wave, summarize every outbound tx from the decoded ledger (swaps, bridges, others) and which map to tracked apps."
"Wallet transaction analytics snapshot for 0x… for period id 3"
Analyze with optional points — Tool: mtrkr_companion_analyze
Returns the same family of analytics payload as the snapshot tool, plus optional points-alignment output when you supply points.
Try asking:
"I logged about 1200 points in the last completed Terminal wave — analyze wallet 0x… with those numbers and see if on-chain activity is in the same ballpark"
Compare wallets — Tool: mtrkr_companion_compare
Try asking:
"Compare mirage.mega, 0xAAA…, and 0xBBB… for the current Terminal wave — who has broader tracked-app coverage and more outbound volume?"
Utility
Transaction decode — Tool: mtrkr_decode_transaction
Human-readable calldata, transfers, events, and contract context when transaction data, receipts, and decoder inputs are available from upstream services.
Try asking:
"What did transaction 0xf9b5...3e2a do?"
"Decode 0xabcd...1234 — was it a swap?"
"Show me the token transfers in tx 0xdead...beef"
"What method was called in transaction 0x9876...5432?"
Spot ETH price — Tool: mtrkr_eth_price
ETH/USD from an on-chain oracle when available, otherwise a market reference; response includes source metadata when the API provides it. The tool returns a single ETH price, not an amount conversion — agents or clients should multiply by the desired ETH quantity after the call.
Try asking:
"What's the current ETH price on MegaETH?"
"ETH price?"
"How much is 5 ETH worth in USD right now?"
Troubleshooting
Tools do not appear: Restart the MCP host after editing config; validate JSON; run
node --version(20+); trynpx mtrkr-mcp-server@latestin a terminal to confirm the package resolves.Stale or unexpected version: Pin a semver:
"args": ["mtrkr-mcp-server@1.1.1"]or check dist-tags:npm view mtrkr-mcp-server dist-tags.Rate limiting: MTRKR may return 429; wait briefly and retry (analytics compare is heavier).
.megafails to resolve: Confirm the name exists and MTRKR resolution succeeds for that label.
Changelog (high level)
1.2.x (beta → stable): Wallet transaction analytics
1.1.x: Earlier stable line on npm; see package versions.
License
MIT — see package.json.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/n1n4du/mtrkr-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server