@asif2bd/umami-mcp 0.1.6 → 0.1.7
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/server.d.ts +1 -1
- package/dist/server.js +15 -7
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/dist/server.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { UmamiClient } from './client.js';
|
|
|
3
3
|
import type { Config } from './config.js';
|
|
4
4
|
import { type ToolDef } from './tools/index.js';
|
|
5
5
|
export declare const SERVER_NAME = "umami-mcp";
|
|
6
|
-
export declare const SERVER_VERSION = "0.1.
|
|
6
|
+
export declare const SERVER_VERSION = "0.1.7";
|
|
7
7
|
export interface BuiltServer {
|
|
8
8
|
server: McpServer;
|
|
9
9
|
registered: ToolDef[];
|
package/dist/server.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
2
3
|
import { UmamiClient } from './client.js';
|
|
3
4
|
import { redactUnknown } from './redact.js';
|
|
4
5
|
import { allTools, isAllowed } from './tools/index.js';
|
|
5
6
|
export const SERVER_NAME = 'umami-mcp';
|
|
6
|
-
export const SERVER_VERSION = '0.1.
|
|
7
|
+
export const SERVER_VERSION = '0.1.7';
|
|
7
8
|
export function buildServer(config, client = new UmamiClient(config), opts = {}) {
|
|
8
9
|
const server = new McpServer({ name: SERVER_NAME, version: SERVER_VERSION });
|
|
9
10
|
const ctx = { client, config };
|
|
@@ -26,12 +27,6 @@ export function buildServer(config, client = new UmamiClient(config), opts = {})
|
|
|
26
27
|
openWorldHint: true,
|
|
27
28
|
},
|
|
28
29
|
}, async (args) => {
|
|
29
|
-
if (opts.unavailable) {
|
|
30
|
-
return {
|
|
31
|
-
isError: true,
|
|
32
|
-
content: [{ type: 'text', text: `${tool.name} failed: ${opts.unavailable}` }],
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
30
|
try {
|
|
36
31
|
const result = await tool.handler(ctx, args ?? {});
|
|
37
32
|
return {
|
|
@@ -48,6 +43,19 @@ export function buildServer(config, client = new UmamiClient(config), opts = {})
|
|
|
48
43
|
}
|
|
49
44
|
});
|
|
50
45
|
}
|
|
46
|
+
if (opts.unavailable) {
|
|
47
|
+
// Replace the SDK's tools/call handler outright. Its default validates the
|
|
48
|
+
// arguments before any tool callback runs, so a call with missing or
|
|
49
|
+
// malformed arguments would get an "invalid arguments" error instead of
|
|
50
|
+
// being told the server is not configured -- the one thing worth knowing.
|
|
51
|
+
const message = opts.unavailable;
|
|
52
|
+
const names = new Set(registered.map((t) => t.name));
|
|
53
|
+
server.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
54
|
+
const name = request.params.name;
|
|
55
|
+
const text = names.has(name) ? `${name} failed: ${message}` : `Tool ${name} not found`;
|
|
56
|
+
return { isError: true, content: [{ type: 'text', text }] };
|
|
57
|
+
});
|
|
58
|
+
}
|
|
51
59
|
return { server, registered, withheld };
|
|
52
60
|
}
|
|
53
61
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAkC,MAAM,kBAAkB,CAAC;AAEvF,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAmBtC,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,EAChC,OAAqB,EAAE;IAEvB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAE5C,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,CAAC,YAAY,CACjB,IAAI,CAAC,IAAI,EACT;YACE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;gBAClC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC1C,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;gBACpC,aAAa,EAAE,IAAI;aACpB;SACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED