selectarank-mcp
OfficialClick on "Deploy 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., "@selectarank-mcpfetch the latest significant earthquakes feed"
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.
selectarank-mcp
MCP server (stdio) for the SelectaRank Data Gateway, a pay-per-call API that uses the x402 protocol with USDC on Base. It lets an AI agent discover the gateway's paid endpoints as MCP tools and, if you give it a wallet key, pay for them automatically.
MCP Registry name: io.github.selectarank/selectarank-mcp
Tools
Tools are generated from the gateway's /openapi.json at startup (a built-in copy of the list is used if it cannot be fetched).
Tool | Endpoint | Price per call (USDC) | Data source |
|
| 0.002 | USGS |
|
| 0.003 | NOAA/NWS |
|
| 0.002 | World Bank |
|
| 0.010 | Checks another x402 endpoint's 402 challenge (one unauthenticated GET, no funds move) |
The earthquake, weather and World Bank tools return public-domain upstream data wrapped with source and license metadata. The gateway is a passthrough; it does not produce its own data.
Related MCP server: valorem-mev-mcp
Payment
Network: Base mainnet (
eip155:8453), schemeexactAsset: USDC,
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Recipient (payTo):
0x57a0c0b413516BbF3Fcdb88408D59B7809e3efd0
Always verify these against the live 402 response; the server returns the gateway's actual PaymentRequirements.
Install
Requires Node.js 18+.
{
"mcpServers": {
"selectarank": {
"command": "npx",
"args": ["-y", "github:selectarank/selectarank-mcp"],
"env": { "EVM_PRIVATE_KEY": "0x..." }
}
}
}Omit env to run without paying (see below). Installed straight from GitHub for now; it is not yet published to npm.
Environment variables
Variable | Required | Meaning |
| no | Private key of a wallet holding USDC on Base. With it, tool calls pay automatically via |
| no | Refuse to auto-pay above this amount per call. Default |
| no | Override the gateway URL. Default |
Behavior without a key
Without EVM_PRIVATE_KEY the server still starts and lists all tools. Calling a tool makes one unpaid request and returns the 402 PaymentRequirements (amount, asset, payTo, network) plus instructions for paying. Nothing is spent.
Status and limits
Sales to date: 0. This is a new service.
The data comes from USGS, NOAA/NWS and the World Bank; freshness and accuracy are theirs. No SLA.
You are responsible for the funds in the wallet you configure.
Development
npm install
npm run build
npm run typecheckLicense
MIT
Available Tools
4 toolsselectarank_earthquakesUSGS earthquake feedB
USGS earthquake feed. Paid x402 endpoint: 0.002000 USDC per call on Base (GET /v1/earthquakes/{feed}). With EVM_PRIVATE_KEY set the call is paid automatically; otherwise the 402 payment requirements are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| feed | Yes | significant_week, significant_day, 4.5_week, 2.5_week, all_day, all_hour |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and it does well on the most important trait: it is a paid x402 endpoint costing 0.002 USDC per call on Base, the call is paid automatically when EVM_PRIVATE_KEY is set, and otherwise a 402 payment requirement is returned. This is valuable, non-obvious behavioral disclosure. It still omits rate limits and response characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with purpose and then the payment/authorization behavior. No filler, though the first sentence is redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter feed tool with no output schema and no annotations, the description covers the critical thing an agent needs (payment and auth flow). It is nearly complete; only the nature/shape of the returned earthquake data is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already enumerates the valid feed values, so the parameter is fully documented structurally. The description adds nothing about feed semantics (e.g., what 'significant_week' vs '4.5_week' returns), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the data source (USGS) and resource (earthquakes) and even the endpoint path, but uses no verb and essentially restates the title 'USGS earthquake feed'. It does not differentiate this feed from the sibling data tools (weather, worldbank, preflight).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings, nor which feed to pick for a given need. The only conditional logic given is about payment, not about task selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
selectarank_preflightCheck that an x402 endpoint's 402 challenge is well-formed before paying itA
Check that an x402 endpoint's 402 challenge is well-formed before paying it. Paid x402 endpoint: 0.010000 USDC per call on Base (GET /v1/preflight). With EVM_PRIVATE_KEY set the call is paid automatically; otherwise the 402 payment requirements are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | https URL (port 443, public host) of the x402 endpoint to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the monetary cost (0.010000 USDC per call on Base), the automatic payment behavior when EVM_PRIVATE_KEY is set, and the fallback behavior of returning 402 payment requirements. It does not detail what constitutes 'well-formed' or error cases, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste, front-loading the purpose and then the payment details. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with a single parameter and no output schema, the description covers the essential operational context: cost, payment flow, and fallback. It could be more explicit about what the check returns or how 'well-formed' is evaluated, but the coverage is largely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single url parameter is fully documented in the schema. The description adds no syntax, format, or constraint beyond what the schema already provides, matching the baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('x402 endpoint's 402 challenge') and clarifies intent ('before paying it'). This clearly distinguishes it from the data-retrieval siblings (earthquakes, weather, worldbank) that share the selectarank_ prefix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before paying it' gives a clear contextual trigger for when to use the tool. It does not state exclusions or name alternatives, but no sibling overlaps exist, so the guidance is sufficient though not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
selectarank_weatherNOAA/NWS forecast for a US pointA
NOAA/NWS forecast for a US point. Paid x402 endpoint: 0.003000 USDC per call on Base (GET /v1/weather/{lat}/{lon}). With EVM_PRIVATE_KEY set the call is paid automatically; otherwise the 402 payment requirements are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the non-obvious behavior: this is a paid x402 endpoint costing 0.003000 USDC on Base, paid automatically when EVM_PRIVATE_KEY is present, otherwise the 402 requirements are returned. That is real, actionable behavioral context. It is silent on rate limits, failure modes beyond 402, and whether the call is a safe read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose and scope first, then the payment mechanics. Every sentence carries information an agent needs, with no filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should cover more ground. Payment mechanics are covered thoroughly, but the response shape, lat/lon formatting, and error handling are absent for a two-required-parameter tool with zero schema documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — both lat and lon are typed string with empty descriptions — so the description must compensate. The path template /v1/weather/{lat}/{lon} does convey ordering and that the values are path-substituted strings, but no format, decimal-degree convention, or range constraints are given, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and source ('NOAA/NWS forecast for a US point') plus the underlying route GET /v1/weather/{lat}/{lon}, so the agent knows exactly what it returns. It does not explicitly contrast with siblings like selectarank_earthquakes or selectarank_worldbank, but the domain is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly defines when it applies (US point forecasts) and explains the payment precondition (EVM_PRIVATE_KEY set vs. 402 returned), which is operational guidance. It never names an alternative tool or states when not to use it, so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
selectarank_worldbankWorld Bank indicatorC
World Bank indicator. Paid x402 endpoint: 0.002000 USDC per call on Base (GET /v1/worldbank/{country}/{indicator}). With EVM_PRIVATE_KEY set the call is paid automatically; otherwise the 402 payment requirements are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ||
| indicator | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden, and it does disclose meaningful behavior: a paid x402 endpoint at 0.002 USDC per call on Base, automatic payment when EVM_PRIVATE_KEY is set, and a 402 payment-requirements response otherwise. That is above-average disclosure, though it omits rate limits, response format, and error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no padding, and the payment model is stated efficiently. However, the leading fragment 'World Bank indicator.' is pure tautology and occupies prime front-loaded space without conveying information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter paid API call with no output schema, the description adequately covers the endpoint, cost, and auth behavior. It is incomplete on the parameter formats and on what data is returned, which an agent needs since there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both 'country' and 'indicator' have empty descriptions. The URL template only shows positional placement; the description adds no format guidance (e.g., ISO country code, indicator ID like NY.GDP.MKTP.CD), leaving both required parameters semantically undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening 'World Bank indicator' simply restates the title and tool name without a verb or object of action. The GET path /v1/worldbank/{country}/{indicator} implies retrieval, but the description never states that it fetches indicator data, so the purpose remains inferred rather than declared.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the sibling endpoints (preflight, earthquakes, weather) and no prerequisites for choosing it. The payment note hints at a cost condition, but that is billing behavior rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.0- First observed
selectarank_earthquakes - First observed
selectarank_preflight - First observed
selectarank_weather - First observed
selectarank_worldbank
TDQS
Scored across 4 tools
Each tool targets a clearly distinct resource: preflight validation, earthquakes, weather, and World Bank data. There is no overlap in purpose, so an agent can easily select the right tool.
All tools follow the same selectarank_ snake_case prefix and use simple noun names (preflight, earthquakes, weather, worldbank). The pattern is predictable and consistent throughout.
Four tools is a well-scoped set for a small paid API gateway covering a preflight check plus three specific data sources. Neither too thin nor bloated for the apparent purpose.
The surface covers a useful validation tool and three concrete data endpoints, but it lacks a tool to list all available endpoints or a generic fetch capability. Minor gaps are workable given the narrow scope.
Maintenance
Related MCP Connectors
Paid MCP tools behind one endpoint. Agents pay per call in USDC on Base via x402.
Pay-per-use weather, environment, finance, and on-chain intelligence tools for AI agents via x402.
Pay-per-call data APIs for AI agents. USDC on Base via x402. 33 tools, no signup.
Pay-per-call tools for autonomous agents, settled in USDC on Base via x402.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceEnables AI agents to discover, evaluate, and call any x402 API service with automatic USDC payment, including tools for wallet setup, service catalog browsing, recommendations, health checks, and direct API calls.16 npm-

valorem-mev-mcpofficial
AlicenseAqualityDmaintenanceGives MCP-compatible LLM agents direct access to real-time MEV and DeFi data via Valorem's x402-paid API endpoints, with payments in USDC on Base mainnet.96 npmMIT- AlicenseNot gradedqualityCmaintenance55+ pay-per-call tools for AI agents over MCP: live telemetry, blockchain/on-chain checks, environmental, transit, finance, and network utilities. No API key or signup — agents pay per request with x402 USDC micropayments (Base and Solana).MIT

halowerk-mcpofficial
AlicenseAqualityCmaintenanceProvides access to 70 paid APIs as MCP tools with per-call and session budgets, paying via x402/USDC on Base without requiring an account or login. Includes a built-in allowlist of hosts and safe defaults to prevent unintended payments.1443 npmMIT