x402engine-mcp 1.0.5 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -121
- package/dist/index.js +26 -9
- package/dist/index.js.map +1 -1
- package/dist/payment.d.ts +16 -0
- package/dist/payment.js +113 -0
- package/dist/payment.js.map +1 -0
- package/package.json +25 -5
- package/server.json +45 -5
package/README.md
CHANGED
|
@@ -1,151 +1,110 @@
|
|
|
1
1
|
# x402engine-mcp
|
|
2
2
|
|
|
3
|
-
MCP server for [
|
|
3
|
+
Agent-friendly MCP server for [x402engine](https://x402engine.app). It lets agents discover and call pay-per-request APIs through HTTP 402, with automatic USDC payment on Base or Solana.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The live gateway covers LLMs, image and video generation, web search and scraping, code execution, crypto and wallet data, transaction simulation, audio, travel, and IPFS. This MCP exposes a curated tool set and live discovery for the full catalog.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- generated from `~/x402-gateway/config/services.json`, `~/x402-gateway/manifest/agent-manifest.v1.json`, and this package's `src/index.ts`
|
|
7
|
+
## Quick Start
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
Use a dedicated, low-balance payer wallet. The MCP signs x402 payments locally and never sends the private key to x402engine.
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
- gateway llm routes: 38
|
|
14
|
-
- mcp tool surface: 22 tools
|
|
15
|
-
- 18 paid MCP tools backed by live gateway routes
|
|
16
|
-
- mcp tools pointing at routes not present in the checked in gateway catalog: 2 (`search_locations`, `search_cheapest_dates`)
|
|
17
|
-
- payment rails: Base, Solana, MegaETH
|
|
18
|
-
- current mcp README scope: document the tools actually implemented in `src/index.ts`
|
|
19
|
-
- the `x402engine://services` resource now derives its catalog from the live gateway discovery endpoints instead of a hand-maintained static list
|
|
11
|
+
### Base
|
|
20
12
|
|
|
21
|
-
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"mcpServers": {
|
|
16
|
+
"x402engine": {
|
|
17
|
+
"command": "npx",
|
|
18
|
+
"args": ["-y", "x402engine-mcp@1.1.0"],
|
|
19
|
+
"env": {
|
|
20
|
+
"X402_EVM_PRIVATE_KEY": "0xYOUR_DEDICATED_PAYER_KEY",
|
|
21
|
+
"X402_PAYMENT_NETWORK": "base",
|
|
22
|
+
"X402_MAX_PAYMENT_USD": "1.00"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
Fund the wallet with USDC on Base. The x402 facilitator pays transaction gas; the wallet signs an EIP-3009 USDC authorization.
|
|
24
30
|
|
|
25
|
-
|
|
31
|
+
### Solana
|
|
26
32
|
|
|
27
33
|
```json
|
|
28
34
|
{
|
|
29
35
|
"mcpServers": {
|
|
30
36
|
"x402engine": {
|
|
31
37
|
"command": "npx",
|
|
32
|
-
"args": ["-y", "x402engine-mcp"],
|
|
38
|
+
"args": ["-y", "x402engine-mcp@1.1.0"],
|
|
33
39
|
"env": {
|
|
34
|
-
"
|
|
40
|
+
"X402_SOLANA_PRIVATE_KEY": "YOUR_BASE58_OR_JSON_PRIVATE_KEY",
|
|
41
|
+
"X402_PAYMENT_NETWORK": "solana",
|
|
42
|
+
"X402_MAX_PAYMENT_USD": "1.00"
|
|
35
43
|
}
|
|
36
44
|
}
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
47
|
```
|
|
40
48
|
|
|
41
|
-
|
|
49
|
+
Fund the wallet with USDC on Solana and enough SOL for transaction fees.
|
|
50
|
+
|
|
51
|
+
### Discovery Without a Wallet
|
|
52
|
+
|
|
53
|
+
The server starts without a wallet, and free tools such as `discover_services` and `service_health` still work. Paid tools return their x402 payment requirements until a wallet is configured.
|
|
42
54
|
|
|
43
55
|
```bash
|
|
44
|
-
claude mcp add x402engine -- npx -y x402engine-mcp
|
|
56
|
+
claude mcp add x402engine -- npx -y x402engine-mcp@1.1.0
|
|
45
57
|
```
|
|
46
58
|
|
|
47
|
-
##
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
|
72
|
-
|
|
73
|
-
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
| `pin_to_ipfs` | $0.01 | Pin JSON to IPFS |
|
|
93
|
-
| `get_from_ipfs` | $0.001 | Retrieve content from IPFS by CID |
|
|
94
|
-
|
|
95
|
-
### Travel
|
|
96
|
-
| Tool | Price | Description |
|
|
97
|
-
|------|-------|-------------|
|
|
98
|
-
| `search_flights` | $0.02 | Flight search via `/api/travel/flights` |
|
|
99
|
-
| `search_locations` | currently unavailable on the live gateway | tool exists in MCP code but targets `/api/travel/locations`, which is not present in the current gateway routes |
|
|
100
|
-
| `search_hotels` | $0.02 | Hotel search via `/api/travel/hotels` |
|
|
101
|
-
| `search_cheapest_dates` | currently unavailable on the live gateway | tool exists in MCP code but targets `/api/travel/cheapest-dates`, which is not present in the current gateway routes |
|
|
102
|
-
|
|
103
|
-
## What this MCP server does not currently expose
|
|
104
|
-
|
|
105
|
-
The live gateway has a larger paid surface than this MCP package currently wraps.
|
|
106
|
-
|
|
107
|
-
for the canonical counts and route mapping, see `~/x402-gateway/config/x402engine-truth.json`.
|
|
108
|
-
|
|
109
|
-
notable gateway routes that are live in `x402-gateway` but not exposed as first class MCP tools here include:
|
|
110
|
-
|
|
111
|
-
- 38 llm routes under `/api/llm/*`
|
|
112
|
-
- embeddings via `/api/embeddings`
|
|
113
|
-
- video generation via `/api/video/*`
|
|
114
|
-
- web routes via `/api/web/*`
|
|
115
|
-
- search routes via `/api/search/*`
|
|
116
|
-
- tts routes via `/api/tts/*`
|
|
117
|
-
- ens routes via `/api/ens/*`
|
|
118
|
-
- tx simulation via `/api/tx/simulate`
|
|
119
|
-
|
|
120
|
-
for the full live catalog, use `discover_services` against the gateway discovery document.
|
|
121
|
-
|
|
122
|
-
## Environment Variables
|
|
123
|
-
|
|
124
|
-
| Variable | Required | Description |
|
|
125
|
-
|----------|----------|-------------|
|
|
126
|
-
| `X402_BASE_URL` | No | Gateway URL. Defaults to `https://x402-gateway-production.up.railway.app` |
|
|
127
|
-
| `X402_DEV_BYPASS` | No | Dev bypass secret to skip payments |
|
|
128
|
-
| `X402_PAYMENT_HEADER` | No | Pre signed payment header |
|
|
129
|
-
|
|
130
|
-
## Payment Networks
|
|
131
|
-
|
|
132
|
-
- **Base** — USDC, 6 decimals
|
|
133
|
-
- **Solana** — USDC, 6 decimals
|
|
134
|
-
- **MegaETH** — USDm, 18 decimals
|
|
135
|
-
|
|
136
|
-
## How It Works
|
|
137
|
-
|
|
138
|
-
1. agent calls an MCP tool
|
|
139
|
-
2. MCP server makes an HTTP request to the gateway
|
|
140
|
-
3. gateway returns `402 Payment Required` plus payment metadata when payment is needed
|
|
141
|
-
4. caller pays with x402 compatible payment flow
|
|
142
|
-
5. gateway verifies payment and returns data
|
|
143
|
-
|
|
144
|
-
for automatic payment handling, use [@x402/fetch](https://www.npmjs.com/package/@x402/fetch) in your agent code.
|
|
59
|
+
## Payment Controls
|
|
60
|
+
|
|
61
|
+
| Variable | Default | Description |
|
|
62
|
+
|----------|---------|-------------|
|
|
63
|
+
| `X402_EVM_PRIVATE_KEY` | unset | Dedicated payer key for Base USDC |
|
|
64
|
+
| `X402_SOLANA_PRIVATE_KEY` | unset | Base58 or JSON payer key for Solana USDC |
|
|
65
|
+
| `X402_PAYMENT_NETWORK` | `auto` | `auto`, `base`, or `solana` |
|
|
66
|
+
| `X402_MAX_PAYMENT_USD` | `1.00` | Hard per-request spending limit |
|
|
67
|
+
| `X402_BASE_URL` | production gateway | Override the gateway URL |
|
|
68
|
+
| `X402_PAYMENT_HEADER` | unset | Legacy pre-signed x402 header |
|
|
69
|
+
| `X402_DEV_BYPASS` | unset | Development bypass secret |
|
|
70
|
+
|
|
71
|
+
In `auto` mode, Base is preferred when both keys are configured. Automatic payment only accepts the canonical USDC contracts on Base and Solana. It rejects unknown assets, unsupported networks, and amounts above the configured cap before signing.
|
|
72
|
+
|
|
73
|
+
MegaETH remains available to clients that supply their own compatible payment header.
|
|
74
|
+
|
|
75
|
+
## MCP Tools
|
|
76
|
+
|
|
77
|
+
| Category | Tools |
|
|
78
|
+
|----------|-------|
|
|
79
|
+
| Discovery | `discover_services`, `service_health` |
|
|
80
|
+
| Image and code | `generate_image`, `execute_code` |
|
|
81
|
+
| Audio | `transcribe_audio` |
|
|
82
|
+
| Crypto | `get_crypto_price`, `get_crypto_markets`, `get_crypto_history`, `get_trending_crypto`, `search_crypto`, `get_crypto_categories` |
|
|
83
|
+
| Wallet and token | `get_wallet_balances`, `get_wallet_transactions`, `get_wallet_pnl`, `get_token_prices`, `get_token_metadata` |
|
|
84
|
+
| IPFS | `pin_to_ipfs`, `get_from_ipfs` |
|
|
85
|
+
| Travel | `search_flights`, `search_locations`, `search_hotels`, `search_cheapest_dates` |
|
|
86
|
+
|
|
87
|
+
Prices are included in each tool description and in live discovery. The gateway catalog can change independently of this package.
|
|
88
|
+
|
|
89
|
+
## Discovery
|
|
90
|
+
|
|
91
|
+
- Gateway discovery: [/.well-known/x402.json](https://x402-gateway-production.up.railway.app/.well-known/x402.json)
|
|
92
|
+
- Agent card: [/.well-known/agent.json](https://x402-gateway-production.up.railway.app/.well-known/agent.json)
|
|
93
|
+
- Endpoint manifest: [/.well-known/agent-manifest.v1.json](https://x402-gateway-production.up.railway.app/.well-known/agent-manifest.v1.json)
|
|
94
|
+
- Services API: [/api/services](https://x402-gateway-production.up.railway.app/api/services)
|
|
95
|
+
- Package metadata: [server.json](./server.json)
|
|
96
|
+
|
|
97
|
+
## Development
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
npm install
|
|
101
|
+
npm test
|
|
102
|
+
npm run build
|
|
103
|
+
```
|
|
145
104
|
|
|
146
105
|
## Links
|
|
147
106
|
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
- GitHub: [
|
|
107
|
+
- Website: [x402engine.app](https://x402engine.app)
|
|
108
|
+
- npm: [x402engine-mcp](https://www.npmjs.com/package/x402engine-mcp)
|
|
109
|
+
- GitHub: [agentc22/x402engine-mcp](https://github.com/agentc22/x402engine-mcp)
|
|
151
110
|
- Protocol: [x402.org](https://x402.org)
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
import { createPaymentFetch } from "./payment.js";
|
|
5
6
|
const BASE_URL = process.env.X402_BASE_URL || "https://x402-gateway-production.up.railway.app";
|
|
6
7
|
const PAYMENT_HEADER = process.env.X402_PAYMENT_HEADER || "";
|
|
7
8
|
const DEV_BYPASS = process.env.X402_DEV_BYPASS || "";
|
|
9
|
+
let requestFetchPromise;
|
|
10
|
+
function getRequestFetch() {
|
|
11
|
+
requestFetchPromise ??= createPaymentFetch();
|
|
12
|
+
return requestFetchPromise;
|
|
13
|
+
}
|
|
8
14
|
async function callApi(method, path, params, body) {
|
|
9
15
|
let url = `${BASE_URL}${path}`;
|
|
10
16
|
// Build query string for GET
|
|
@@ -33,7 +39,18 @@ async function callApi(method, path, params, body) {
|
|
|
33
39
|
init.body = JSON.stringify(body);
|
|
34
40
|
}
|
|
35
41
|
const start = performance.now();
|
|
36
|
-
|
|
42
|
+
let res;
|
|
43
|
+
try {
|
|
44
|
+
const requestFetch = await getRequestFetch();
|
|
45
|
+
res = await requestFetch(url, init);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return {
|
|
49
|
+
status: 0,
|
|
50
|
+
error: error instanceof Error ? error.message : String(error),
|
|
51
|
+
roundtrip_ms: Math.round(performance.now() - start),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
37
54
|
const roundtrip_ms = Math.round(performance.now() - start);
|
|
38
55
|
if (res.status === 402) {
|
|
39
56
|
const paymentHeader = res.headers.get("PAYMENT-REQUIRED");
|
|
@@ -49,7 +66,7 @@ async function callApi(method, path, params, body) {
|
|
|
49
66
|
return {
|
|
50
67
|
status: 402,
|
|
51
68
|
paymentRequired: paymentInfo,
|
|
52
|
-
error: "Payment required.
|
|
69
|
+
error: "Payment required. Configure X402_EVM_PRIVATE_KEY or X402_SOLANA_PRIVATE_KEY for automatic USDC payment.",
|
|
53
70
|
roundtrip_ms,
|
|
54
71
|
};
|
|
55
72
|
}
|
|
@@ -68,7 +85,7 @@ function textResult(content) {
|
|
|
68
85
|
function createServer() {
|
|
69
86
|
const server = new McpServer({
|
|
70
87
|
name: "x402engine",
|
|
71
|
-
version: "1.
|
|
88
|
+
version: "1.1.0",
|
|
72
89
|
});
|
|
73
90
|
// ==================== DISCOVERY ====================
|
|
74
91
|
server.tool("discover_services", "List all available x402 Engine APIs with pricing, endpoints, and payment networks. Call this first to understand what's available.", {}, async () => {
|
|
@@ -379,12 +396,12 @@ function createServer() {
|
|
|
379
396
|
? servicesData.services
|
|
380
397
|
: [];
|
|
381
398
|
const healthMap = healthData?.services ?? {};
|
|
382
|
-
const networks =
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
399
|
+
const networks = Object.entries(discoveryData?.networks ?? {}).map(([id, metadata]) => ({
|
|
400
|
+
id,
|
|
401
|
+
...metadata,
|
|
402
|
+
}));
|
|
403
|
+
const services = liveServices.map((rawService) => {
|
|
404
|
+
const service = rawService;
|
|
388
405
|
const id = typeof service.id === "string" ? service.id : "unknown";
|
|
389
406
|
return {
|
|
390
407
|
id,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type PaymentRequirements } from "@x402/fetch";
|
|
2
|
+
export declare const BASE_NETWORK = "eip155:8453";
|
|
3
|
+
export declare const SOLANA_NETWORK = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
4
|
+
export declare const BASE_USDC = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
5
|
+
export declare const SOLANA_USDC = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
|
|
6
|
+
export type PaymentNetwork = "auto" | "base" | "solana";
|
|
7
|
+
export interface PaymentConfig {
|
|
8
|
+
evmPrivateKey?: string;
|
|
9
|
+
solanaPrivateKey?: string;
|
|
10
|
+
network: PaymentNetwork;
|
|
11
|
+
maxPaymentUsd: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function loadPaymentConfig(env?: NodeJS.ProcessEnv): PaymentConfig;
|
|
14
|
+
export declare function usdToAtomicUnits(value: string): bigint;
|
|
15
|
+
export declare function selectPaymentRequirement(requirements: PaymentRequirements[], config: Pick<PaymentConfig, "network" | "maxPaymentUsd">): PaymentRequirements;
|
|
16
|
+
export declare function createPaymentFetch(config?: PaymentConfig, baseFetch?: typeof globalThis.fetch): Promise<typeof globalThis.fetch>;
|
package/dist/payment.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { x402Client, wrapFetchWithPayment } from "@x402/fetch";
|
|
2
|
+
import { ExactEvmScheme } from "@x402/evm";
|
|
3
|
+
import { ExactSvmScheme } from "@x402/svm";
|
|
4
|
+
import { createKeyPairSignerFromBytes, createKeyPairSignerFromPrivateKeyBytes, getBase58Codec, } from "@solana/kit";
|
|
5
|
+
import { privateKeyToAccount } from "viem/accounts";
|
|
6
|
+
export const BASE_NETWORK = "eip155:8453";
|
|
7
|
+
export const SOLANA_NETWORK = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
8
|
+
export const BASE_USDC = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
9
|
+
export const SOLANA_USDC = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
|
|
10
|
+
function parseNetwork(value) {
|
|
11
|
+
const network = (value || "auto").toLowerCase();
|
|
12
|
+
if (network === "auto" || network === "base" || network === "solana") {
|
|
13
|
+
return network;
|
|
14
|
+
}
|
|
15
|
+
throw new Error("X402_PAYMENT_NETWORK must be auto, base, or solana");
|
|
16
|
+
}
|
|
17
|
+
export function loadPaymentConfig(env = process.env) {
|
|
18
|
+
return {
|
|
19
|
+
evmPrivateKey: env.X402_EVM_PRIVATE_KEY,
|
|
20
|
+
solanaPrivateKey: env.X402_SOLANA_PRIVATE_KEY,
|
|
21
|
+
network: parseNetwork(env.X402_PAYMENT_NETWORK),
|
|
22
|
+
maxPaymentUsd: env.X402_MAX_PAYMENT_USD || "1.00",
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function usdToAtomicUnits(value) {
|
|
26
|
+
const match = /^(\d+)(?:\.(\d{1,6}))?$/.exec(value);
|
|
27
|
+
if (!match) {
|
|
28
|
+
throw new Error("X402_MAX_PAYMENT_USD must be a non-negative USD amount with at most 6 decimals");
|
|
29
|
+
}
|
|
30
|
+
return BigInt(match[1]) * 1000000n + BigInt((match[2] || "").padEnd(6, "0"));
|
|
31
|
+
}
|
|
32
|
+
function isKnownUsdc(requirement) {
|
|
33
|
+
if (requirement.network === BASE_NETWORK) {
|
|
34
|
+
return requirement.asset.toLowerCase() === BASE_USDC.toLowerCase();
|
|
35
|
+
}
|
|
36
|
+
if (requirement.network === SOLANA_NETWORK) {
|
|
37
|
+
return requirement.asset === SOLANA_USDC;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
export function selectPaymentRequirement(requirements, config) {
|
|
42
|
+
const maxAmount = usdToAtomicUnits(config.maxPaymentUsd);
|
|
43
|
+
const allowedNetworks = config.network === "base"
|
|
44
|
+
? [BASE_NETWORK]
|
|
45
|
+
: config.network === "solana"
|
|
46
|
+
? [SOLANA_NETWORK]
|
|
47
|
+
: [BASE_NETWORK, SOLANA_NETWORK];
|
|
48
|
+
const supported = requirements.filter((requirement) => requirement.scheme === "exact" &&
|
|
49
|
+
allowedNetworks.includes(requirement.network) &&
|
|
50
|
+
isKnownUsdc(requirement));
|
|
51
|
+
if (supported.length === 0) {
|
|
52
|
+
throw new Error(`No supported ${config.network} USDC payment option was offered`);
|
|
53
|
+
}
|
|
54
|
+
const affordable = supported.filter((requirement) => {
|
|
55
|
+
return BigInt(requirement.amount) <= maxAmount;
|
|
56
|
+
});
|
|
57
|
+
if (affordable.length === 0) {
|
|
58
|
+
const cheapest = supported.reduce((lowest, requirement) => {
|
|
59
|
+
return BigInt(requirement.amount) < BigInt(lowest.amount) ? requirement : lowest;
|
|
60
|
+
});
|
|
61
|
+
throw new Error(`Payment of $${(Number(cheapest.amount) / 1_000_000).toFixed(6)} exceeds X402_MAX_PAYMENT_USD=${config.maxPaymentUsd}`);
|
|
62
|
+
}
|
|
63
|
+
return affordable[0];
|
|
64
|
+
}
|
|
65
|
+
function parseEvmKey(value) {
|
|
66
|
+
if (!/^0x[0-9a-fA-F]{64}$/.test(value)) {
|
|
67
|
+
throw new Error("X402_EVM_PRIVATE_KEY must be a 32-byte 0x-prefixed private key");
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
function parseSolanaKey(value) {
|
|
72
|
+
if (value.trim().startsWith("[")) {
|
|
73
|
+
const parsed = JSON.parse(value);
|
|
74
|
+
if (!Array.isArray(parsed) ||
|
|
75
|
+
![32, 64].includes(parsed.length) ||
|
|
76
|
+
parsed.some((item) => !Number.isInteger(item) || item < 0 || item > 255)) {
|
|
77
|
+
throw new Error("X402_SOLANA_PRIVATE_KEY JSON must contain 32 or 64 byte values");
|
|
78
|
+
}
|
|
79
|
+
return Uint8Array.from(parsed);
|
|
80
|
+
}
|
|
81
|
+
const bytes = Uint8Array.from(getBase58Codec().encode(value));
|
|
82
|
+
if (bytes.length !== 32 && bytes.length !== 64) {
|
|
83
|
+
throw new Error("X402_SOLANA_PRIVATE_KEY must decode to a 32 or 64 byte key");
|
|
84
|
+
}
|
|
85
|
+
return bytes;
|
|
86
|
+
}
|
|
87
|
+
export async function createPaymentFetch(config = loadPaymentConfig(), baseFetch = globalThis.fetch) {
|
|
88
|
+
const useBase = config.network !== "solana" && Boolean(config.evmPrivateKey);
|
|
89
|
+
const useSolana = config.network !== "base" && Boolean(config.solanaPrivateKey);
|
|
90
|
+
if (!useBase && !useSolana) {
|
|
91
|
+
if (config.network === "base") {
|
|
92
|
+
throw new Error("X402_PAYMENT_NETWORK=base requires X402_EVM_PRIVATE_KEY");
|
|
93
|
+
}
|
|
94
|
+
if (config.network === "solana") {
|
|
95
|
+
throw new Error("X402_PAYMENT_NETWORK=solana requires X402_SOLANA_PRIVATE_KEY");
|
|
96
|
+
}
|
|
97
|
+
return baseFetch;
|
|
98
|
+
}
|
|
99
|
+
const client = new x402Client((_version, requirements) => selectPaymentRequirement(requirements, config));
|
|
100
|
+
if (useBase) {
|
|
101
|
+
const account = privateKeyToAccount(parseEvmKey(config.evmPrivateKey));
|
|
102
|
+
client.register(BASE_NETWORK, new ExactEvmScheme(account));
|
|
103
|
+
}
|
|
104
|
+
if (useSolana) {
|
|
105
|
+
const bytes = parseSolanaKey(config.solanaPrivateKey);
|
|
106
|
+
const signer = bytes.length === 32
|
|
107
|
+
? await createKeyPairSignerFromPrivateKeyBytes(bytes)
|
|
108
|
+
: await createKeyPairSignerFromBytes(bytes);
|
|
109
|
+
client.register(SOLANA_NETWORK, new ExactSvmScheme(signer));
|
|
110
|
+
}
|
|
111
|
+
return wrapFetchWithPayment(baseFetch, client);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=payment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../src/payment.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "x402engine-mcp",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Agent-friendly MCP wrapper for x402engine with automatic capped USDC payments on Base and Solana",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./src/index.ts",
|
|
8
8
|
"bin": {
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc",
|
|
18
|
+
"test": "vitest run",
|
|
18
19
|
"start": "node dist/index.js",
|
|
19
20
|
"dev": "tsx src/index.ts",
|
|
20
21
|
"prepublishOnly": "npm run build"
|
|
@@ -23,11 +24,17 @@
|
|
|
23
24
|
"mcp",
|
|
24
25
|
"model-context-protocol",
|
|
25
26
|
"x402",
|
|
27
|
+
"http-402",
|
|
26
28
|
"micropayments",
|
|
29
|
+
"software-paying-software",
|
|
27
30
|
"ai-agents",
|
|
31
|
+
"agent-tools",
|
|
32
|
+
"no-api-keys",
|
|
33
|
+
"no-accounts",
|
|
28
34
|
"crypto",
|
|
29
35
|
"usdc",
|
|
30
|
-
"
|
|
36
|
+
"base",
|
|
37
|
+
"solana",
|
|
31
38
|
"pay-per-call"
|
|
32
39
|
],
|
|
33
40
|
"mcpName": "io.github.agentc22/x402engine-mcp",
|
|
@@ -37,13 +44,26 @@
|
|
|
37
44
|
"type": "git",
|
|
38
45
|
"url": "git+https://github.com/agentc22/x402engine-mcp.git"
|
|
39
46
|
},
|
|
47
|
+
"homepage": "https://x402engine.app",
|
|
48
|
+
"bugs": {
|
|
49
|
+
"url": "https://github.com/agentc22/x402engine-mcp/issues"
|
|
50
|
+
},
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=20.18.0"
|
|
53
|
+
},
|
|
40
54
|
"dependencies": {
|
|
41
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
55
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
56
|
+
"@solana/kit": "^5.5.1",
|
|
57
|
+
"@x402/evm": "^2.19.0",
|
|
58
|
+
"@x402/fetch": "^2.19.0",
|
|
59
|
+
"@x402/svm": "^2.19.0",
|
|
60
|
+
"viem": "^2.55.8",
|
|
42
61
|
"zod": "^3.24.0"
|
|
43
62
|
},
|
|
44
63
|
"devDependencies": {
|
|
45
64
|
"@types/node": "^22.0.0",
|
|
46
65
|
"tsx": "^4.19.0",
|
|
47
|
-
"typescript": "^5.7.0"
|
|
66
|
+
"typescript": "^5.7.0",
|
|
67
|
+
"vitest": "^4.0.18"
|
|
48
68
|
}
|
|
49
69
|
}
|
package/server.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.agentc22/x402engine-mcp",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Agent-friendly x402engine MCP server with automatic capped USDC payments on Base and Solana.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/agentc22/x402engine-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.0
|
|
9
|
+
"version": "1.1.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "x402engine-mcp",
|
|
14
|
-
"version": "1.0
|
|
14
|
+
"version": "1.1.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
|
@@ -30,11 +30,51 @@
|
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"name": "X402_PAYMENT_HEADER",
|
|
33
|
-
"description": "
|
|
33
|
+
"description": "Legacy pre-signed x402 payment header",
|
|
34
34
|
"isRequired": false,
|
|
35
35
|
"isSecret": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "X402_EVM_PRIVATE_KEY",
|
|
39
|
+
"description": "Payer private key for automatic Base USDC payments",
|
|
40
|
+
"isRequired": false,
|
|
41
|
+
"isSecret": true
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "X402_SOLANA_PRIVATE_KEY",
|
|
45
|
+
"description": "Base58 or JSON payer key for automatic Solana USDC payments",
|
|
46
|
+
"isRequired": false,
|
|
47
|
+
"isSecret": true
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "X402_PAYMENT_NETWORK",
|
|
51
|
+
"description": "Payment network preference: auto, base, or solana (default: auto)",
|
|
52
|
+
"isRequired": false,
|
|
53
|
+
"isSecret": false
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "X402_MAX_PAYMENT_USD",
|
|
57
|
+
"description": "Hard maximum payment per request in USD (default: 1.00)",
|
|
58
|
+
"isRequired": false,
|
|
59
|
+
"isSecret": false
|
|
36
60
|
}
|
|
61
|
+
],
|
|
62
|
+
"runtimeHint": "Uses stdio and calls the live x402engine gateway. Configure a payer wallet for automatic x402 payment; every payment is constrained by X402_MAX_PAYMENT_USD.",
|
|
63
|
+
"keywords": [
|
|
64
|
+
"x402",
|
|
65
|
+
"micropayments",
|
|
66
|
+
"http-402",
|
|
67
|
+
"software-paying-software",
|
|
68
|
+
"agents",
|
|
69
|
+
"base",
|
|
70
|
+
"solana"
|
|
71
|
+
],
|
|
72
|
+
"packageArguments": [
|
|
73
|
+
"-y",
|
|
74
|
+
"x402engine-mcp"
|
|
37
75
|
]
|
|
38
76
|
}
|
|
39
|
-
]
|
|
77
|
+
],
|
|
78
|
+
"websiteUrl": "https://x402engine.app",
|
|
79
|
+
"documentationUrl": "https://github.com/agentc22/x402engine-mcp#readme"
|
|
40
80
|
}
|