gate-mcp 0.9.3 → 0.9.4
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/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -2
- package/dist/client.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ApiClient } from 'gate-api';
|
|
2
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
3
|
+
export declare const toolContext: AsyncLocalStorage<string>;
|
|
2
4
|
export declare function createClient(): ApiClient;
|
|
3
5
|
export declare function isAuthenticated(): boolean;
|
|
4
6
|
export declare function requireAuth(): void;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOhD,eAAO,MAAM,WAAW,2BAAkC,CAAC;AAE3D,wBAAgB,YAAY,IAAI,SAAS,CAYxC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAMlC"}
|
package/dist/client.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { ApiClient } from 'gate-api';
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
3
4
|
const DEFAULT_BASE_URL = 'https://api.gateio.ws';
|
|
4
5
|
const _require = createRequire(import.meta.url);
|
|
5
6
|
const { version } = _require('../package.json');
|
|
6
|
-
const
|
|
7
|
+
const UA_BASE = `gate-local-mcp/${version}`;
|
|
8
|
+
export const toolContext = new AsyncLocalStorage();
|
|
7
9
|
export function createClient() {
|
|
8
10
|
const baseUrl = process.env.GATE_BASE_URL ?? DEFAULT_BASE_URL;
|
|
9
11
|
const client = new ApiClient(`${baseUrl}/api/v4`);
|
|
10
|
-
|
|
12
|
+
const toolName = toolContext.getStore();
|
|
13
|
+
const userAgent = toolName ? `${UA_BASE}/${toolName}` : UA_BASE;
|
|
14
|
+
client.defaultHeaders = { ...client.defaultHeaders, 'User-Agent': userAgent };
|
|
11
15
|
const key = process.env.GATE_API_KEY;
|
|
12
16
|
const secret = process.env.GATE_API_SECRET;
|
|
13
17
|
if (key && secret) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AACvE,MAAM,OAAO,GAAG,kBAAkB,OAAO,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAU,CAAC;AAE3D,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,MAAM,CAAC,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IAC9E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ stdioShared.ReadBuffer.prototype.readMessage = function () {
|
|
|
23
23
|
};
|
|
24
24
|
import { sanitizeToolName, isWriteTool } from './utils.js';
|
|
25
25
|
import { parseConfig } from './config.js';
|
|
26
|
+
import { toolContext } from './client.js';
|
|
26
27
|
import { registerSpotTools } from './tools/spot.js';
|
|
27
28
|
import { registerFuturesTools } from './tools/futures.js';
|
|
28
29
|
import { registerDeliveryTools } from './tools/delivery.js';
|
|
@@ -42,12 +43,15 @@ const server = new McpServer({
|
|
|
42
43
|
name: 'gate',
|
|
43
44
|
version: '0.1.0',
|
|
44
45
|
});
|
|
45
|
-
// Monkey-patch server.tool: apply name sanitization
|
|
46
|
+
// Monkey-patch server.tool: apply name sanitization, readonly filter, and tool-name UA injection
|
|
46
47
|
const _registerTool = server.tool.bind(server);
|
|
47
48
|
server.tool = (name, ...args) => {
|
|
48
49
|
const sanitized = sanitizeToolName(name);
|
|
49
50
|
if (config.readonly && isWriteTool(sanitized))
|
|
50
51
|
return;
|
|
52
|
+
// Wrap the handler (last arg) to run inside toolContext so createClient() picks up the tool name
|
|
53
|
+
const handler = args[args.length - 1];
|
|
54
|
+
args[args.length - 1] = (...hArgs) => toolContext.run(sanitized, () => handler(...hArgs));
|
|
51
55
|
_registerTool(sanitized, ...args);
|
|
52
56
|
};
|
|
53
57
|
const MODULE_REGISTRY = {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,4FAA4F;AAC5F,uFAAuF;AACvF,sEAAsE;AACtE,2EAA2E;AAC3E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AACjE,oFAAoF;AACpF,MAAM,WAAW,GAAG,QAAQ,CAAC,2CAA2C,CAAC,CAAC;AAC1E,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAChF,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG;IAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAChD,OAAO,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;AAE7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,4FAA4F;AAC5F,uFAAuF;AACvF,sEAAsE;AACtE,2EAA2E;AAC3E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AACjE,oFAAoF;AACpF,MAAM,WAAW,GAAG,QAAQ,CAAC,2CAA2C,CAAC,CAAC;AAC1E,MAAM,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAChF,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG;IAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAChD,OAAO,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;AAE7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,iGAAiG;AACjG,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAc,CAAC,IAAI,GAAG,CAAC,IAAY,EAAE,GAAG,IAAe,EAAE,EAAE;IAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,SAAS,CAAC;QAAE,OAAO;IACtD,iGAAiG;IACjG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAiC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACpG,aAA4D,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAoD;IACvE,IAAI,EAAS,iBAAiB;IAC9B,OAAO,EAAM,oBAAoB;IACjC,QAAQ,EAAK,qBAAqB;IAClC,MAAM,EAAO,mBAAmB;IAChC,MAAM,EAAO,mBAAmB;IAChC,OAAO,EAAM,oBAAoB;IACjC,OAAO,EAAM,oBAAoB;IACjC,IAAI,EAAS,iBAAiB;IAC9B,UAAU,EAAG,sBAAsB;IACnC,OAAO,EAAM,oBAAoB;IACjC,WAAW,EAAY,uBAAuB;IAC9C,GAAG,EAAoB,gBAAgB;IACvC,MAAM,EAAiB,mBAAmB;IAC1C,OAAO,EAAgB,oBAAoB;CAC5C,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAiB,CAAC,CAAC;AAE9F,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;IACjC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3E,OAAO,CAAC,KAAK,CAAC,uBAAuB,UAAU,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
package/package.json
CHANGED