@apify/mcpc 0.2.0 → 0.2.2
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/CHANGELOG.md +17 -1
- package/README.md +18 -65
- package/dist/bridge/index.js +64 -21
- package/dist/bridge/index.js.map +1 -1
- package/dist/cli/commands/grep.d.ts.map +1 -1
- package/dist/cli/commands/grep.js +1 -16
- package/dist/cli/commands/grep.js.map +1 -1
- package/dist/cli/commands/sessions.d.ts.map +1 -1
- package/dist/cli/commands/sessions.js +4 -1
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/x402.d.ts.map +1 -1
- package/dist/cli/commands/x402.js +21 -0
- package/dist/cli/commands/x402.js.map +1 -1
- package/dist/cli/output.d.ts +1 -0
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +16 -13
- package/dist/cli/output.js.map +1 -1
- package/dist/lib/auth/keychain.d.ts +7 -0
- package/dist/lib/auth/keychain.d.ts.map +1 -1
- package/dist/lib/auth/keychain.js +56 -0
- package/dist/lib/auth/keychain.js.map +1 -1
- package/dist/lib/wallets.d.ts.map +1 -1
- package/dist/lib/wallets.js +13 -0
- package/dist/lib/wallets.js.map +1 -1
- package/dist/lib/x402/fetch-middleware.d.ts +14 -1
- package/dist/lib/x402/fetch-middleware.d.ts.map +1 -1
- package/dist/lib/x402/fetch-middleware.js +66 -14
- package/dist/lib/x402/fetch-middleware.js.map +1 -1
- package/package.json +5 -2
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import type { FetchLike } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
2
2
|
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import { type SignerWallet } from './signer.js';
|
|
3
|
+
import { type SignerWallet, type PaymentRequiredAccept } from './signer.js';
|
|
4
|
+
export interface X402PaymentCache {
|
|
5
|
+
signature: string | null;
|
|
6
|
+
}
|
|
4
7
|
export interface X402FetchMiddlewareOptions {
|
|
5
8
|
wallet: SignerWallet;
|
|
6
9
|
getToolByName?: (name: string) => Tool | undefined;
|
|
10
|
+
paymentCache: X402PaymentCache;
|
|
7
11
|
}
|
|
8
12
|
export declare function createX402FetchMiddleware(baseFetch: FetchLike, options: X402FetchMiddlewareOptions): FetchLike;
|
|
13
|
+
export declare function extractAcceptFromPaymentRequired(data: unknown): {
|
|
14
|
+
accept: PaymentRequiredAccept;
|
|
15
|
+
resource?: {
|
|
16
|
+
url?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
mimeType?: string;
|
|
19
|
+
};
|
|
20
|
+
} | undefined;
|
|
21
|
+
export declare function extractPaymentRequiredFromResult(result: unknown): Record<string, unknown> | undefined;
|
|
9
22
|
//# sourceMappingURL=fetch-middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-middleware.d.ts","sourceRoot":"","sources":["../../../src/lib/x402/fetch-middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-middleware.d.ts","sourceRoot":"","sources":["../../../src/lib/x402/fetch-middleware.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAC;AAkCrB,MAAM,WAAW,gBAAgB;IAE/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAKD,MAAM,WAAW,0BAA0B;IAEzC,MAAM,EAAE,YAAY,CAAC;IAOrB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;IAGnD,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAUD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,0BAA0B,GAClC,SAAS,CA+BX;AAgLD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,OAAO,GAC1D;IACE,MAAM,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE,GACD,SAAS,CAkBZ;AA0BD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAgCrC"}
|
|
@@ -3,27 +3,27 @@ import { createLogger } from '../logger.js';
|
|
|
3
3
|
const logger = createLogger('x402-middleware');
|
|
4
4
|
const MCP_PAYMENT_META_KEY = 'x402/payment';
|
|
5
5
|
export function createX402FetchMiddleware(baseFetch, options) {
|
|
6
|
-
const { wallet, getToolByName } = options;
|
|
6
|
+
const { wallet, getToolByName, paymentCache } = options;
|
|
7
7
|
return async (url, init) => {
|
|
8
|
-
const
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
const enhancedInit = injectPayment(init, proactiveHeader);
|
|
8
|
+
const paymentSignature = await getOrSignPayment(init, wallet, getToolByName, paymentCache);
|
|
9
|
+
if (paymentSignature) {
|
|
10
|
+
const enhancedInit = injectPayment(init, paymentSignature);
|
|
12
11
|
const response = await baseFetch(url, enhancedInit);
|
|
13
12
|
if (response.status !== 402) {
|
|
14
13
|
return response;
|
|
15
14
|
}
|
|
16
|
-
logger.debug('
|
|
17
|
-
|
|
15
|
+
logger.debug('Payment rejected (HTTP 402), invalidating cache');
|
|
16
|
+
paymentCache.signature = null;
|
|
17
|
+
return handle402Fallback(url, init, response, baseFetch, wallet, paymentCache);
|
|
18
18
|
}
|
|
19
19
|
const response = await baseFetch(url, init);
|
|
20
20
|
if (response.status === 402) {
|
|
21
|
-
return handle402Fallback(url, init, response, baseFetch, wallet);
|
|
21
|
+
return handle402Fallback(url, init, response, baseFetch, wallet, paymentCache);
|
|
22
22
|
}
|
|
23
23
|
return response;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
async function
|
|
26
|
+
async function getOrSignPayment(init, wallet, getToolByName, paymentCache) {
|
|
27
27
|
if (!getToolByName || !init?.body) {
|
|
28
28
|
return undefined;
|
|
29
29
|
}
|
|
@@ -36,7 +36,7 @@ async function tryProactiveSigning(init, wallet, getToolByName) {
|
|
|
36
36
|
}
|
|
37
37
|
const tool = getToolByName(toolName);
|
|
38
38
|
if (!tool) {
|
|
39
|
-
logger.debug(`Tool "${toolName}" not found in cache, skipping
|
|
39
|
+
logger.debug(`Tool "${toolName}" not found in cache, skipping payment`);
|
|
40
40
|
return undefined;
|
|
41
41
|
}
|
|
42
42
|
const meta = tool._meta;
|
|
@@ -44,8 +44,12 @@ async function tryProactiveSigning(init, wallet, getToolByName) {
|
|
|
44
44
|
if (!x402 || !x402.paymentRequired) {
|
|
45
45
|
return undefined;
|
|
46
46
|
}
|
|
47
|
+
if (paymentCache.signature) {
|
|
48
|
+
logger.debug(`Using cached payment signature for tool "${toolName}"`);
|
|
49
|
+
return paymentCache.signature;
|
|
50
|
+
}
|
|
47
51
|
if (!x402.scheme || !x402.network || !x402.amount || !x402.asset || !x402.payTo) {
|
|
48
|
-
logger.debug(`Tool "${toolName}" has x402 metadata but missing fields, skipping
|
|
52
|
+
logger.debug(`Tool "${toolName}" has x402 metadata but missing fields, skipping payment signing`);
|
|
49
53
|
return undefined;
|
|
50
54
|
}
|
|
51
55
|
const accept = {
|
|
@@ -59,15 +63,16 @@ async function tryProactiveSigning(init, wallet, getToolByName) {
|
|
|
59
63
|
};
|
|
60
64
|
try {
|
|
61
65
|
const result = await signPayment({ wallet, accept });
|
|
62
|
-
logger.debug(`
|
|
66
|
+
logger.debug(`Fresh payment signed: $${result.amountUsd.toFixed(4)} to ${result.to} on ${result.networkLabel}`);
|
|
67
|
+
paymentCache.signature = result.paymentSignatureBase64;
|
|
63
68
|
return result.paymentSignatureBase64;
|
|
64
69
|
}
|
|
65
70
|
catch (error) {
|
|
66
|
-
logger.warn(`
|
|
71
|
+
logger.warn(`Payment signing failed for tool "${toolName}":`, error);
|
|
67
72
|
return undefined;
|
|
68
73
|
}
|
|
69
74
|
}
|
|
70
|
-
async function handle402Fallback(url, originalInit, response402, baseFetch, wallet) {
|
|
75
|
+
async function handle402Fallback(url, originalInit, response402, baseFetch, wallet, paymentCache) {
|
|
71
76
|
const paymentRequiredBase64 = response402.headers.get('PAYMENT-REQUIRED') || response402.headers.get('payment-required');
|
|
72
77
|
if (!paymentRequiredBase64) {
|
|
73
78
|
logger.debug('402 response has no PAYMENT-REQUIRED header, passing through');
|
|
@@ -90,6 +95,7 @@ async function handle402Fallback(url, originalInit, response402, baseFetch, wall
|
|
|
90
95
|
resource: header.resource,
|
|
91
96
|
});
|
|
92
97
|
logger.debug(`402 fallback payment signed: $${result.amountUsd.toFixed(4)} to ${result.to} on ${result.networkLabel}`);
|
|
98
|
+
paymentCache.signature = result.paymentSignatureBase64;
|
|
93
99
|
const retryInit = injectPayment(originalInit, result.paymentSignatureBase64);
|
|
94
100
|
return await baseFetch(url, retryInit);
|
|
95
101
|
}
|
|
@@ -123,6 +129,52 @@ function extractToolCallName(body) {
|
|
|
123
129
|
return undefined;
|
|
124
130
|
}
|
|
125
131
|
}
|
|
132
|
+
export function extractAcceptFromPaymentRequired(data) {
|
|
133
|
+
if (!data || typeof data !== 'object')
|
|
134
|
+
return undefined;
|
|
135
|
+
const obj = data;
|
|
136
|
+
if (!Array.isArray(obj.accepts) || obj.accepts.length === 0)
|
|
137
|
+
return undefined;
|
|
138
|
+
const accept = obj.accepts.find((a) => a.scheme === 'exact');
|
|
139
|
+
if (!accept || !accept.payTo || !accept.amount || !accept.network || !accept.asset) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
const resource = obj.resource;
|
|
143
|
+
if (resource) {
|
|
144
|
+
return { accept, resource };
|
|
145
|
+
}
|
|
146
|
+
return { accept };
|
|
147
|
+
}
|
|
148
|
+
export function extractPaymentRequiredFromResult(result) {
|
|
149
|
+
if (!result || typeof result !== 'object')
|
|
150
|
+
return undefined;
|
|
151
|
+
const toolResult = result;
|
|
152
|
+
if (!toolResult.isError)
|
|
153
|
+
return undefined;
|
|
154
|
+
if (toolResult.structuredContent && isPaymentRequired(toolResult.structuredContent)) {
|
|
155
|
+
return toolResult.structuredContent;
|
|
156
|
+
}
|
|
157
|
+
const content = toolResult.content;
|
|
158
|
+
if (!Array.isArray(content) || content.length === 0)
|
|
159
|
+
return undefined;
|
|
160
|
+
const first = content[0];
|
|
161
|
+
if (!first || first.type !== 'text' || typeof first.text !== 'string')
|
|
162
|
+
return undefined;
|
|
163
|
+
try {
|
|
164
|
+
const parsed = JSON.parse(first.text);
|
|
165
|
+
if (typeof parsed === 'object' &&
|
|
166
|
+
parsed !== null &&
|
|
167
|
+
isPaymentRequired(parsed)) {
|
|
168
|
+
return parsed;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
}
|
|
173
|
+
return undefined;
|
|
174
|
+
}
|
|
175
|
+
function isPaymentRequired(obj) {
|
|
176
|
+
return 'x402Version' in obj && 'accepts' in obj && Array.isArray(obj.accepts);
|
|
177
|
+
}
|
|
126
178
|
function injectPayment(init, paymentSignatureBase64) {
|
|
127
179
|
const headers = new Headers(init?.headers);
|
|
128
180
|
headers.set('PAYMENT-SIGNATURE', paymentSignatureBase64);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-middleware.js","sourceRoot":"","sources":["../../../src/lib/x402/fetch-middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-middleware.js","sourceRoot":"","sources":["../../../src/lib/x402/fetch-middleware.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apify/mcpc",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Universal command-line client for the Model Context Protocol (MCP).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -50,7 +50,8 @@
|
|
|
50
50
|
"prepublishOnly": "if [ -z \"$MCPC_RELEASE\" ]; then echo '\\n❌ Direct npm publish is not allowed.\\n Please use: npm run release\\n' && exit 1; fi",
|
|
51
51
|
"release": "bash scripts/publish.sh",
|
|
52
52
|
"release:minor": "bash scripts/publish.sh minor",
|
|
53
|
-
"release:major": "bash scripts/publish.sh major"
|
|
53
|
+
"release:major": "bash scripts/publish.sh major",
|
|
54
|
+
"release:pre": "bash scripts/publish.sh --pre-release"
|
|
54
55
|
},
|
|
55
56
|
"dependencies": {
|
|
56
57
|
"@inquirer/input": "^5.0.3",
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
"commander": "^14.0.2",
|
|
62
63
|
"ora": "^9.0.0",
|
|
63
64
|
"proper-lockfile": "^4.1.2",
|
|
65
|
+
"qrcode-terminal": "^0.12.0",
|
|
64
66
|
"undici": "^7.22.0",
|
|
65
67
|
"uuid": "^13.0.0",
|
|
66
68
|
"viem": "^2.46.3"
|
|
@@ -69,6 +71,7 @@
|
|
|
69
71
|
"@types/jest": "^30.0.0",
|
|
70
72
|
"@types/node": "^25.0.3",
|
|
71
73
|
"@types/proper-lockfile": "^4.1.4",
|
|
74
|
+
"@types/qrcode-terminal": "^0.12.2",
|
|
72
75
|
"@types/uuid": "^11.0.0",
|
|
73
76
|
"@typescript-eslint/eslint-plugin": "^8.50.0",
|
|
74
77
|
"@typescript-eslint/parser": "^8.50.0",
|