@cyanheads/cyanheads-mcp-server 0.4.2 → 0.4.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.
Files changed (35) hide show
  1. package/AGENTS.md +14 -13
  2. package/CLAUDE.md +14 -13
  3. package/Dockerfile +41 -29
  4. package/README.md +40 -22
  5. package/changelog/0.4.x/0.4.3.md +34 -0
  6. package/changelog/0.4.x/0.4.4.md +36 -0
  7. package/dist/index.js +3 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/mcp-server/tools/definitions/describe-entry.tool.d.ts +34 -2
  10. package/dist/mcp-server/tools/definitions/describe-entry.tool.d.ts.map +1 -1
  11. package/dist/mcp-server/tools/definitions/describe-entry.tool.js +151 -106
  12. package/dist/mcp-server/tools/definitions/describe-entry.tool.js.map +1 -1
  13. package/dist/mcp-server/tools/definitions/search-catalog.tool.d.ts +14 -0
  14. package/dist/mcp-server/tools/definitions/search-catalog.tool.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/definitions/search-catalog.tool.js +103 -23
  16. package/dist/mcp-server/tools/definitions/search-catalog.tool.js.map +1 -1
  17. package/dist/services/catalog/catalog-service.d.ts +12 -9
  18. package/dist/services/catalog/catalog-service.d.ts.map +1 -1
  19. package/dist/services/catalog/catalog-service.js +98 -25
  20. package/dist/services/catalog/catalog-service.js.map +1 -1
  21. package/dist/services/catalog/remote-catalog-provider.d.ts +2 -2
  22. package/dist/services/catalog/remote-catalog-provider.d.ts.map +1 -1
  23. package/dist/services/catalog/remote-catalog-provider.js +34 -5
  24. package/dist/services/catalog/remote-catalog-provider.js.map +1 -1
  25. package/dist/services/catalog/self-record.js +5 -5
  26. package/dist/services/catalog/snippets.d.ts.map +1 -1
  27. package/dist/services/catalog/snippets.js +50 -18
  28. package/dist/services/catalog/snippets.js.map +1 -1
  29. package/dist/services/catalog/types.d.ts +29 -14
  30. package/dist/services/catalog/types.d.ts.map +1 -1
  31. package/dist/services/catalog/types.js +12 -3
  32. package/dist/services/catalog/types.js.map +1 -1
  33. package/manifest.json +1 -1
  34. package/package.json +15 -14
  35. package/server.json +11 -13
@@ -9,12 +9,14 @@ import { z } from '@cyanheads/mcp-ts-core';
9
9
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
10
10
  export declare const describeEntryTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
11
11
  name: z.ZodString;
12
+ server: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
12
13
  kind: z.ZodOptional<z.ZodEnum<{
13
14
  server: "server";
14
15
  tool: "tool";
15
16
  }>>;
16
17
  client: z.ZodOptional<z.ZodEnum<{
17
18
  "claude-code": "claude-code";
19
+ cline: "cline";
18
20
  codex: "codex";
19
21
  curl: "curl";
20
22
  cursor: "cursor";
@@ -27,6 +29,29 @@ export declare const describeEntryTool: import("@cyanheads/mcp-ts-core").ToolDef
27
29
  name: z.ZodString;
28
30
  description: z.ZodString;
29
31
  server: z.ZodString;
32
+ npm: z.ZodString;
33
+ github: z.ZodString;
34
+ endpoint: z.ZodOptional<z.ZodString>;
35
+ auth: z.ZodString;
36
+ requiredEnvVars: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ installNotice: z.ZodOptional<z.ZodString>;
38
+ installSnippets: z.ZodArray<z.ZodObject<{
39
+ client: z.ZodEnum<{
40
+ "claude-code": "claude-code";
41
+ cline: "cline";
42
+ codex: "codex";
43
+ curl: "curl";
44
+ cursor: "cursor";
45
+ gemini: "gemini";
46
+ "streamable-http": "streamable-http";
47
+ }>;
48
+ transport: z.ZodEnum<{
49
+ http: "http";
50
+ stdio: "stdio";
51
+ }>;
52
+ label: z.ZodString;
53
+ payload: z.ZodString;
54
+ }, z.core.$strip>>;
30
55
  }, z.core.$strip>, z.ZodObject<{
31
56
  kind: z.ZodLiteral<"server">;
32
57
  name: z.ZodString;
@@ -38,6 +63,7 @@ export declare const describeEntryTool: import("@cyanheads/mcp-ts-core").ToolDef
38
63
  endpoint: z.ZodOptional<z.ZodString>;
39
64
  auth: z.ZodString;
40
65
  requiredEnvVars: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ installNotice: z.ZodOptional<z.ZodString>;
41
67
  toolCount: z.ZodNumber;
42
68
  tools: z.ZodArray<z.ZodObject<{
43
69
  name: z.ZodString;
@@ -46,6 +72,7 @@ export declare const describeEntryTool: import("@cyanheads/mcp-ts-core").ToolDef
46
72
  installSnippets: z.ZodArray<z.ZodObject<{
47
73
  client: z.ZodEnum<{
48
74
  "claude-code": "claude-code";
75
+ cline: "cline";
49
76
  codex: "codex";
50
77
  curl: "curl";
51
78
  cursor: "cursor";
@@ -63,13 +90,18 @@ export declare const describeEntryTool: import("@cyanheads/mcp-ts-core").ToolDef
63
90
  }, z.core.$strip>, readonly [{
64
91
  readonly reason: "not_found";
65
92
  readonly code: JsonRpcErrorCode.NotFound;
66
- readonly when: "No tool or server with the given name exists in the catalog.";
67
- readonly recovery: "Use cyanheads_search_catalog to find the correct name, then call cyanheads_describe_entry again.";
93
+ readonly when: "No tool or server with the given name, under the given server when set, exists in the catalog.";
94
+ readonly recovery: "Use cyanheads_search_catalog to find the correct name and owning server, then call cyanheads_describe_entry again.";
68
95
  }, {
69
96
  readonly reason: "ambiguous_kind";
70
97
  readonly code: JsonRpcErrorCode.ValidationError;
71
98
  readonly when: "Name matches both a tool and a server (collision in catalog).";
72
99
  readonly recovery: "Set the kind parameter to \"tool\" or \"server\" to disambiguate.";
100
+ }, {
101
+ readonly reason: "ambiguous_owner";
102
+ readonly code: JsonRpcErrorCode.ValidationError;
103
+ readonly when: "The tool name has more than one owning server and server is not set.";
104
+ readonly recovery: "Set server to the owning server you want, one of the owners the error lists — the server value cyanheads_search_catalog returned with this tool.";
73
105
  }, {
74
106
  readonly reason: "catalog_empty";
75
107
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
@@ -1 +1 @@
1
- {"version":3,"file":"describe-entry.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe-entry.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAYjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoS5B,CAAC"}
1
+ {"version":3,"file":"describe-entry.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe-entry.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAcjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6V5B,CAAC"}
@@ -7,8 +7,10 @@
7
7
  */
8
8
  import { tool, z } from '@cyanheads/mcp-ts-core';
9
9
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
10
+ import { markdown } from '@cyanheads/mcp-ts-core/utils';
10
11
  import { getCatalogService } from '../../../services/catalog/service-instance.js';
11
12
  import { buildAllSnippets } from '../../../services/catalog/snippets.js';
13
+ import { CLIENT_IDS } from '../../../services/catalog/types.js';
12
14
  /**
13
15
  * Upper bound on the entry name. Fleet identifiers are bounded in practice —
14
16
  * the longest catalog tool name is 42 characters and the longest server name is
@@ -19,7 +21,7 @@ const NAME_MAX_LENGTH = 64;
19
21
  export const describeEntryTool = tool('cyanheads_describe_entry', {
20
22
  title: 'Describe Fleet Tool or Server',
21
23
  description: 'Return the description and install snippets for a named tool or server. For tools: the ' +
22
- 'description and the server it belongs to. For servers: local (stdio, via npx) install ' +
24
+ 'description, owning server, and connection metadata. For either kind: local (stdio, via npx) install ' +
23
25
  'snippets for every published server, plus remote (HTTP) connection snippets when a hosted ' +
24
26
  'endpoint exists — for every supported client, or one client via the client parameter.',
25
27
  annotations: { readOnlyHint: true, openWorldHint: false },
@@ -31,17 +33,24 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
31
33
  .max(NAME_MAX_LENGTH)
32
34
  .describe('Tool name (snake_case, e.g. "earthquake_search") or server name ' +
33
35
  '(kebab-case, e.g. "earthquake-mcp-server"). 1-' +
34
- `${NAME_MAX_LENGTH} characters. Use cyanheads_search_catalog to discover valid names.`),
36
+ `${NAME_MAX_LENGTH} characters. Exact names win; unique case-insensitive names resolve to canonical names. A tool name that more than one server owns also needs server. Use cyanheads_search_catalog to discover valid names.`),
37
+ // Form clients submit an untouched optional field as '': read it as unset before the length check.
38
+ server: z
39
+ .preprocess((value) => (value === '' ? undefined : value), z.string().min(1).max(NAME_MAX_LENGTH).optional())
40
+ .describe('Server that owns the tool to describe — the server value cyanheads_search_catalog returned with ' +
41
+ `this name. 1-${NAME_MAX_LENGTH} characters, resolved like a server name. Required when the tool ` +
42
+ 'name has more than one owner; with a server name, it must name the same server.'),
35
43
  kind: z
36
44
  .enum(['tool', 'server'])
37
45
  .optional()
38
46
  .describe('Whether name refers to a tool or server. Omit to auto-detect: names containing ' +
39
47
  'underscores are treated as tools; names containing hyphens are treated as servers.'),
40
48
  client: z
41
- .enum(['claude-code', 'codex', 'cursor', 'curl', 'gemini', 'streamable-http'])
49
+ .enum(CLIENT_IDS)
42
50
  .optional()
43
51
  .describe('Return install snippets for this client only (both local and remote transports when ' +
44
- 'available). Omit to return snippets for all supported clients.'),
52
+ 'available). "streamable-http" selects the generic mcpServers JSON; "curl" selects a ' +
53
+ 'connectivity probe for hosted servers. Omit to return snippets for all supported clients.'),
45
54
  }),
46
55
  output: z.object({
47
56
  result: z
@@ -49,15 +58,42 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
49
58
  z
50
59
  .object({
51
60
  kind: z.literal('tool').describe('Resolved as a tool entry.'),
52
- name: z.string().describe('Resolved name (as looked up).'),
61
+ name: z.string().describe('Canonical resolved tool name.'),
53
62
  description: z.string().describe('Brief description of what the tool does.'),
54
63
  server: z.string().describe('Server package name that owns this tool.'),
64
+ npm: z.string().describe('Owning server npm package for local installation.'),
65
+ github: z.string().describe('Owning server GitHub repository URL.'),
66
+ endpoint: z
67
+ .string()
68
+ .optional()
69
+ .describe('Owning server hosted HTTP endpoint, when available.'),
70
+ auth: z.string().describe('Owning server hosted authentication requirement.'),
71
+ requiredEnvVars: z
72
+ .array(z.string())
73
+ .optional()
74
+ .describe('Environment variable names required for local installation.'),
75
+ installNotice: z
76
+ .string()
77
+ .optional()
78
+ .describe('Actionable guidance when the requested client has no compatible installation snippet.'),
79
+ installSnippets: z
80
+ .array(z
81
+ .object({
82
+ client: z.enum(CLIENT_IDS).describe('Target MCP client.'),
83
+ transport: z
84
+ .enum(['stdio', 'http'])
85
+ .describe('Local stdio or hosted HTTP transport.'),
86
+ label: z.string().describe('Install method label.'),
87
+ payload: z.string().describe('Install command or configuration.'),
88
+ })
89
+ .describe('An installation snippet for the owning server.'))
90
+ .describe('Owning server install snippets, filtered by client when supplied.'),
55
91
  })
56
92
  .describe('A resolved tool entry — its description and the server that owns it.'),
57
93
  z
58
94
  .object({
59
95
  kind: z.literal('server').describe('Resolved as a server entry.'),
60
- name: z.string().describe('Resolved name (as looked up).'),
96
+ name: z.string().describe('Canonical resolved server name.'),
61
97
  displayName: z.string().describe('Human-readable server label.'),
62
98
  description: z.string().describe('Brief description of what the server does.'),
63
99
  version: z.string().describe('Published version captured at fleet-generation time.'),
@@ -76,6 +112,10 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
76
112
  .array(z.string())
77
113
  .optional()
78
114
  .describe('Env var names the local (stdio) install requires (e.g. ["MAILCHIMP_API_KEY"]). Absent when none.'),
115
+ installNotice: z
116
+ .string()
117
+ .optional()
118
+ .describe('Actionable guidance when the requested client has no compatible installation snippet.'),
79
119
  toolCount: z.number().describe('Number of tools exposed by this server.'),
80
120
  tools: z
81
121
  .array(z
@@ -89,9 +129,7 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
89
129
  installSnippets: z
90
130
  .array(z
91
131
  .object({
92
- client: z
93
- .enum(['claude-code', 'codex', 'cursor', 'curl', 'gemini', 'streamable-http'])
94
- .describe('MCP client this snippet targets.'),
132
+ client: z.enum(CLIENT_IDS).describe('MCP client this snippet targets.'),
95
133
  transport: z
96
134
  .enum(['stdio', 'http'])
97
135
  .describe('Transport this snippet installs — stdio (local) or http (remote).'),
@@ -110,8 +148,8 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
110
148
  {
111
149
  reason: 'not_found',
112
150
  code: JsonRpcErrorCode.NotFound,
113
- when: 'No tool or server with the given name exists in the catalog.',
114
- recovery: 'Use cyanheads_search_catalog to find the correct name, then call cyanheads_describe_entry again.',
151
+ when: 'No tool or server with the given name, under the given server when set, exists in the catalog.',
152
+ recovery: 'Use cyanheads_search_catalog to find the correct name and owning server, then call cyanheads_describe_entry again.',
115
153
  },
116
154
  {
117
155
  reason: 'ambiguous_kind',
@@ -119,6 +157,12 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
119
157
  when: 'Name matches both a tool and a server (collision in catalog).',
120
158
  recovery: 'Set the kind parameter to "tool" or "server" to disambiguate.',
121
159
  },
160
+ {
161
+ reason: 'ambiguous_owner',
162
+ code: JsonRpcErrorCode.ValidationError,
163
+ when: 'The tool name has more than one owning server and server is not set.',
164
+ recovery: 'Set server to the owning server you want, one of the owners the error lists — the server value cyanheads_search_catalog returned with this tool.',
165
+ },
122
166
  {
123
167
  reason: 'catalog_empty',
124
168
  code: JsonRpcErrorCode.ServiceUnavailable,
@@ -133,7 +177,11 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
133
177
  ],
134
178
  // biome-ignore lint/suspicious/useAwait: handler has no I/O but must return a Promise for the framework
135
179
  async handler(input, ctx) {
136
- ctx.log.info('Describing catalog entry', { name: input.name, kind: input.kind });
180
+ ctx.log.info('Describing catalog entry', {
181
+ name: input.name,
182
+ kind: input.kind,
183
+ server: input.server,
184
+ });
137
185
  const catalog = getCatalogService();
138
186
  // Resolve kind: explicit > auto-detect from name format.
139
187
  let resolvedKind = input.kind;
@@ -146,118 +194,115 @@ export const describeEntryTool = tool('cyanheads_describe_entry', {
146
194
  resolvedKind = 'server';
147
195
  }
148
196
  }
149
- const toolEntry = resolvedKind !== 'server' ? catalog.getTool(input.name) : null;
150
- const serverEntry = resolvedKind !== 'tool' ? catalog.getServer(input.name) : null;
197
+ const toolEntries = resolvedKind !== 'server' ? catalog.getTool(input.name, input.server) : [];
198
+ let serverEntry = resolvedKind !== 'tool' ? catalog.getServer(input.name) : null;
199
+ if (serverEntry &&
200
+ input.server !== undefined &&
201
+ catalog.getServer(input.server) !== serverEntry) {
202
+ serverEntry = null;
203
+ }
151
204
  // Ambiguity check (can happen if resolvedKind is undefined and name has neither _ nor -).
152
- if (toolEntry && serverEntry) {
205
+ if (toolEntries.length && serverEntry) {
153
206
  throw ctx.fail('ambiguous_kind', `"${input.name}" matches both a tool and a server`, {
154
- ...ctx.recoveryFor('ambiguous_kind'),
155
207
  name: input.name,
156
208
  });
157
209
  }
210
+ const [toolEntry, ...otherOwners] = toolEntries;
211
+ if (toolEntry && otherOwners.length) {
212
+ const owners = toolEntries.map((t) => t.serverRecord.name);
213
+ throw ctx.fail('ambiguous_owner', `Tool "${toolEntry.name}" has ${owners.length} owners: ${owners.join(', ')}`, { name: input.name, owners });
214
+ }
215
+ const owner = toolEntry?.serverRecord ?? serverEntry;
216
+ if (!owner) {
217
+ throw ctx.fail('not_found', input.server === undefined
218
+ ? `No tool or server named "${input.name}" in the catalog`
219
+ : `No tool or server named "${input.name}" under server "${input.server}" in the catalog`, { name: input.name, ...(input.server !== undefined ? { server: input.server } : {}) });
220
+ }
221
+ const allSnippets = buildAllSnippets(owner);
222
+ const snippets = input.client
223
+ ? allSnippets.filter((s) => s.client === input.client)
224
+ : allSnippets;
225
+ const connection = {
226
+ npm: owner.npm,
227
+ github: owner.github,
228
+ ...(owner.endpoint ? { endpoint: owner.endpoint } : {}),
229
+ auth: owner.auth,
230
+ ...(owner.requiredEnvVars?.length ? { requiredEnvVars: owner.requiredEnvVars } : {}),
231
+ installSnippets: snippets,
232
+ ...(input.client && snippets.length === 0
233
+ ? {
234
+ installNotice: 'curl requires a hosted HTTP endpoint. This server supports local stdio installation; call cyanheads_describe_entry again with client "codex" for an install command.',
235
+ }
236
+ : {}),
237
+ };
158
238
  if (toolEntry) {
159
239
  return {
160
240
  result: {
161
241
  kind: 'tool',
162
- name: input.name,
242
+ name: toolEntry.name,
163
243
  description: toolEntry.description,
164
244
  server: toolEntry.serverRecord.name,
245
+ ...connection,
165
246
  },
166
247
  };
167
248
  }
168
- if (serverEntry) {
169
- const allSnippets = buildAllSnippets(serverEntry);
170
- const snippets = input.client
171
- ? allSnippets.filter((s) => s.client === input.client)
172
- : allSnippets;
173
- return {
174
- result: {
175
- kind: 'server',
176
- name: input.name,
177
- displayName: serverEntry.displayName,
178
- description: serverEntry.description,
179
- version: serverEntry.version,
180
- npm: serverEntry.npm,
181
- github: serverEntry.github,
182
- ...(serverEntry.endpoint ? { endpoint: serverEntry.endpoint } : {}),
183
- auth: serverEntry.auth,
184
- ...(serverEntry.requiredEnvVars?.length
185
- ? { requiredEnvVars: serverEntry.requiredEnvVars }
186
- : {}),
187
- toolCount: serverEntry.tools.length,
188
- tools: serverEntry.tools.map((t) => ({ name: t.name, description: t.description })),
189
- installSnippets: snippets,
190
- },
191
- };
192
- }
193
- throw ctx.fail('not_found', `No tool or server named "${input.name}" in the catalog`, {
194
- ...ctx.recoveryFor('not_found'),
195
- name: input.name,
196
- });
249
+ return {
250
+ result: {
251
+ kind: 'server',
252
+ name: owner.name,
253
+ displayName: owner.displayName,
254
+ description: owner.description,
255
+ version: owner.version,
256
+ ...connection,
257
+ toolCount: owner.tools.length,
258
+ tools: owner.tools.map((t) => ({ name: t.name, description: t.description })),
259
+ },
260
+ };
197
261
  },
198
262
  format: ({ result }) => {
199
- const lines = [];
200
- if (result.kind === 'tool') {
201
- lines.push(`# Tool: ${result.name}`);
202
- lines.push(`**Server:** ${result.server}`);
203
- lines.push('');
204
- lines.push(`**Kind:** tool`);
205
- lines.push('');
206
- lines.push(`## Description`);
207
- lines.push(result.description);
208
- }
263
+ const md = markdown();
264
+ const label = (value) => /[\r\n]/u.test(value)
265
+ ? `\n\n${markdown().codeBlock(value).build()}`
266
+ : markdown().inlineCode(value).build();
267
+ md.h1(`${result.kind === 'tool' ? 'Tool' : 'Server'}: ${label(result.name)}`).keyValue('Kind', result.kind);
268
+ if (result.kind === 'tool')
269
+ md.keyValue('Server', label(result.server));
209
270
  else {
210
- lines.push(`# Server: ${result.name}`);
211
- lines.push(`**Kind:** server`);
212
- lines.push(`**Display name:** ${result.displayName}`);
213
- lines.push(`**Version:** ${result.version}`);
214
- lines.push(`**npm:** ${result.npm}`);
215
- lines.push(`**GitHub:** ${result.github}`);
216
- lines.push(`**Auth:** ${result.auth}`);
217
- lines.push(`**Tool count:** ${result.toolCount}`);
218
- lines.push('');
219
- lines.push('## Description');
220
- lines.push(result.description);
221
- lines.push('');
222
- if (result.tools.length > 0) {
223
- lines.push('## Tools');
224
- for (const t of result.tools) {
225
- lines.push(`- \`${t.name}\` — ${t.description}`);
226
- }
227
- lines.push('');
228
- }
229
- const local = result.installSnippets.filter((s) => s.transport === 'stdio');
230
- const remote = result.installSnippets.filter((s) => s.transport === 'http');
231
- if (local.length > 0) {
232
- lines.push('## Local install (stdio)');
233
- lines.push('Run locally via npx — available for every published server, no hosting required.');
234
- if (result.requiredEnvVars?.length) {
235
- lines.push('');
236
- lines.push(`**Required env vars:** ${result.requiredEnvVars.join(', ')} — set these for the server to work.`);
237
- }
238
- lines.push('');
239
- for (const snippet of local) {
240
- lines.push(`### ${snippet.label} (${snippet.client})`);
241
- lines.push('```');
242
- lines.push(snippet.payload);
243
- lines.push('```');
244
- lines.push('');
245
- }
246
- }
247
- if (result.endpoint) {
248
- lines.push('## Remote install (HTTP)');
249
- lines.push(`**Endpoint:** ${result.endpoint}`);
250
- lines.push('');
251
- for (const snippet of remote) {
252
- lines.push(`### ${snippet.label} (${snippet.client})`);
253
- lines.push('```');
254
- lines.push(snippet.payload);
255
- lines.push('```');
256
- lines.push('');
257
- }
258
- }
271
+ md.keyValue('Display name', label(result.displayName))
272
+ .keyValue('Version', label(result.version))
273
+ .keyValue('Tool count', result.toolCount);
274
+ }
275
+ md.keyValue('npm', label(result.npm))
276
+ .keyValue('GitHub', label(result.github))
277
+ .keyValue('Auth', label(result.auth))
278
+ .h2('Description')
279
+ .codeBlock(result.description);
280
+ if (result.kind === 'server' && result.tools.length) {
281
+ md.h2('Tools');
282
+ for (const entry of result.tools)
283
+ md.h3(label(entry.name)).codeBlock(entry.description);
284
+ }
285
+ if (result.requiredEnvVars?.length) {
286
+ md.h2('Required env vars');
287
+ for (const name of result.requiredEnvVars)
288
+ md.codeBlock(name);
289
+ md.paragraph('Set these environment variables before starting the local server.');
290
+ }
291
+ if (result.installNotice)
292
+ md.paragraph(result.installNotice);
293
+ const local = result.installSnippets.filter((s) => s.transport === 'stdio');
294
+ const remote = result.installSnippets.filter((s) => s.transport === 'http');
295
+ if (local.length) {
296
+ md.h2('Local install (stdio)');
297
+ for (const snippet of local)
298
+ md.h3(label(snippet.label)).keyValue('Client', snippet.client).codeBlock(snippet.payload);
299
+ }
300
+ if (result.endpoint) {
301
+ md.h2('Remote install (HTTP)').keyValue('Endpoint', label(result.endpoint));
302
+ for (const snippet of remote)
303
+ md.h3(label(snippet.label)).keyValue('Client', snippet.client).codeBlock(snippet.payload);
259
304
  }
260
- return [{ type: 'text', text: lines.join('\n') }];
305
+ return [{ type: 'text', text: md.build() }];
261
306
  },
262
307
  });
263
308
  //# sourceMappingURL=describe-entry.tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe-entry.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe-entry.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-entry.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe-entry.tool.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,13 @@ export declare const searchCatalogTool: import("@cyanheads/mcp-ts-core").ToolDef
19
19
  utility: "utility";
20
20
  }>>;
21
21
  limit: z.ZodDefault<z.ZodNumber>;
22
+ offset: z.ZodDefault<z.ZodNumber>;
23
+ serversOffset: z.ZodDefault<z.ZodNumber>;
22
24
  }, z.core.$strip>, z.ZodObject<{
25
+ offset: z.ZodNumber;
26
+ nextOffset: z.ZodNullable<z.ZodNumber>;
27
+ serversOffset: z.ZodOptional<z.ZodNumber>;
28
+ nextServersOffset: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
23
29
  results: z.ZodArray<z.ZodObject<{
24
30
  name: z.ZodString;
25
31
  server: z.ZodString;
@@ -50,6 +56,11 @@ export declare const searchCatalogTool: import("@cyanheads/mcp-ts-core").ToolDef
50
56
  }, z.core.$strip>>>;
51
57
  serversTotal: z.ZodOptional<z.ZodNumber>;
52
58
  }, z.core.$strip>, readonly [{
59
+ readonly reason: "invalid_servers_offset";
60
+ readonly code: JsonRpcErrorCode.ValidationError;
61
+ readonly when: "A nonzero serversOffset is supplied in servers scope.";
62
+ readonly recovery: "Set serversOffset to zero in servers scope; use offset to page server results.";
63
+ }, {
53
64
  readonly reason: "catalog_empty";
54
65
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
55
66
  readonly when: "Catalog has not finished loading.";
@@ -59,6 +70,9 @@ export declare const searchCatalogTool: import("@cyanheads/mcp-ts-core").ToolDef
59
70
  }], {
60
71
  readonly effectiveQuery: z.ZodString;
61
72
  readonly totalCount: z.ZodNumber;
73
+ readonly truncated: z.ZodOptional<z.ZodBoolean>;
74
+ readonly shown: z.ZodOptional<z.ZodNumber>;
75
+ readonly cap: z.ZodOptional<z.ZodNumber>;
62
76
  readonly notice: z.ZodOptional<z.ZodString>;
63
77
  }>;
64
78
  //# sourceMappingURL=search-catalog.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-catalog.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-catalog.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAWjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8N5B,CAAC"}
1
+ {"version":3,"file":"search-catalog.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-catalog.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsBjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuT5B,CAAC"}