tapimo 0.5.2 → 0.5.3

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.
@@ -29,8 +29,13 @@ export declare namespace schema {
29
29
  * the other route groups:
30
30
  *
31
31
  * ```ts
32
- * App.create(options).route('/', mcp({ fetch: (request) => getApp().fetch(request) }))
32
+ * const app = App.create(options)
33
+ * const fetch = app.fetch.bind(app)
34
+ * app.route('/', mcp({ fetch }))
33
35
  * ```
36
+ *
37
+ * Capture `fetch` before adding request-level wrappers, so nested calls stay
38
+ * within the outer request's instrumentation lifecycle.
34
39
  */
35
40
  export declare function mcp(options: mcp.Options): import("hono/hono-base").HonoBase<App.Environment, {
36
41
  "/mcp": {
@@ -58,8 +63,10 @@ export declare namespace mcp {
58
63
  docs?: Source | false | undefined;
59
64
  /** In-process fetch handler for the composed app (e.g. `(request) => app.fetch(request)`). */
60
65
  fetch: (request: Request) => Response | Promise<Response>;
61
- /** MCP server name. @default 'tapimo' */
66
+ /** MCP server name. @default 'tempo' */
62
67
  name?: string | undefined;
68
+ /** Human-readable MCP server title. @default 'Tempo MCP' */
69
+ title?: string | undefined;
63
70
  /** MCP server version. @default '0.0.0' */
64
71
  version?: string | undefined;
65
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/apps/mcp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAA;AAerC,mEAAmE;AACnE,yBAAiB,MAAM,CAAC;IACtB,mCAAmC;IAC5B,MAAM,EAAE,4FAEiF,CAAA;IAEhG,8BAA8B;IACvB,MAAM,KAAK;;;;qBAU0D,CAAA;IAE5E,qCAAqC;IAC9B,MAAM,QAAQ;;;;;;;;;qBAaoD,CAAA;CAC1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO;;;;;;;;;;;;;;;;;;gBA0HvC;AA8ED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,uCAAuC;IACvC,KAAK,OAAO,GAAG;QACb,2HAA2H;QAC3H,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;QACjC,8FAA8F;QAC9F,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzD,yCAAyC;QACzC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,2CAA2C;QAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;IAED,oDAAoD;IACpD,KAAK,MAAM,GACP,MAAM,GACN,GAAG,GACH;QACE,2EAA2E;QAC3E,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;QACxE,6CAA6C;QAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QAC5C,wCAAwC;QACxC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAClB,CAAA;CACN"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/apps/mcp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAA;AAerC,mEAAmE;AACnE,yBAAiB,MAAM,CAAC;IACtB,mCAAmC;IAC5B,MAAM,EAAE,4FAEiF,CAAA;IAEhG,8BAA8B;IACvB,MAAM,KAAK;;;;qBAU0D,CAAA;IAE5E,qCAAqC;IAC9B,MAAM,QAAQ;;;;;;;;;qBAaoD,CAAA;CAC1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO;;;;;;;;;;;;;;;;;;gBAgIvC;AA8ED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,uCAAuC;IACvC,KAAK,OAAO,GAAG;QACb,2HAA2H;QAC3H,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;QACjC,8FAA8F;QAC9F,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzD,wCAAwC;QACxC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,4DAA4D;QAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,2CAA2C;QAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;IAED,oDAAoD;IACpD,KAAK,MAAM,GACP,MAAM,GACN,GAAG,GACH;QACE,2EAA2E;QAC3E,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;QACxE,6CAA6C;QAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QAC5C,wCAAwC;QACxC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAClB,CAAA;CACN"}
package/dist/apps/mcp.js CHANGED
@@ -9,7 +9,7 @@ const tagGroup = 'Data API';
9
9
  /** Tags inside the group hidden from MCP: partner-shaped CoinGecko mirrors and the MCP endpoint itself. */
10
10
  const excludedTags = ['CoinGecko', 'MCP'];
11
11
  /** Usage guidance surfaced to MCP clients on initialize. */
12
- const instructions = "Tools mirror the Tempo API's data domain. Authenticated tools accept a Tempo API key sent as an `Authorization: Bearer` header on the HTTP request. List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.";
12
+ const instructions = "Tempo MCP provides access to the Tempo API's data domain and documentation. Authenticated tools accept a Tempo API key sent as an `Authorization: Bearer` header on the HTTP request. List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.";
13
13
  /** Zod schemas owned by the MCP endpoint's OpenAPI description. */
14
14
  export var schema;
15
15
  (function (schema) {
@@ -50,11 +50,16 @@ export var schema;
50
50
  * the other route groups:
51
51
  *
52
52
  * ```ts
53
- * App.create(options).route('/', mcp({ fetch: (request) => getApp().fetch(request) }))
53
+ * const app = App.create(options)
54
+ * const fetch = app.fetch.bind(app)
55
+ * app.route('/', mcp({ fetch }))
54
56
  * ```
57
+ *
58
+ * Capture `fetch` before adding request-level wrappers, so nested calls stay
59
+ * within the outer request's instrumentation lifecycle.
55
60
  */
56
61
  export function mcp(options) {
57
- const { docs = 'https://mcp.tempo.xyz/mcp', fetch, name = 'tapimo', version = '0.0.0' } = options;
62
+ const { docs = 'https://mcp.tempo.xyz/mcp', fetch, name = 'tempo', title = 'Tempo MCP', version = '0.0.0', } = options;
58
63
  // One incur instance per caller origin: the OpenAPI document is parsed once,
59
64
  // and generated commands rebase onto the origin so tool results embed real
60
65
  // absolute URLs (e.g. token asset URIs).
@@ -82,7 +87,7 @@ export function mcp(options) {
82
87
  const url = new URL(request.url);
83
88
  return fetch(new Request(new URL(url.pathname + url.search, origin), request));
84
89
  },
85
- mcp: { instructions },
90
+ mcp: { instructions, title },
86
91
  openapi: scope(document),
87
92
  // `compact` + `security: false` keep tool schemas lean: no examples,
88
93
  // oversized regexes, or per-tool credential inputs (auth rides the
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/apps/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/apps/mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../../src/cli/Cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAE7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAUzC;;;GAGG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,IAAI,CAAC,OAAY;;;;;;;;;;;;oCAuBjE;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,8DAA8D;IAC9D,KAAK,OAAO,GAAG;QACb,uBAAuB;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,8HAA8H;QAC9H,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;QACrC,gBAAgB;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,wEAAwE;QACxE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG,SAAS,CAAA;QAC3C,4EAA4E;QAC5E,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAA;QAC1C,4CAA4C;QAC5C,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAA;QAC/C,mBAAmB;QACnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF"}
1
+ {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../../src/cli/Cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAE7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAUzC;;;GAGG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,IAAI,CAAC,OAAY;;;;;;;;;;;;oCA4BjE;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,8DAA8D;IAC9D,KAAK,OAAO,GAAG;QACb,uBAAuB;QACvB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,8HAA8H;QAC9H,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;QACrC,gBAAgB;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,wEAAwE;QACxE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG,SAAS,CAAA;QAC3C,4EAA4E;QAC5E,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAA;QAC1C,4CAA4C;QAC5C,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAA;QAC/C,mBAAmB;QACnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF"}
package/dist/cli/Cli.js CHANGED
@@ -3,7 +3,7 @@ import * as Admin from './commands/admin.js';
3
3
  /** Tool patterns hidden from MCP clients: super admin, partner-shaped gecko mirrors, browser session flows. */
4
4
  const excludedTools = ['admin_*', 'gecko_*', 'v1_auth_*'];
5
5
  /** Usage guidance surfaced to MCP clients on initialize (`<cli> --mcp`). */
6
- const instructions = 'Tools mirror the hosted Tempo API. Authenticated tools accept an `authorization` input (`Bearer <api key>`). List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.';
6
+ const instructions = 'Tempo MCP provides access to the hosted Tempo API and documentation. Authenticated tools accept an `authorization` input (`Bearer <api key>`). List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.';
7
7
  /**
8
8
  * Creates an incur CLI backed by a hosted Tempo API, plus the super admin
9
9
  * commands (`<cli> admin …`) and the remote Tempo docs tools (`<cli> docs …`).
@@ -14,7 +14,12 @@ export function from(url, options = {}) {
14
14
  .create(name, {
15
15
  description,
16
16
  fetch: Fetch.fromRequest(url, request),
17
- mcp: { instructions, tools: { exclude: excludedTools } },
17
+ mcp: {
18
+ instructions,
19
+ name: 'tempo',
20
+ title: 'Tempo MCP',
21
+ tools: { exclude: excludedTools },
22
+ },
18
23
  openapi,
19
24
  openapiConfig: options.openapiConfig ?? { mode: 'namespace' },
20
25
  version,
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../../src/cli/Cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAG7D,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,+GAA+G;AAC/G,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAEzD,4EAA4E;AAC5E,MAAM,YAAY,GAChB,gNAAgN,CAAA;AAElN;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,GAAiB,EAAE,OAAO,GAAiB,EAAE;IAChE,MAAM,EACJ,WAAW,GAAG,eAAe,EAC7B,IAAI,GAAG,2BAA2B,EAClC,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,cAAc,EACxB,OAAO,EACP,OAAO,GAAG,OAAO,GAClB,GAAG,OAAO,CAAA;IAEX,MAAM,GAAG,GAAG,SAAS;SAClB,MAAM,CAAC,IAAI,EAAE;QACZ,WAAW;QACX,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;QACtC,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;QACxD,OAAO;QACP,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;QAC7D,OAAO;KACR,CAAC;SACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACvB,IAAI,IAAI,KAAK,KAAK;QAChB,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IACpF,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../../src/cli/Cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAG7D,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,+GAA+G;AAC/G,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAEzD,4EAA4E;AAC5E,MAAM,YAAY,GAChB,kPAAkP,CAAA;AAEpP;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,GAAiB,EAAE,OAAO,GAAiB,EAAE;IAChE,MAAM,EACJ,WAAW,GAAG,eAAe,EAC7B,IAAI,GAAG,2BAA2B,EAClC,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,cAAc,EACxB,OAAO,EACP,OAAO,GAAG,OAAO,GAClB,GAAG,OAAO,CAAA;IAEX,MAAM,GAAG,GAAG,SAAS;SAClB,MAAM,CAAC,IAAI,EAAE;QACZ,WAAW;QACX,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;QACtC,GAAG,EAAE;YACH,YAAY;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;SAClC;QACD,OAAO;QACP,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;QAC7D,OAAO;KACR,CAAC;SACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACvB,IAAI,IAAI,KAAK,KAAK;QAChB,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IACpF,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tapimo",
3
3
  "type": "module",
4
- "version": "0.5.2",
4
+ "version": "0.5.3",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -18,7 +18,7 @@
18
18
  "accounts": "^0.15.1",
19
19
  "hono": "^4.12.26",
20
20
  "hono-openapi": "^1.3.0",
21
- "incur": "^0.4.15",
21
+ "incur": "^0.4.19",
22
22
  "jose": "^6.2.3",
23
23
  "kysely": "^0.29.2",
24
24
  "mppx": "0.8.9",
@@ -136,6 +136,19 @@ function resultJson(result: Awaited<ReturnType<typeof toolsCall>>) {
136
136
  return result.structuredContent ?? JSON.parse(result.content[0]!.text)
137
137
  }
138
138
 
139
+ test('identifies as Tempo MCP', async () => {
140
+ const { host } = createHost()
141
+
142
+ expect((await initialize(host)).result).toMatchObject({
143
+ instructions: expect.stringContaining('Tempo MCP provides access'),
144
+ serverInfo: {
145
+ name: 'tempo',
146
+ title: 'Tempo MCP',
147
+ version: '0.0.0',
148
+ },
149
+ })
150
+ })
151
+
139
152
  test('scopes tools to the data domain', async () => {
140
153
  const { app, host } = createHost({ docs: docsStub() })
141
154
 
package/src/apps/mcp.ts CHANGED
@@ -15,7 +15,7 @@ const excludedTags = ['CoinGecko', 'MCP']
15
15
 
16
16
  /** Usage guidance surfaced to MCP clients on initialize. */
17
17
  const instructions =
18
- "Tools mirror the Tempo API's data domain. Authenticated tools accept a Tempo API key sent as an `Authorization: Bearer` header on the HTTP request. List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation."
18
+ "Tempo MCP provides access to the Tempo API's data domain and documentation. Authenticated tools accept a Tempo API key sent as an `Authorization: Bearer` header on the HTTP request. List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation."
19
19
 
20
20
  /** Zod schemas owned by the MCP endpoint's OpenAPI description. */
21
21
  export namespace schema {
@@ -61,11 +61,22 @@ export namespace schema {
61
61
  * the other route groups:
62
62
  *
63
63
  * ```ts
64
- * App.create(options).route('/', mcp({ fetch: (request) => getApp().fetch(request) }))
64
+ * const app = App.create(options)
65
+ * const fetch = app.fetch.bind(app)
66
+ * app.route('/', mcp({ fetch }))
65
67
  * ```
68
+ *
69
+ * Capture `fetch` before adding request-level wrappers, so nested calls stay
70
+ * within the outer request's instrumentation lifecycle.
66
71
  */
67
72
  export function mcp(options: mcp.Options) {
68
- const { docs = 'https://mcp.tempo.xyz/mcp', fetch, name = 'tapimo', version = '0.0.0' } = options
73
+ const {
74
+ docs = 'https://mcp.tempo.xyz/mcp',
75
+ fetch,
76
+ name = 'tempo',
77
+ title = 'Tempo MCP',
78
+ version = '0.0.0',
79
+ } = options
69
80
 
70
81
  // One incur instance per caller origin: the OpenAPI document is parsed once,
71
82
  // and generated commands rebase onto the origin so tool results embed real
@@ -95,7 +106,7 @@ export function mcp(options: mcp.Options) {
95
106
  const url = new URL(request.url)
96
107
  return fetch(new Request(new URL(url.pathname + url.search, origin), request))
97
108
  },
98
- mcp: { instructions },
109
+ mcp: { instructions, title },
99
110
  openapi: scope(document),
100
111
  // `compact` + `security: false` keep tool schemas lean: no examples,
101
112
  // oversized regexes, or per-tool credential inputs (auth rides the
@@ -271,8 +282,10 @@ export declare namespace mcp {
271
282
  docs?: Source | false | undefined
272
283
  /** In-process fetch handler for the composed app (e.g. `(request) => app.fetch(request)`). */
273
284
  fetch: (request: Request) => Response | Promise<Response>
274
- /** MCP server name. @default 'tapimo' */
285
+ /** MCP server name. @default 'tempo' */
275
286
  name?: string | undefined
287
+ /** Human-readable MCP server title. @default 'Tempo MCP' */
288
+ title?: string | undefined
276
289
  /** MCP server version. @default '0.0.0' */
277
290
  version?: string | undefined
278
291
  }
@@ -16,6 +16,14 @@ describe('from', () => {
16
16
 
17
17
  expect(cli.name).toMatchInlineSnapshot(`"tapimo"`)
18
18
  expect(cli.description).toMatchInlineSnapshot(`"Tempo API CLI"`)
19
+ expect((await initialize(cli)).result).toMatchObject({
20
+ instructions: expect.stringContaining('Tempo MCP provides access'),
21
+ serverInfo: {
22
+ name: 'tempo',
23
+ title: 'Tempo MCP',
24
+ version: '1.2.3',
25
+ },
26
+ })
19
27
  } finally {
20
28
  fetch.mockRestore()
21
29
  }
@@ -91,6 +99,34 @@ function mockHostedApi(app = TestApp.create()) {
91
99
  })
92
100
  }
93
101
 
102
+ async function initialize(cli: ReturnType<typeof Cli.from>) {
103
+ const response = await cli.fetch(
104
+ new Request('http://localhost/mcp', {
105
+ body: JSON.stringify({
106
+ id: 1,
107
+ jsonrpc: '2.0',
108
+ method: 'initialize',
109
+ params: {
110
+ capabilities: {},
111
+ clientInfo: { name: 'test-client', version: '1.0.0' },
112
+ protocolVersion: '2025-03-26',
113
+ },
114
+ }),
115
+ headers: {
116
+ accept: 'application/json, text/event-stream',
117
+ 'content-type': 'application/json',
118
+ },
119
+ method: 'POST',
120
+ }),
121
+ )
122
+ return (await response.json()) as {
123
+ result: {
124
+ instructions: string
125
+ serverInfo: { name: string; title: string; version: string }
126
+ }
127
+ }
128
+ }
129
+
94
130
  async function serve(cli: ReturnType<typeof Cli.from>, argv: string[]) {
95
131
  const output: string[] = []
96
132
  await cli.serve(argv, {
package/src/cli/Cli.ts CHANGED
@@ -8,7 +8,7 @@ const excludedTools = ['admin_*', 'gecko_*', 'v1_auth_*']
8
8
 
9
9
  /** Usage guidance surfaced to MCP clients on initialize (`<cli> --mcp`). */
10
10
  const instructions =
11
- 'Tools mirror the hosted Tempo API. Authenticated tools accept an `authorization` input (`Bearer <api key>`). List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.'
11
+ 'Tempo MCP provides access to the hosted Tempo API and documentation. Authenticated tools accept an `authorization` input (`Bearer <api key>`). List endpoints paginate via `cursor`/`nextCursor`. `docs_*` tools search the Tempo documentation.'
12
12
 
13
13
  /**
14
14
  * Creates an incur CLI backed by a hosted Tempo API, plus the super admin
@@ -28,7 +28,12 @@ export function from(url: string | URL, options: from.Options = {}) {
28
28
  .create(name, {
29
29
  description,
30
30
  fetch: Fetch.fromRequest(url, request),
31
- mcp: { instructions, tools: { exclude: excludedTools } },
31
+ mcp: {
32
+ instructions,
33
+ name: 'tempo',
34
+ title: 'Tempo MCP',
35
+ tools: { exclude: excludedTools },
36
+ },
32
37
  openapi,
33
38
  openapiConfig: options.openapiConfig ?? { mode: 'namespace' },
34
39
  version,