@bridgenode/mcp
OfficialBridgeNode MCP lets AI agents access paid AI chat completions without API keys, paying per-use in Solana USDC via x402, plus free tools to inspect models and estimate costs.
chat_completions – send chat requests to supported models (paid, auto-pays via x402); choose an explicit model or smart routing mode (auto/eco/premium), set max_tokens, and receive non-streaming completions with usage info.
list_models – free, read-only catalog of available models, per-token prices, context windows, and max output tokens.
get_price_estimate – free, read-only local estimate of USDC cost for a given model/mode, messages, and max_tokens before paying.
Automatically pays for BridgeNode chat-completion requests using Solana USDC through the x402 protocol, signing the payment with a configured wallet and enforcing per-call and daily spending limits.
Click 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., "@@bridgenode/mcpWrite a Python function to check if a number is prime"
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.
@bridgenode/mcp
Built for AI agents — no API keys, no registration, pay-as-you-go with Solana USDC via x402. Start free: free models and 2 free calls on paid models per client, no wallet required.
BridgeNode MCP wrapper — stdio MCP server that proxies requests to the remote
https://bridgenode.cc/mcp (streamable-HTTP) with automatic x402 payment
(Solana USDC). No API keys, no registration.
Installation (one-command)
claude mcp add bridgenode -s user -- npx -y @bridgenode/mcp@latestOr manually (Claude Code, Cursor, other MCP clients):
{
"mcpServers": {
"bridgenode": {
"command": "npx",
"args": ["-y", "@bridgenode/mcp@latest"]
}
}
}Related MCP server: x402 Payment Gateway MCP Server
Configuration (.env)
# Solana wallet private key (base58) — agent's payment wallet
# Optional — Solana wallet private key (base58). Needed only for PAID calls:
# free models and the 2 free trials work without it.
BRIDGENODE_WALLET_KEY=
# Spending policy (fail-closed)
BRIDGENODE_MAX_PER_CALL=0.05
BRIDGENODE_DAILY_CAP=1.0Tools
chat_completions— AI inference (free models run without payment; the first 2 calls to a PAID model are free per client, then x402 payment is automatic)list_models— model list (free)get_price_estimate— estimate cost of a chat request (free)
How it works
Local MCP client launches the wrapper via stdio
Wrapper connects to
https://bridgenode.cc/mcp(streamable HTTP)On
tools/callreceiving 402 (payment required) — the wrapper automatically signs the payment withBRIDGENODE_WALLET_KEYand retries the requestSpending policy checks every payment BEFORE signing (fail-closed)
Links
Website: https://bridgenode.cc
Protocol: x402 V2 (docs.x402.org)
Python packages
Prefer Python? The same BridgeNode toolkit is on PyPI:
Python SDK:
pip install bridgenode-llm→ https://pypi.org/project/bridgenode-llmCLI:
pip install bridgenode-cli→ https://pypi.org/project/bridgenode-cliFull toolkit (SDK + CLI):
pip install bridgenode→ https://pypi.org/project/bridgenode
Community
Moltbook agent profile: https://moltbook.com/u/bridgenode_eli
Discord: https://discord.gg/HUpVKxJxhG
X (Twitter): https://x.com/eliBNx
⭐ Star this repo — it helps AI agents discover BridgeNode.
Available Tools
3 toolschat_completionsChat completions with x402 paymentAInspect
Send a chat completion request to any supported model. Free models are served without payment; the first calls to a PAID model are also free per client (free trials), after which x402 payment (Solana USDC) is required — an unpaid call returns 402 with the exact price; retry with _meta["x402/payment"]. Responses are non-streaming. Pass either mode (auto/eco/premium) or model (explicit id) — one of the two is required; model wins if both are sent. Use this tool to generate text; inspect models and prices first with the free list_models tool.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Smart routing profile (auto/eco/premium). | |
| model | No | Explicit model id (see list_models / /v1/models). Mutually exclusive with mode. | |
| messages | Yes | Chat messages (text content only). | |
| max_tokens | No | Max output tokens (billed upfront, §4.2). MCP calls are non-stream: cap per config. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| model | No | |
| usage | No | |
| object | No | |
| choices | No | |
| created | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses significant behavioral details beyond the annotations: free tiers, free trials for first calls, payment requirement (x402 Solana USDC), the 402 response with exact price, retry instructions via _meta['x402/payment'], and non-streaming responses. Since annotations provide no behavioral hints (all false), the description carries the full burden and does so thoroughly, leaving no surprises for the agent.
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?
The description is several sentences long but every clause carries signal: free/paid behavior, 402/retry, non-streaming, mutual exclusion, model selection precedence, and usage guidance. There is no fluff or redundancy. It is front-loaded with the core purpose. It is somewhat longer than strictly necessary, but for a payment-bearing tool, the trade-off is appropriate; still not as lean as the two-sentence ideal, so a 4 is fair.
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?
The tool is moderately complex: four parameters, payment logic, model-selection ambiguity, and non-streaming constraints. The description covers the crucial behaviors (free/payment/402/retry, model/mode precedence) while leaning on the schema for parameter definitions and on the output schema for return values. It does not mention how to obtain a payment token or what happens after the retry, but those could be inferred from the 402 response with the exact price. Overall, it is sufficiently complete for the MCP context, so it's a high 'adequate' score rather than an exhaustive one.
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 baseline is 3. The description adds important semantic detail beyond the schema: the mutual exclusivity of model and mode, the explicit 'model wins if both are sent' rule, and the significance of max_tokens in non-streaming mode. It also clarifies that messages are text-only. This clearly adds value beyond the input schema, justifying a 4.
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 opens with a specific verb and resource ('Send a chat completion request'), and later reinforces the purpose ('Use this tool to generate text'). It also positions this tool against its siblings: list_models is for inspecting models and prices, while chat_completions is for actually generating text. This makes the tool's role clear and distinguishes it without needing to open any schema.
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 explicitly tells the agent when to use the tool: to generate text, and to inspect models/prices first via the free list_models tool. It also gives implicit guidance on when not to use if the agent follows the 'inspect first' instruction. The main gap is it does not explicitly mention get_price_estimate as an alternative for pricing queries, though 'inspect models and prices' implies that separate inspection path. It's clear context but lacks an explicit exclusion statement, so a 4 (clear context, no explicit exclusions) is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_price_estimateEstimate the cost of a chat requestARead-onlyIdempotentInspect
Estimate the USDC cost of a chat completion request before paying — free, no payment, no authentication required. Read-only: no state changes and no external calls; the estimate is computed locally from server pricing config, so repeated calls with identical inputs return identical results (idempotent). Use this tool to check the exact price for a given model/mode, messages, and max_tokens before calling the paid chat_completions tool. Provide either mode (auto/eco/premium routing) or model (explicit id, mutually exclusive with mode); one of the two is required — if both are sent, model wins. mode values: auto = cheapest model fitting the context, eco = cheapest available, premium = best model.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Smart routing profile (auto/eco/premium). | |
| model | No | Explicit model id (see list_models / /v1/models). Mutually exclusive with mode. | |
| messages | Yes | Chat messages (text content only). | |
| max_tokens | No | Max output tokens to estimate (billed upfront, §4.2). |
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| amount_usdc | No | |
| input_tokens | No | |
| amount_atomic | No | |
| max_tokens_clamped | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond the annotations: 'no state changes and no external calls,' 'computed locally from server pricing config,' 'free, no payment, no authentication required,' and 'repeated calls with identical inputs return identical results.' These details clarify side effects, network behavior, and prerequisites, which annotations alone do not convey. No contradiction with the readOnly/idempotent/destructive hints.
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?
The description is three dense, well-structured sentences with no filler: what it does, safety/behavior, and invocation guidance. It front-loads purpose and money implications before diving into behavioral details, and every clause adds operational value.
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?
Given there is an output schema, the description need not detail return values. It covers the required input contracts (model vs mode, messages, max_tokens), the behavioral/read-only path, the cost/auth implications, and points to related tools (chat_completions, list_models). Nothing an agent needs to call it correctly on HTTP is missing.
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% with each property described, so the baseline is already strong. The description goes further by defining mode values ('auto = cheapest model fitting the context, eco = cheapest available, premium = best model') and by clarifying the relationship between model and mode: 'one of two required — if both are sent, model wins.' This resolution semantic is critical and not fully captured by the schema's anyOf.
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 uses a specific verb and resource: 'Estimate the USDC cost of a chat completion request before paying.' It clearly scopes what the tool does and implicitly distinguishes it from chat_completions (the paid execution tool) and list_models (the model-listing tool), reducing ambiguity without even checking sibling schemas.
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 explicitly says when to use this tool: 'Use this tool to check the exact price for a given model/mode, messages, and max_tokens before calling the paid chat_completions tool.' It also gives usage constraints: one of model/mode required, mutually exclusive, and 'if both are sent, model wins.' This tells an agent exactly when and with which arguments to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsList available models and pricesARead-onlyIdempotentInspect
List available models and their prices — free, no payment, no authentication required. Read-only: no state changes; data is served from the server's local config, so repeated calls return identical results (idempotent). Accepts no parameters: the input schema is an empty object, and any arguments passed are ignored. Calling it without arguments returns the complete catalog with per-token prices; there is no filtering, pagination, or configuration. Use this tool to inspect models and prices before calling the paid chat_completions tool. Same data as GET /v1/models (§5.2). Do not use it to generate text (use chat_completions) or to estimate a specific request's cost (use get_price_estimate).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| object | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds substantial context beyond that: no authentication or payment required, arguments are ignored, data comes from local config, repeated calls return identical results, and there is no filtering or pagination. This gives an agent a complete behavioral picture with no surprises.
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?
Every sentence adds distinct value: scope, authentication/read-only/idempotency, parameter handling, absence of filtering, recommended usage, API equivalence, and exclusions. Although it is a longer description, it is tightly packed with actionable information and remains highly scannable because each sentence addresses a separate concern.
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?
Given zero parameters, a trivial input schema, and a true output schema, the description fully addresses everything an agent needs to know: cost model, authentication, side effects, behavior with no arguments, and clear routing versus sibling tools. There are no meaningful gaps in context.
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?
There are zero parameters, and the description expands on this by explicitly stating that the input schema is an empty object and that any arguments passed are ignored. This is more informative than simply inheriting the schema. A 0-parameter baseline is already strong, and the extra clarity about ignored arguments earns a slightly higher score.
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 states a specific verb and resource: 'List available models and their prices.' It clearly distinguishes itself from siblings by stating it does not generate text (chat_completions) and does not estimate request costs (get_price_estimate). The purpose is unambiguous and fully captures the tool's scope.
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 gives explicit guidance on when to use this tool: 'Use this tool to inspect models and prices before calling the paid chat_completions tool.' It also explicitly says when not to use it, naming the alternatives for text generation and cost estimation. This leaves no ambiguity about tool selection.
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.
3 tool updates
v1.0.4- First observed
chat_completions - First observed
get_price_estimate - First observed
list_models
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: list_models for catalog inspection, get_price_estimate for cost calculation, and chat_completions for actual generation. The descriptions explicitly cross-reference each other to prevent confusion.
All names use snake_case with a verb_noun pattern (list_models, get_price_estimate, chat_completions). The only minor deviation is chat_completions being a noun phrase rather than a verb_noun construction, but it remains clear and consistent in style.
Three tools is a well-scoped set for a focused LLM gateway server: inspect models, estimate cost, and generate text. Each tool earns its place with no redundancy.
The tool surface covers the full workflow: discover models, check pricing, and execute completions. The free/paid payment flow is supported via the 402 retry mechanism described in chat_completions, so there are no dead ends.
Maintenance
Related MCP Connectors
Wallet and payments for AI agents: auto-pay x402 APIs in USDC on XDC, within on-chain limits.
Give your AI agent an x402 wallet: discover and pay for services in USDC, or earn from your own.
x402 paid API tools for AI agents on Solana: crypto safety, market data, KYB/AML verification.
Pay-per-call browser rendering and x402 marketplace ranking for AI agents, billed via USDC.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and pay for x402-enabled services using natural language, with multi-chain support for Solana and EVM payments.51MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to make micropayments using USDC on Solana via the x402 protocol, supporting payment requests, on-chain verification, and revenue tracking.MIT
- AlicenseAqualityCmaintenanceEnables AI agents to access crypto/web3 data across 5 chains with pay-per-call billing in USDC via x402, no API key required, and built-in spend caps.3647MIT

@hpp-io/x402-mcp-bridgeofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to autonomously pay for and discover services using HPP USDC.e over the x402 protocol, without API keys or manual signing.88Apache 2.0