crossmint-wallets-mcp 0.1.2 → 0.2.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay-x402-endpoint.d.ts","sourceRoot":"","sources":["../../src/core/pay-x402-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAyEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"pay-x402-endpoint.d.ts","sourceRoot":"","sources":["../../src/core/pay-x402-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAyEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuJzB"}
|
|
@@ -92,9 +92,25 @@ export async function payX402Endpoint(opts) {
|
|
|
92
92
|
throw new Error(`Expected 200 or 402 on initial request, got ${initialResponse.status}`);
|
|
93
93
|
}
|
|
94
94
|
// -----------------------------------------------------------------------
|
|
95
|
-
// Step 2: parse
|
|
95
|
+
// Step 2: parse PaymentRequired from header (v2) or body (v1)
|
|
96
96
|
// -----------------------------------------------------------------------
|
|
97
|
-
|
|
97
|
+
let paymentRequired;
|
|
98
|
+
// x402 v2: payment requirements are base64-encoded in the
|
|
99
|
+
// `payment-required` response header (e.g. Nansen API)
|
|
100
|
+
const paymentRequiredHeader = initialResponse.headers.get("payment-required");
|
|
101
|
+
if (paymentRequiredHeader) {
|
|
102
|
+
try {
|
|
103
|
+
const decoded = Buffer.from(paymentRequiredHeader, "base64").toString("utf-8");
|
|
104
|
+
paymentRequired = JSON.parse(decoded);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
throw new Error("Failed to decode base64 payment-required header");
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// x402 v1: payment requirements are in the JSON response body
|
|
112
|
+
paymentRequired = (await initialResponse.json());
|
|
113
|
+
}
|
|
98
114
|
if (!paymentRequired.accepts?.length) {
|
|
99
115
|
throw new Error("402 response has no accepts[] entries");
|
|
100
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay-x402-endpoint.js","sourceRoot":"","sources":["../../src/core/pay-x402-endpoint.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pay-x402-endpoint.js","sourceRoot":"","sources":["../../src/core/pay-x402-endpoint.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crossmint-wallets-mcp",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "MCP server exposing Crossmint smart wallet primitives as tools for Claude Desktop, Continue.dev, Cline, Codex CLI, and any MCP-native client.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"crossmint-wallets-mcp": "
|
|
7
|
+
"crossmint-wallets-mcp": "scripts/mcp-entry.cjs"
|
|
8
8
|
},
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"types": "dist/index.d.ts",
|
|
11
11
|
"files": [
|
|
12
12
|
"dist",
|
|
13
13
|
"scripts/postinstall.cjs",
|
|
14
|
+
"scripts/mcp-entry.cjs",
|
|
14
15
|
"README.md",
|
|
15
16
|
"LICENSE"
|
|
16
17
|
],
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
// This CJS wrapper patches process.stdout BEFORE any ESM module loads.
|
|
5
|
+
// Problem: The Crossmint SDK (@crossmint/wallets-sdk) writes telemetry
|
|
6
|
+
// to stdout via console.log during module initialization. In ESM, static
|
|
7
|
+
// imports are evaluated before any top-level code, so patching console.log
|
|
8
|
+
// inside server.ts runs too late. This CJS entry point runs first.
|
|
9
|
+
//
|
|
10
|
+
// Fix: intercept process.stdout.write and only let JSON-RPC messages
|
|
11
|
+
// through. Everything else goes to stderr.
|
|
12
|
+
|
|
13
|
+
const origWrite = process.stdout.write.bind(process.stdout);
|
|
14
|
+
|
|
15
|
+
process.stdout.write = function (chunk, encoding, callback) {
|
|
16
|
+
const str = typeof chunk === "string" ? chunk : chunk.toString();
|
|
17
|
+
const trimmed = str.trimStart();
|
|
18
|
+
|
|
19
|
+
// JSON-RPC messages start with '{' and contain "jsonrpc"
|
|
20
|
+
if (trimmed.startsWith("{") && trimmed.includes('"jsonrpc"')) {
|
|
21
|
+
return origWrite(chunk, encoding, callback);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Redirect everything else to stderr (SDK telemetry, debug logs, etc.)
|
|
25
|
+
return process.stderr.write(chunk, encoding, callback);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// Also redirect console.log for anything that slips through
|
|
29
|
+
const origLog = console.log;
|
|
30
|
+
console.log = function (...args) {
|
|
31
|
+
console.error(...args);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// Now dynamically import the ESM server — all patches are in place
|
|
35
|
+
import("../dist/mcp/server.js").catch((err) => {
|
|
36
|
+
console.error("[crossmint-wallets-mcp] failed to load server:", err);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
});
|