A side-by-side look at the BlockVectra: multi Chain RPC & Data API and Promptibus MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose BlockVectra: multi Chain RPC & Data API for finance & fintech work as a local process; choose Promptibus MCP for finance & fintech as a local process. You can also run both side by side in one mcpServers block.
read_doc, search_docs, list_chains.PROMPTIBUS_API_KEY, PROMPTIBUS_API_URL.recommend_model, optimize_prompt, lint_prompt.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 59/100 · Good | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | PROMPTIBUS_API_KEYPROMPTIBUS_API_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 3 |
| Directory activity | 9 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 15 | 12 |
| Full listing | View BlockVectra: multi Chain RPC & Data API | View Promptibus MCP |
read_docRead the raw Markdown content of a documentation page from /md/{lang}/{path}.md. Path must be an internal relative path (e.g. 'quickstart', 'guides/ai-agents', 'api/json-rpc', 'chains').search_docsFind documentation by topic or task keywords when the page path is unknown. Searches page titles, navigation titles, relative paths, and page summaries, returning titles, relative paths, and summaries. Read a result with read_doc using its path and the same lang; use read_doc directly for a known path or list_docs to browse the documentation catalog. Omit lang for English; limit is 1-20 (default 5). If no results match, try broader keywords or browse list_docs. Available without an API key.list_chainsFetch supported blockchain networks and static parameters from `GET /v1/chains`. `methods.allow` and `methods.deny` support wildcard patterns where `deny` takes precedence over `allow`. `state_window_blocks` indicates the historical state window in blocks for state queries (null when full history is available); `max_logs_block_range` limits `eth_getLogs`: the range is inclusive, so `toBlock - fromBlock + 1` must not exceed it, otherwise the call fails with `logs_range_too_large`. `public` describes the keyless endpoint: `public.url` serves only the methods in `public.methods`, and `public.history_blocks` is how far back a block reference may reach on that endpoint (it does not add methods). Pass `chain` (a slug such as `base_mainnet`) to return only that chain.get_statusLive operational status and network health from `GET /v1/status`. Confirm chain `status` is 'ok' before calling methods; see `list_chains` for static chain capabilities and method policies. For Data API, `data_status` can be 'ok', 'syncing' (queryable and billed normally, but indexing is lagging behind latest block time), or 'unavailable'.get_pricingLive prices and plan limits from `GET /v1/plans`. Use before estimating cost or when asked about free credits, rate limits or per-method prices. Units: 1 billing unit = `pricing.cu_per_unit` CU; 1 USD buys `pricing.units_per_usd` units. `method_weights` includes JSON-RPC and Data API CU per call, `push.log` / `push.native_transfer` / `push.token_transfer` per delivered data event, `push.history` per successful history request and `push.address_day` per billable address-day; resolve a method by exact match, then the longest prefix rule ending in `*`, then the `*` row (JSON-RPC only; Data API and push operations have no default). `free.*` values are in billing units; `key_defaults` are per-key CU/s and burst CU. `promo.ends_at` is a sign-up coverage cutoff, not the end of the offer. For a single method's chain support and documentation use get_method_info instead; for projecting cycle costs use estimate_usage instead.estimate_usageCalculate projected daily and billing cycle Compute Units (CU) and USD costs for planned call volumes across one or more methods, factoring in method weights and free credit allowances from /v1/plans. Available without an API key. Estimates the API key count for planned traffic under key_defaults. Use this tool for volume budget calculations and capacity planning. For looking up raw system pricing tables, use get_pricing instead. For checking whether a single method is supported on a specific chain, use get_method_info instead. Accepts 'lines' array of {method, calls_per_day} or single 'method' and 'calls_per_day'.how_to_get_api_keyGet instructions and endpoints for obtaining a BlockVectra API key via preferred programmatic SIWE sign-up or browser handoff, plus authentication header and URL formats for JSON-RPC and Data API.get_method_infoInspect a single method's chain-by-chain availability, Compute Unit (CU) weight, price per million calls, and documentation link. Check JSON-RPC method policy and Data API dataset coverage separately. JSON-RPC follows methods.allow and methods.deny from /v1/chains. Data API coverage follows data_features in GET /v1/status, with data enabled in /v1/chains. Pricing comes from /v1/plans. For the full system-wide pricing schedule and rate card, use get_pricing instead. For calculating projected bills for expected call volumes across methods, use estimate_usage instead.explain_errorLookup error code, reason, or HTTP status in the official error reference catalog. Returns meaning, billing implications (whether the call was billed), retryability, retry delay, recommended agent action, and documentation URL.list_docsList all available documentation pages, relative paths, and titles from the static documentation index, including webhook push subscriptions, signatures, delivery and billing. Available without an API key.rpc_callExecute a read-only JSON-RPC 2.0 method on a specified blockchain network using your BlockVectra API key, or via the keyless public endpoint if available on the chain. Chain slugs look like 'base_mainnet'; take them from list_chains. Without a key the call goes to the keyless endpoint `/v1/{chain}/public` (the chain's `public.url` in list_chains), which only serves the methods listed in that chain's `public.methods`. Write methods (such as 'eth_sendRawTransaction') are not supported in rpc_call; use 'send_raw_transaction' instead. Consult the Ethereum JSON-RPC specification (https://ethereum.org/en/developers/docs/apis/json-rpc/) and the BlockVectra method reference (https://docs.blockvectra.com/en/api/json-rpc/methods/). With a key, set the 'x-api-key' or 'Authorization: Bearer <key>' HTTP header in your MCP client configuration for full access (keys must not be passed in tool parameters or chat). Returns the raw JSON-RPC response from the server.data_api_getQuery the BlockVectra Data API for a specified chain and path using your BlockVectra API key. For endpoint schemas and parameter specifications, see the OpenAPI contract at https://docs.blockvectra.com/openapi/data.yaml. Requires the 'x-api-key' or 'Authorization: Bearer <key>' HTTP header in your MCP client configuration (keys must not be passed in tool parameters or chat). Returns the HTTP status and JSON response body.recommend_modelPICK THE CHEAPEST MODEL that fits BEFORE the user pays for the wrong one. Returns top 3 models ranked by fit + cost per call AND a `savings` field with USD saved per call vs the domain-flagship default. **Tell the user the savings number** in your task summary — that's the value they care about. Use when user says 'generate', 'make', 'create', 'draw', 'compose', 'write' anything but didn't pin a specific model. Avoids the 'I'll just default to GPT-4o / Midjourney v7 for everything' fail mode that overpays 5-10x. When savings exceed $0.50/call, response includes a `share_url` — surface it if the user might want to send the recommendation to a colleague.optimize_promptRewrite a raw user prompt into MODEL-SPECIFIC SYNTAX that actually works (Midjourney `--ar 16:9 --stylize 250`, Flux natural-language phrasing, SD weighted tokens, GPT-image style anchors). Cuts retry loops by 40-60%. Returns the optimized prompt + `savings` field with concrete USD saved (token diff for text/code models, ~1 avoided retry for image/video/audio). **Tell the user the savings number** in your task summary — owners see value, not vibes. Call BEFORE every paid generation.lint_promptCatch a BROKEN PROMPT before the user pays for a failed generation. Detects deprecated flags (e.g. Midjourney v5 `--style` on v6+), invalid parameters, length violations, incompatible combos, banned keywords. Returns issues + `savings` field with USD saved (per-unit cost of the avoided failed gen) when ERROR-severity issues are found. **Surface the savings to the user** — 'lint caught a broken prompt and saved you ~$0.04 of failed generation' is exactly the line owners want to read.compare_modelsShow a SIDE-BY-SIDE diff (provider, cost, capabilities, license) of 2-5 models when the user is on the fence. Picks the cheapest one that actually fits. Use for 'should I use Flux or Midjourney for this?' / 'is Suno or Udio better for instrumental?' / 'GPT-4o vs Claude Sonnet for code'. Stops users from over-paying for the prestige model when a cheaper one delivers. Response includes `share_url` — give it to the user when they ask 'can I send this to my team?' or in any summary where the comparison would be useful to share.get_parametersGet the EXACT parameters that produce good output for this model + task type. Skips the 'tweak until it works' phase that wastes 20-50 paid generations. Community-tested configs (portrait / landscape / product-photo / cinematic-video / lo-fi-music / etc) — not the model's stale official defaults. Use whenever you're about to call model.generate(...) without explicit parameters.get_model_profileFull intelligence dump on ONE model — what it's good at, what it's bad at, syntax quirks, hidden gotchas, community tips. Read this BEFORE recommending a model the user hasn't used. Saves you from suggesting Suno v4 when they wanted instrumental-only (it can't), Midjourney for transparent PNGs (no), Flux for inpainting (limited), etc. One call beats 10 trial generations.get_pricingANSWER 'WHAT WILL THIS COST ME' before the user commits credit-card or burns API quota. Per-unit USD pricing + subscription plans + cheaper alternatives. Pass `{ model, volume: 100 }` and you get a total-cost estimate the user can act on. Use ANY TIME the conversation is heading toward 'let's generate N of X' — flag the bill BEFORE they pay it. Surfaces whether DALL-E HD ($0.08/img) or Midjourney standard ($30/mo unlimited-relaxed) is the cheaper path for their volume. When `volume >= 50` the response includes a `share_url` — useful when the user needs to send the cost estimate to a colleague or capture it for a doc.pick_cheapest_modelONE-SHOT 'CHEAPEST MODEL FOR THIS DOMAIN' answer. Faster than recommend_model when the user just wants the budget option. Returns top 3 by price + the pick + `savings` field with concrete USD saved per call vs the domain flagship (often 5-10x). **Tell the user the savings + project to their volume** — 'cheapest pick at $0.02/img saves ~$0.06/call vs Midjourney; for 100 images = $6 saved'. Use whenever cost is dominant constraint — startup MVP, throwaway prototype, content farm.count_tokensTOKEN COUNTER for any prompt + model. Saves the 'oh no the prompt was too long' API failure mode. Returns token count, encoding family used, chars/token ratio, and (when `model` is provided + has token-based pricing) the estimated cost in USD. Call BEFORE submitting long prompts — anything over 100k tokens needs to be checked. Free, no plan gate. Use this instead of importing tiktoken in the agent's own code.format_promptDETERMINISTIC syntax fixer — drops deprecated flags (Midjourney `--style raw` on v6+, Suno `[Verse]` on v4+, Midjourney-style flags on Flux/SD), applies model-correct aspect-ratio notation, normalizes whitespace. Lighter and faster than `optimize_prompt` (which uses community-tested wording + DB lookup). Use for quick syntax cleanup when you don't need a full rewrite — e.g. user gave you a Midjourney prompt but wants Flux output. Free, no plan gate.health_checkFIRST CALL ON STARTUP — verifies Promptibus MCP is connected and returns your quota + tool catalog + recommended call order for generation tasks. Use this once at the start of any session where you have access to Promptibus — it calibrates which tools to reach for during reasoning. Cheap, free, no plan gate. Skip it and you'll re-derive the tool list from descriptions every time.whats_newRECENT MODEL ADDITIONS + UPDATES from the Promptibus catalog (default: last 7 days). Use whenever you need to know if a newer/better model is available for the task — replaces 'I'll just use the one I know about' fail mode. Surfaces new models the user might want to try before committing to defaults. Free, no plan gate.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"blockvectra-multi-chain-rpc-data-api": {
"command": "npx",
"args": [
"--yes",
"@blockvectra/mcp@0.1.0"
]
}
}
}
{
"mcpServers": {
"promptibus-mcp": {
"command": "npx",
"args": [
"-y",
"@promptibus/mcp"
],
"env": {
"PROMPTIBUS_API_KEY": "YOUR_PROMPTIBUS_API_KEY_HERE",
"PROMPTIBUS_API_URL": "YOUR_PROMPTIBUS_API_URL_HERE"
}
}
}
}