web3-tools-mcp 1.6.0 → 2.0.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.
Files changed (104) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +328 -234
  3. package/dist/anvil.d.ts +1 -1
  4. package/dist/anvil.d.ts.map +1 -1
  5. package/dist/anvil.js +11 -9
  6. package/dist/anvil.js.map +1 -1
  7. package/dist/chain-meta.d.ts.map +1 -1
  8. package/dist/chain-meta.js +7 -3
  9. package/dist/chain-meta.js.map +1 -1
  10. package/dist/chains.d.ts +960 -0
  11. package/dist/chains.d.ts.map +1 -0
  12. package/dist/chains.js +108 -0
  13. package/dist/chains.js.map +1 -0
  14. package/dist/client.d.ts +10 -1717
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +33 -218
  17. package/dist/client.js.map +1 -1
  18. package/dist/http-server.d.ts +6 -0
  19. package/dist/http-server.d.ts.map +1 -1
  20. package/dist/http-server.js +55 -40
  21. package/dist/http-server.js.map +1 -1
  22. package/dist/index.js +50 -29
  23. package/dist/index.js.map +1 -1
  24. package/dist/oauth.d.ts +31 -0
  25. package/dist/oauth.d.ts.map +1 -0
  26. package/dist/oauth.js +227 -0
  27. package/dist/oauth.js.map +1 -0
  28. package/dist/preview.d.ts.map +1 -1
  29. package/dist/preview.js +2 -2
  30. package/dist/preview.js.map +1 -1
  31. package/dist/tools/advanced.d.ts +4 -4
  32. package/dist/tools/advanced.d.ts.map +1 -1
  33. package/dist/tools/advanced.js +228 -247
  34. package/dist/tools/advanced.js.map +1 -1
  35. package/dist/tools/balance.d.ts +1 -1
  36. package/dist/tools/balance.d.ts.map +1 -1
  37. package/dist/tools/balance.js +97 -103
  38. package/dist/tools/balance.js.map +1 -1
  39. package/dist/tools/contract-info.d.ts +3 -3
  40. package/dist/tools/contract-info.d.ts.map +1 -1
  41. package/dist/tools/contract-info.js +150 -161
  42. package/dist/tools/contract-info.js.map +1 -1
  43. package/dist/tools/contract.d.ts +4 -4
  44. package/dist/tools/contract.d.ts.map +1 -1
  45. package/dist/tools/contract.js +91 -110
  46. package/dist/tools/contract.js.map +1 -1
  47. package/dist/tools/ens.d.ts +6 -6
  48. package/dist/tools/ens.d.ts.map +1 -1
  49. package/dist/tools/ens.js +239 -297
  50. package/dist/tools/ens.js.map +1 -1
  51. package/dist/tools/gas.d.ts +4 -4
  52. package/dist/tools/gas.d.ts.map +1 -1
  53. package/dist/tools/gas.js +90 -138
  54. package/dist/tools/gas.js.map +1 -1
  55. package/dist/tools/index.d.ts +1 -1
  56. package/dist/tools/index.d.ts.map +1 -1
  57. package/dist/tools/logs.d.ts +1 -1
  58. package/dist/tools/logs.d.ts.map +1 -1
  59. package/dist/tools/logs.js +36 -37
  60. package/dist/tools/logs.js.map +1 -1
  61. package/dist/tools/signatures.d.ts.map +1 -1
  62. package/dist/tools/signatures.js +67 -89
  63. package/dist/tools/signatures.js.map +1 -1
  64. package/dist/tools/transactions.d.ts +35 -5
  65. package/dist/tools/transactions.d.ts.map +1 -1
  66. package/dist/tools/transactions.js +148 -74
  67. package/dist/tools/transactions.js.map +1 -1
  68. package/dist/types.d.ts +1 -1
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/utils.d.ts +1 -1
  71. package/dist/utils.d.ts.map +1 -1
  72. package/dist/utils.js +35 -98
  73. package/dist/utils.js.map +1 -1
  74. package/dist/wallet-client.d.ts +11 -1
  75. package/dist/wallet-client.d.ts.map +1 -1
  76. package/dist/wallet-client.js +27 -9
  77. package/dist/wallet-client.js.map +1 -1
  78. package/dist/walletconnect.d.ts +22 -1
  79. package/dist/walletconnect.d.ts.map +1 -1
  80. package/dist/walletconnect.js +101 -8
  81. package/dist/walletconnect.js.map +1 -1
  82. package/package.json +17 -9
  83. package/src/anvil.ts +15 -18
  84. package/src/chain-meta.ts +8 -4
  85. package/src/chains.ts +145 -0
  86. package/src/client.ts +39 -254
  87. package/src/http-server.ts +67 -44
  88. package/src/index.ts +77 -53
  89. package/src/oauth.ts +270 -0
  90. package/src/preview.ts +3 -12
  91. package/src/tools/advanced.ts +195 -213
  92. package/src/tools/balance.ts +103 -108
  93. package/src/tools/contract-info.ts +163 -184
  94. package/src/tools/contract.ts +123 -144
  95. package/src/tools/ens.ts +290 -345
  96. package/src/tools/gas.ts +122 -170
  97. package/src/tools/index.ts +2 -2
  98. package/src/tools/logs.ts +45 -43
  99. package/src/tools/signatures.ts +68 -86
  100. package/src/tools/transactions.ts +194 -87
  101. package/src/types.ts +1 -15
  102. package/src/utils.ts +52 -110
  103. package/src/wallet-client.ts +31 -9
  104. package/src/walletconnect.ts +119 -7
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import { type TransactionRequest } from 'web3-wallet-relay';
2
+ /**
3
+ * Token shared by every local session, so a process can join a relay another one owns.
4
+ * Stored 0600 because holding it is enough to push transactions at the signer.
5
+ */
6
+ export declare function localToken(): string;
2
7
  /**
3
8
  * Requester side of the wallet relay. Connects to a hosted relay when
4
9
  * WALLET_SERVER_URL is set, otherwise starts one in-process and talks to that.
@@ -54,6 +59,8 @@ export declare class WalletClient {
54
59
  * we still hand out a tokened URL: a link without one loads a page that cannot pair.
55
60
  */
56
61
  getUrl(): string;
62
+ /** A relay we do not own, or a server with no desktop, has no browser for us to open. */
63
+ private get canOpenBrowser();
57
64
  openBrowser(): void;
58
65
  /**
59
66
  * Raise the already-open wallet tab. Deliberately drops the `#t=` fragment: the tab has
@@ -79,5 +86,8 @@ export declare class WalletClient {
79
86
  private open;
80
87
  stop(): Promise<void>;
81
88
  }
82
- export declare function getWalletClient(): WalletClient;
89
+ export declare function getWalletClient(relayOptions?: {
90
+ port?: number;
91
+ token?: string;
92
+ }): WalletClient;
83
93
  //# sourceMappingURL=wallet-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-client.d.ts","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,kBAAkB,EAA4B,MAAM,mBAAmB,CAAA;AAuDlG;;;GAGG;AACH,qBAAa,YAAY;IAkBX,OAAO,CAAC,YAAY;IAjBhC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,OAAO,CAA2F;IAC1G,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAI;IACxB,wFAAwF;IACxF,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAEnC,YAAY,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;IAExE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAUhB,SAAS;YAKT,aAAa;IA2B3B;;;;;;OAMG;YACW,YAAY;IAoB1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmDlB,OAAO,CAAC,SAAS;IAiCjB,yFAAyF;IACnF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB9B,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5D,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,yFAAyF;IACzF,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;;OAGG;IACH,MAAM,IAAI,MAAM;IAMhB,WAAW;IAMX;;;;OAIG;IACH;;;;;;;OAOG;IACH,YAAY;IAQZ;8FAC0F;IAC1F,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAoBN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B;AAID,wBAAgB,eAAe,IAAI,YAAY,CAG9C"}
1
+ {"version":3,"file":"wallet-client.d.ts","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,kBAAkB,EAAyC,MAAM,mBAAmB,CAAA;AAwCvH;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAoBnC;AAED;;;GAGG;AACH,qBAAa,YAAY;IAkBX,OAAO,CAAC,YAAY;IAjBhC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,OAAO,CAA2F;IAC1G,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAI;IACxB,wFAAwF;IACxF,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAEnC,YAAY,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;IAExE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAUhB,SAAS;YAKT,aAAa;IA2B3B;;;;;;OAMG;YACW,YAAY;IAoB1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmDlB,OAAO,CAAC,SAAS;IAiCjB,yFAAyF;IACnF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B9B,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5D,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,yFAAyF;IACzF,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;;OAGG;IACH,MAAM,IAAI,MAAM;IAMhB,yFAAyF;IACzF,OAAO,KAAK,cAAc,GAEzB;IAED,WAAW;IAMX;;;;OAIG;IACH;;;;;;;OAOG;IACH,YAAY;IAQZ;8FAC0F;IAC1F,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAoBN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B;AAID,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAG9F"}
@@ -1,11 +1,18 @@
1
- import { WebSocket } from 'ws';
2
1
  import { execFile } from 'node:child_process';
3
2
  import { randomBytes } from 'node:crypto';
4
3
  import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
5
4
  import { homedir } from 'node:os';
6
5
  import { join } from 'node:path';
7
- import { WalletRelay } from 'web3-wallet-relay';
6
+ import { LOCAL_PORT_ATTEMPTS, WalletRelay } from 'web3-wallet-relay';
7
+ import { WebSocket } from 'ws';
8
8
  const REQUEST_TIMEOUT = 300_000;
9
+ /** Serving over HTTP means no desktop here: never try to open a browser, and never
10
+ * hand out a loopback URL as the place to open the signing page. */
11
+ const HOSTED = Boolean(process.env.MCP_HTTP_PORT);
12
+ function pairingUrlFor(port, token) {
13
+ const base = HOSTED ? (process.env.MCP_PUBLIC_URL ?? `http://localhost:${port}`) : `http://127.0.0.1:${port}`;
14
+ return `${base.replace(/\/$/, '')}/#t=${token}`;
15
+ }
9
16
  const SIGNER_WAIT_TIMEOUT = 30_000;
10
17
  const CONNECT_ATTEMPTS = 8;
11
18
  const MAX_CONNECT_BACKOFF = 15_000;
@@ -28,12 +35,13 @@ function browserApp(userAgent) {
28
35
  }
29
36
  // Every MCP process on this machine looks for a relay here before starting one, so all
30
37
  // sessions end up sharing a single wallet page instead of each opening its own tab.
31
- const LOCAL_PORTS = [3456, 3457, 3458, 3459, 3460];
38
+ // Kept in step with the relay: it walks the same span when 3456 is taken.
39
+ const LOCAL_PORTS = Array.from({ length: LOCAL_PORT_ATTEMPTS }, (_, i) => 3456 + i);
32
40
  /**
33
41
  * Token shared by every local session, so a process can join a relay another one owns.
34
42
  * Stored 0600 because holding it is enough to push transactions at the signer.
35
43
  */
36
- function localToken() {
44
+ export function localToken() {
37
45
  const dir = join(process.env.XDG_CONFIG_HOME ?? join(homedir(), '.config'), 'web3-tools-mcp');
38
46
  const file = join(dir, 'relay-token');
39
47
  try {
@@ -135,7 +143,7 @@ export class WalletClient {
135
143
  for (const port of ports) {
136
144
  try {
137
145
  await this.openSocket(`ws://127.0.0.1:${port}`, token);
138
- this.pairingUrl = `http://127.0.0.1:${port}/#t=${token}`;
146
+ this.pairingUrl = pairingUrlFor(port, token);
139
147
  return;
140
148
  }
141
149
  catch {
@@ -236,8 +244,14 @@ export class WalletClient {
236
244
  // about the request over its own socket and raises itself (tab title + desktop
237
245
  // notification); asking the OS to open a URL cannot reliably focus an existing tab —
238
246
  // Chrome opens another one — and every attempt to do so left a stray tab behind.
239
- if (!this.isRemote && this.pages === 0)
247
+ if (this.pages === 0) {
248
+ // Nothing to open a page with and nobody already watching one: waiting out the
249
+ // timeout would just stall the caller in front of a screen that does not exist.
250
+ if (!this.canOpenBrowser) {
251
+ throw new Error(`No wallet page is open. Open ${this.getUrl()}, connect your wallet, then try again.`);
252
+ }
240
253
  this.openBrowser();
254
+ }
241
255
  const deadline = Date.now() + this.signerWaitTimeout;
242
256
  while (this.signers === 0 && Date.now() < deadline) {
243
257
  await new Promise((resolve) => setTimeout(resolve, 250));
@@ -282,8 +296,12 @@ export class WalletClient {
282
296
  return `${this.remoteUrl}#t=${this.remoteToken ?? ''}`;
283
297
  return `http://127.0.0.1:${LOCAL_PORTS[0]}/#t=${this.relayOptions.token ?? localToken()}`;
284
298
  }
299
+ /** A relay we do not own, or a server with no desktop, has no browser for us to open. */
300
+ get canOpenBrowser() {
301
+ return !this.isRemote && !HOSTED;
302
+ }
285
303
  openBrowser() {
286
- if (this.isRemote)
304
+ if (!this.canOpenBrowser)
287
305
  return;
288
306
  this.lastOpenedAt = Date.now();
289
307
  this.open(this.getUrl(), (url) => console.error(`[Wallet] Could not open a browser — visit ${url}`));
@@ -349,9 +367,9 @@ export class WalletClient {
349
367
  }
350
368
  }
351
369
  let client = null;
352
- export function getWalletClient() {
370
+ export function getWalletClient(relayOptions) {
353
371
  if (!client)
354
- client = new WalletClient();
372
+ client = new WalletClient(relayOptions);
355
373
  return client;
356
374
  }
357
375
  //# sourceMappingURL=wallet-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-client.js","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-client.js","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export declare class PhoneSigner {
10
10
  private client;
11
11
  private starting;
12
12
  private pairing;
13
+ /** Label shown in the wallet; whoever is driving this server says who they are. */
14
+ private agent;
13
15
  constructor(projectId: string);
14
16
  private start;
15
17
  /** The most recent still-valid session, if the phone is already paired. */
@@ -20,11 +22,30 @@ export declare class PhoneSigner {
20
22
  * background — a tool result only reaches the user once it returns, so blocking here
21
23
  * would hide the QR they are supposed to scan.
22
24
  */
23
- pair(chains: ChainName[]): Promise<string>;
25
+ pair(chains: ChainName[], agent?: string): Promise<string>;
24
26
  /** Send a request to the paired wallet. Throws if the chain is outside the session. */
25
27
  request(chain: ChainName, method: string, params: unknown[]): Promise<unknown>;
28
+ /** Every live session, not just the one that would be used for signing. */
29
+ sessions(): Promise<Session[]>;
30
+ /**
31
+ * Disconnect everything: sessions, and the pairings underneath them. Each pairing
32
+ * attempt leaves one behind whether or not a wallet ever approved it, so they
33
+ * accumulate quietly in the store.
34
+ */
35
+ disconnectAll(): Promise<{
36
+ sessions: number;
37
+ pairings: number;
38
+ }>;
26
39
  unpair(): Promise<void>;
27
40
  }
41
+ /**
42
+ * Links that open a wallet straight onto this pairing, for when the agent is running on
43
+ * the phone itself and there is no second screen to scan from.
44
+ *
45
+ * Native schemes are preferred over universal links: chat apps are documented to mishandle
46
+ * the latter, opening the wallet with no prompt or diverting to an app store.
47
+ */
48
+ export declare function pairingLinks(projectId: string, uri: string, search?: string): Promise<Record<string, string>>;
28
49
  /** Configured only when a WalletConnect project id is present. */
29
50
  export declare function getPhoneSigner(): PhoneSigner | null;
30
51
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"walletconnect.d.ts","sourceRoot":"","sources":["../src/walletconnect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAiB3C,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAYD,qBAAa,WAAW;IAKV,OAAO,CAAC,SAAS;IAJ7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAAgD;gBAE3C,SAAS,EAAE,MAAM;YAEvB,KAAK;IA0BnB,2EAA2E;IACrE,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAiBvC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC;;;;OAIG;IACG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBhD,uFAAuF;IACjF,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB9E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9B;AAID,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAKnD"}
1
+ {"version":3,"file":"walletconnect.d.ts","sourceRoot":"","sources":["../src/walletconnect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAiB3C,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAsBD,qBAAa,WAAW;IAOV,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAAgD;IAC/D,mFAAmF;IACnF,OAAO,CAAC,KAAK,CAAoB;gBAEb,SAAS,EAAE,MAAM;YAEvB,KAAK;IA8BnB,2EAA2E;IACrE,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAiBvC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC;;;;OAIG;IACG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BhE,uFAAuF;IACjF,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBpF,2EAA2E;IACrE,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAUpC;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B;AAiCD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcnH;AAID,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAKnD"}
@@ -11,6 +11,17 @@ async function importSignClient() {
11
11
  const METHODS = ['eth_sendTransaction', 'personal_sign', 'eth_signTypedData_v4'];
12
12
  const EVENTS = ['chainChanged', 'accountsChanged'];
13
13
  const APPROVAL_TIMEOUT = 300_000;
14
+ /**
15
+ * Where this server lives, as shown to the wallet. A hosted server knows its public URL;
16
+ * a local one is only reachable from the machine it runs on, and says so.
17
+ */
18
+ function serverUrl() {
19
+ if (process.env.MCP_PUBLIC_URL)
20
+ return process.env.MCP_PUBLIC_URL.replace(/\/$/, '');
21
+ if (process.env.MCP_HTTP_PORT)
22
+ return `http://localhost:${process.env.MCP_HTTP_PORT}`;
23
+ return 'http://localhost';
24
+ }
14
25
  function storePath() {
15
26
  const dir = join(process.env.XDG_CONFIG_HOME ?? join(homedir(), '.config'), 'web3-tools-mcp');
16
27
  mkdirSync(dir, { recursive: true, mode: 0o700 });
@@ -21,6 +32,8 @@ export class PhoneSigner {
21
32
  client;
22
33
  starting;
23
34
  pairing;
35
+ /** Label shown in the wallet; whoever is driving this server says who they are. */
36
+ agent;
24
37
  constructor(projectId) {
25
38
  this.projectId = projectId;
26
39
  }
@@ -37,10 +50,14 @@ export class PhoneSigner {
37
50
  this.client = (await SignClient.init({
38
51
  projectId: this.projectId,
39
52
  ...(storage ? { storage } : { storageOptions: { database: storePath() } }),
53
+ // What the wallet shows when asking you to approve. Approving does not connect a
54
+ // website — it lets an agent request signatures for as long as the session lives,
55
+ // so the dialog says that. The name is self-reported and proves nothing; the URL
56
+ // is what distinguishes this server from any other.
40
57
  metadata: {
41
- name: 'web3-tools-mcp',
42
- description: 'Blockchain tools for AI agents',
43
- url: 'https://github.com/hajnalben/web3-tools-mcp',
58
+ name: this.agent ? `${this.agent} via web3-tools-mcp` : 'web3-tools-mcp (AI agent)',
59
+ description: 'An AI agent uses this server to request transactions. You approve each one here.',
60
+ url: serverUrl(),
44
61
  icons: []
45
62
  }
46
63
  }));
@@ -74,7 +91,14 @@ export class PhoneSigner {
74
91
  * background — a tool result only reaches the user once it returns, so blocking here
75
92
  * would hide the QR they are supposed to scan.
76
93
  */
77
- async pair(chains) {
94
+ async pair(chains, agent) {
95
+ // Metadata is fixed when the client starts, so a new label needs a new client. Only
96
+ // safe while nothing is connected — an existing session owns the old client.
97
+ if (agent && agent !== this.agent && this.client && this.client.session.getAll().length === 0) {
98
+ this.client = undefined;
99
+ }
100
+ if (agent)
101
+ this.agent = agent;
78
102
  await this.start();
79
103
  if (!this.client)
80
104
  throw new Error('WalletConnect failed to start');
@@ -108,12 +132,81 @@ export class PhoneSigner {
108
132
  request: { method, params }
109
133
  });
110
134
  }
135
+ /** Every live session, not just the one that would be used for signing. */
136
+ async sessions() {
137
+ await this.start();
138
+ return (this.client?.session.getAll() ?? []).map((session) => ({
139
+ topic: session.topic,
140
+ accounts: [...new Set((session.namespaces.eip155?.accounts ?? []).map((a) => a.split(':')[2]))],
141
+ chains: [...new Set((session.namespaces.eip155?.accounts ?? []).map((a) => Number(a.split(':')[1])))],
142
+ peer: session.peer?.metadata?.name
143
+ }));
144
+ }
145
+ /**
146
+ * Disconnect everything: sessions, and the pairings underneath them. Each pairing
147
+ * attempt leaves one behind whether or not a wallet ever approved it, so they
148
+ * accumulate quietly in the store.
149
+ */
150
+ async disconnectAll() {
151
+ await this.start();
152
+ if (!this.client)
153
+ return { sessions: 0, pairings: 0 };
154
+ const sessions = this.client.session.getAll();
155
+ for (const session of sessions) {
156
+ await this.client
157
+ .disconnect({ topic: session.topic, reason: { code: 6000, message: 'User disconnected' } })
158
+ .catch((error) => console.error('[WalletConnect] Could not disconnect a session:', error.message));
159
+ }
160
+ const pairings = this.client.core.pairing.getPairings();
161
+ for (const pairing of pairings) {
162
+ await this.client.core.pairing
163
+ .disconnect({ topic: pairing.topic })
164
+ .catch((error) => console.error('[WalletConnect] Could not drop a pairing:', error.message));
165
+ }
166
+ return { sessions: sessions.length, pairings: pairings.length };
167
+ }
111
168
  async unpair() {
112
- const session = await this.session();
113
- if (!session || !this.client)
114
- return;
115
- await this.client.disconnect({ topic: session.topic, reason: { code: 6000, message: 'User disconnected' } });
169
+ await this.disconnectAll();
170
+ }
171
+ }
172
+ let wallets;
173
+ /**
174
+ * Wallets from WalletConnect's registry, so the links we hand out are the schemes each
175
+ * wallet actually registered rather than ones we invented. Fetched once per process; a
176
+ * failure is not fatal, it just means no ready-made links.
177
+ */
178
+ async function walletRegistry(projectId) {
179
+ if (wallets)
180
+ return wallets;
181
+ try {
182
+ const response = await fetch(`https://explorer-api.walletconnect.com/v3/wallets?projectId=${projectId}&entries=100&page=1`);
183
+ const listings = (await response.json()).listings ?? {};
184
+ wallets = Object.values(listings)
185
+ .map(({ name, mobile }) => ({ name, native: mobile?.native || undefined, universal: mobile?.universal || undefined }))
186
+ .filter((wallet) => wallet.native || wallet.universal);
116
187
  }
188
+ catch {
189
+ wallets = [];
190
+ }
191
+ return wallets;
192
+ }
193
+ /**
194
+ * Links that open a wallet straight onto this pairing, for when the agent is running on
195
+ * the phone itself and there is no second screen to scan from.
196
+ *
197
+ * Native schemes are preferred over universal links: chat apps are documented to mishandle
198
+ * the latter, opening the wallet with no prompt or diverting to an app store.
199
+ */
200
+ export async function pairingLinks(projectId, uri, search) {
201
+ const registry = await walletRegistry(projectId);
202
+ const encoded = encodeURIComponent(uri);
203
+ const matches = search
204
+ ? registry.filter((wallet) => wallet.name.toLowerCase().includes(search.toLowerCase()))
205
+ : registry.slice(0, 12);
206
+ return Object.fromEntries(matches.map((wallet) => {
207
+ const base = wallet.native ?? `${wallet.universal?.replace(/\/$/, '')}/`;
208
+ return [wallet.name, `${base}wc?uri=${encoded}`];
209
+ }));
117
210
  }
118
211
  let signer = null;
119
212
  /** Configured only when a WalletConnect project id is present. */
@@ -1 +1 @@
1
- {"version":3,"file":"walletconnect.js","sourceRoot":"","sources":["../src/walletconnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletconnect.js","sourceRoot":"","sources":["../src/walletconnect.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "web3-tools-mcp",
3
- "version": "1.6.0",
4
- "description": "Model Context Protocol server for blockchain interactions using viem, Etherscan, and Hypersync",
3
+ "version": "2.0.0",
4
+ "description": "Model Context Protocol server for blockchain data and transaction signing — sign in a browser wallet or on your phone, with simulation and ERC-7730 clear signing before you approve",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -11,6 +11,7 @@
11
11
  "files": [
12
12
  "dist",
13
13
  "README.md",
14
+ "CHANGELOG.md",
14
15
  "LICENSE",
15
16
  "src"
16
17
  ],
@@ -19,15 +20,15 @@
19
20
  },
20
21
  "scripts": {
21
22
  "clean": "rm -rf dist",
22
- "build": "npm run clean && npm run build -w web3-wallet-relay && tsc && cp src/erc7730-index.json.gz dist/",
23
+ "build": "npm run clean && tsc && cp src/erc7730-index.json.gz dist/",
23
24
  "watch": "tsc --watch",
24
- "start:wallet": "npm start -w web3-wallet-relay",
25
- "prepare": "npm run build",
25
+ "typecheck": "tsc -p tsconfig.test.json",
26
26
  "test": "vitest run",
27
27
  "test:watch": "vitest",
28
28
  "test:ui": "vitest --ui",
29
29
  "sync:registry": "node scripts/build-erc7730-index.mjs /tmp/erc7730/registry src/erc7730-index.json.gz",
30
- "start": "node dist/index.js"
30
+ "start": "node dist/index.js",
31
+ "prepack": "npm run build && cp ../README.md ../CHANGELOG.md ../LICENSE ."
31
32
  },
32
33
  "keywords": [
33
34
  "mcp",
@@ -38,13 +39,18 @@
38
39
  "ens",
39
40
  "ethereum-name-service",
40
41
  "model-context-protocol",
41
- "ai"
42
+ "ai",
43
+ "walletconnect",
44
+ "clear-signing",
45
+ "erc-7730",
46
+ "transaction-signing"
42
47
  ],
43
48
  "author": "Benjamin Hajnal <hajnalbenjamin@gmail.com>",
44
49
  "license": "MIT",
45
50
  "repository": {
46
51
  "type": "git",
47
- "url": "git+https://github.com/hajnalben/web3-tools-mcp.git"
52
+ "url": "git+https://github.com/hajnalben/web3-tools-mcp.git",
53
+ "directory": "mcp"
48
54
  },
49
55
  "bugs": {
50
56
  "url": "https://github.com/hajnalben/web3-tools-mcp/issues"
@@ -55,13 +61,15 @@
55
61
  "@modelcontextprotocol/sdk": "^1.20.1",
56
62
  "@shazow/whatsabi": "^0.29.0",
57
63
  "@walletconnect/sign-client": "^2.25.0",
64
+ "express": "^5.2.1",
58
65
  "qrcode-terminal": "^0.12.0",
59
66
  "viem": "^2.31.4",
60
- "web3-wallet-relay": "^1.1.0",
67
+ "web3-wallet-relay": "^1.2.0",
61
68
  "ws": "^8.18.0",
62
69
  "zod": "^3.25.76"
63
70
  },
64
71
  "devDependencies": {
72
+ "@types/express": "^5.0.6",
65
73
  "@types/node": "^20.19.23",
66
74
  "@types/qrcode-terminal": "^0.12.2",
67
75
  "@types/ws": "^8.5.13",
package/src/anvil.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { spawn, ChildProcess } from 'child_process'
1
+ import { type ChildProcess, spawn } from 'node:child_process'
2
2
  import { createPublicClient, http } from 'viem'
3
3
  import { mainnet } from 'viem/chains'
4
4
 
@@ -18,16 +18,16 @@ export interface AnvilConfig {
18
18
 
19
19
  // Check if anvil is installed
20
20
  export async function isAnvilInstalled(): Promise<boolean> {
21
- return new Promise(resolve => {
21
+ return new Promise((resolve) => {
22
22
  const proc = spawn('anvil', ['--version'], { shell: true })
23
- proc.on('close', code => resolve(code === 0))
23
+ proc.on('close', (code) => resolve(code === 0))
24
24
  proc.on('error', () => resolve(false))
25
25
  })
26
26
  }
27
27
 
28
28
  // Find an available port
29
29
  async function findAvailablePort(startPort: number = 8545): Promise<number> {
30
- const net = await import('net')
30
+ const net = await import('node:net')
31
31
  return new Promise((resolve, reject) => {
32
32
  const server = net.createServer()
33
33
  server.listen(startPort, () => {
@@ -40,7 +40,9 @@ async function findAvailablePort(startPort: number = 8545): Promise<number> {
40
40
  })
41
41
  server.on('error', () => {
42
42
  // Port in use, try next one
43
- findAvailablePort(startPort + 1).then(resolve).catch(reject)
43
+ findAvailablePort(startPort + 1)
44
+ .then(resolve)
45
+ .catch(reject)
44
46
  })
45
47
  })
46
48
  }
@@ -49,9 +51,7 @@ async function findAvailablePort(startPort: number = 8545): Promise<number> {
49
51
  export async function startAnvil(config: AnvilConfig): Promise<AnvilInstance> {
50
52
  const installed = await isAnvilInstalled()
51
53
  if (!installed) {
52
- throw new Error(
53
- 'Anvil is not installed. Please install Foundry: https://book.getfoundry.sh/getting-started/installation'
54
- )
54
+ throw new Error('Anvil is not installed. Please install Foundry: https://book.getfoundry.sh/getting-started/installation')
55
55
  }
56
56
 
57
57
  const port = config.port ?? (await findAvailablePort())
@@ -74,15 +74,15 @@ export async function startAnvil(config: AnvilConfig): Promise<AnvilInstance> {
74
74
  })
75
75
 
76
76
  let stderr = ''
77
- proc.stderr?.on('data', data => {
77
+ proc.stderr?.on('data', (data) => {
78
78
  stderr += data.toString()
79
79
  })
80
80
 
81
- proc.on('error', err => {
81
+ proc.on('error', (err) => {
82
82
  reject(new Error(`Failed to start Anvil: ${err.message}`))
83
83
  })
84
84
 
85
- proc.on('close', code => {
85
+ proc.on('close', (code) => {
86
86
  if (code !== 0 && code !== null) {
87
87
  reject(new Error(`Anvil exited with code ${code}: ${stderr}`))
88
88
  }
@@ -107,7 +107,7 @@ export async function startAnvil(config: AnvilConfig): Promise<AnvilInstance> {
107
107
  })
108
108
  if (response.ok) {
109
109
  // Add small delay to ensure all RPC methods are ready (including debug_*)
110
- await new Promise(r => setTimeout(r, 100))
110
+ await new Promise((r) => setTimeout(r, 100))
111
111
  const client = createPublicClient({
112
112
  chain: mainnet, // Chain is overridden by fork anyway
113
113
  transport: http(rpcUrl)
@@ -142,10 +142,7 @@ export function stopAnvil(instance: AnvilInstance): void {
142
142
  }
143
143
 
144
144
  // Helper to run a function with a temporary Anvil instance
145
- export async function withAnvil<T>(
146
- config: AnvilConfig,
147
- fn: (instance: AnvilInstance) => Promise<T>
148
- ): Promise<T> {
145
+ export async function withAnvil<T>(config: AnvilConfig, fn: (instance: AnvilInstance) => Promise<T>): Promise<T> {
149
146
  const instance = await startAnvil(config)
150
147
  try {
151
148
  return await fn(instance)
@@ -193,7 +190,7 @@ export async function traceTransactionWithAnvil(
193
190
  forkUrl: archiveUrl,
194
191
  forkBlockNumber: forkBlock
195
192
  },
196
- async instance => {
193
+ async (instance) => {
197
194
  // Use debug_traceCall to simulate and trace the transaction
198
195
  // Note: This replays the tx against the post-block state, which may differ slightly
199
196
  // from the original execution if state changed within the block
@@ -243,7 +240,7 @@ export async function simulateCallWithTrace(
243
240
  forkUrl,
244
241
  forkBlockNumber: blockNumber
245
242
  },
246
- async instance => {
243
+ async (instance) => {
247
244
  // First, try a regular call to get the result
248
245
  let result = '0x'
249
246
  let success = true