@cyanheads/cyanheads-mcp-server 0.1.4 → 0.1.5
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/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/README.md +1 -1
- package/changelog/0.1.x/0.1.5.md +31 -0
- package/dist/mcp-server/tools/definitions/describe.tool.d.ts +8 -4
- package/dist/mcp-server/tools/definitions/describe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/describe.tool.js +3 -3
- package/dist/mcp-server/tools/definitions/describe.tool.js.map +1 -1
- package/dist/services/catalog/snippets.d.ts +9 -1
- package/dist/services/catalog/snippets.d.ts.map +1 -1
- package/dist/services/catalog/snippets.js +67 -20
- package/dist/services/catalog/snippets.js.map +1 -1
- package/dist/services/catalog/types.d.ts +8 -6
- package/dist/services/catalog/types.d.ts.map +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** cyanheads-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
4
|
+
**Version:** 0.1.5
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.11`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** cyanheads-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
4
|
+
**Version:** 0.1.5
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.11`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/cyanheads-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/cyanheads-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Rewrite install snippet builders — drop legacy SSE transport tag, emit correct per-client formats (claude-code/codex/cursor/curl/gemini/streamable-http) verified against the hosted endpoint"
|
|
3
|
+
breaking: true
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.5 — 2026-05-28
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **`cyanheads_describe` install snippets** — full rewrite. The 0.1.4 builders emitted `type: "sse"` and `--transport sse`, which the hosted endpoint never actually spoke (it runs Streamable HTTP). Snippets pasted into client configs would either fail outright or fall back to legacy transport paths. New formats are derived from working reference commands and verified against `https://cyanheads.caseyjhand.com/mcp`:
|
|
12
|
+
|
|
13
|
+
| Client | Format |
|
|
14
|
+
|:--|:--|
|
|
15
|
+
| `claude-code` | `claude mcp add --transport http <name> <url>` |
|
|
16
|
+
| `codex` | `codex mcp add <name> --url <url>` |
|
|
17
|
+
| `cursor` | `mcpServers.<name>.{url}` (no `type` field — Cursor reads HTTP servers from URL alone) |
|
|
18
|
+
| `curl` | `initialize` POST with `MCP-Protocol-Version: 2025-11-25` for connectivity testing |
|
|
19
|
+
| `gemini` | `gemini mcp add --transport http <name> <url>` |
|
|
20
|
+
| `streamable-http` | `mcpServers.<name>.{type:"http", url}` — generic shape consumed by Claude Desktop, Cline, and `mcp-remote` |
|
|
21
|
+
|
|
22
|
+
- **`ClientId` union** — `'claude-desktop' | 'claude-code' | 'cursor' | 'cline'` → `'claude-code' | 'codex' | 'cursor' | 'curl' | 'gemini' | 'streamable-http'`. Claude Desktop and Cline both consume the generic `streamable-http` format, so a single `streamable-http` entry replaces the two client-specific ones. `codex`, `gemini`, and `curl` are new.
|
|
23
|
+
|
|
24
|
+
## Breaking
|
|
25
|
+
|
|
26
|
+
- **`cyanheads_describe` `client` parameter values changed.** Callers that pin `client: 'claude-desktop'` or `client: 'cline'` will get a Zod validation error. Use `client: 'streamable-http'` instead — same JSON shape, with the correct `type: "http"` field. `client: 'claude-code'` and `client: 'cursor'` still work but emit the corrected payload.
|
|
27
|
+
- **`InstallSnippet.client` values changed.** Consumers that switch on the client string need to map the old IDs to the new ones (or read every snippet and let payload-shape detection drive UI rendering).
|
|
28
|
+
|
|
29
|
+
## Fixed
|
|
30
|
+
|
|
31
|
+
- **Stale doc references to SSE transport** — `src/services/catalog/types.ts` (`endpoint` JSDoc), `src/mcp-server/tools/definitions/describe.tool.ts` (output field describe text), `docs/design.md` (supported-clients table + snippet examples + `ClientId` example). All now say Streamable HTTP.
|
|
@@ -14,10 +14,12 @@ export declare const describeTool: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
14
14
|
tool: "tool";
|
|
15
15
|
}>>;
|
|
16
16
|
client: z.ZodOptional<z.ZodEnum<{
|
|
17
|
-
"claude-desktop": "claude-desktop";
|
|
18
17
|
"claude-code": "claude-code";
|
|
18
|
+
codex: "codex";
|
|
19
19
|
cursor: "cursor";
|
|
20
|
-
|
|
20
|
+
curl: "curl";
|
|
21
|
+
gemini: "gemini";
|
|
22
|
+
"streamable-http": "streamable-http";
|
|
21
23
|
}>>;
|
|
22
24
|
}, z.core.$strip>, z.ZodObject<{
|
|
23
25
|
result: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -38,10 +40,12 @@ export declare const describeTool: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
38
40
|
toolCount: z.ZodNumber;
|
|
39
41
|
installSnippets: z.ZodArray<z.ZodObject<{
|
|
40
42
|
client: z.ZodEnum<{
|
|
41
|
-
"claude-desktop": "claude-desktop";
|
|
42
43
|
"claude-code": "claude-code";
|
|
44
|
+
codex: "codex";
|
|
43
45
|
cursor: "cursor";
|
|
44
|
-
|
|
46
|
+
curl: "curl";
|
|
47
|
+
gemini: "gemini";
|
|
48
|
+
"streamable-http": "streamable-http";
|
|
45
49
|
}>;
|
|
46
50
|
label: z.ZodString;
|
|
47
51
|
payload: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"describe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8MvB,CAAC"}
|
|
@@ -29,7 +29,7 @@ export const describeTool = tool('cyanheads_describe', {
|
|
|
29
29
|
.describe('Whether name refers to a tool or server. Omit to auto-detect: names containing ' +
|
|
30
30
|
'underscores are treated as tools; names containing hyphens are treated as servers.'),
|
|
31
31
|
client: z
|
|
32
|
-
.enum(['claude-
|
|
32
|
+
.enum(['claude-code', 'codex', 'cursor', 'curl', 'gemini', 'streamable-http'])
|
|
33
33
|
.optional()
|
|
34
34
|
.describe('Return the install snippet for this specific client only. ' +
|
|
35
35
|
'Omit to return snippets for all supported clients.'),
|
|
@@ -51,7 +51,7 @@ export const describeTool = tool('cyanheads_describe', {
|
|
|
51
51
|
version: z.string().describe('Published version captured at fleet-generation time.'),
|
|
52
52
|
npm: z.string().describe('npm package name (e.g. "@cyanheads/arxiv-mcp-server").'),
|
|
53
53
|
github: z.string().describe('GitHub repository URL.'),
|
|
54
|
-
endpoint: z.string().describe('HTTP
|
|
54
|
+
endpoint: z.string().describe('Streamable HTTP endpoint for the hosted deployment.'),
|
|
55
55
|
auth: z
|
|
56
56
|
.string()
|
|
57
57
|
.describe('Auth requirement for the hosted deployment (currently always "none").'),
|
|
@@ -60,7 +60,7 @@ export const describeTool = tool('cyanheads_describe', {
|
|
|
60
60
|
.array(z
|
|
61
61
|
.object({
|
|
62
62
|
client: z
|
|
63
|
-
.enum(['claude-
|
|
63
|
+
.enum(['claude-code', 'codex', 'cursor', 'curl', 'gemini', 'streamable-http'])
|
|
64
64
|
.describe('MCP client this snippet targets.'),
|
|
65
65
|
label: z.string().describe('Human-readable install method label.'),
|
|
66
66
|
payload: z.string().describe('Install payload (JSON fragment or CLI command).'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE;IACrD,KAAK,EAAE,+BAA+B;IACtC,WAAW,EACT,8FAA8F;QAC9F,mEAAmE;QACnE,+FAA+F;QAC/F,kGAAkG;IACpG,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IACzD,IAAI,EAAE,CAAC,8BAA8B,CAAC;IAEtC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,kEAAkE;YAChE,2FAA2F,CAC9F;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aACxB,QAAQ,EAAE;aACV,QAAQ,CACP,iFAAiF;YAC/E,oFAAoF,CACvF;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"describe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/describe.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
* @fileoverview Per-client install snippet factory registry.
|
|
3
3
|
* A plain Record mapping ClientId to a factory function that produces an InstallSnippet
|
|
4
4
|
* from a CatalogRecord. Snippets are derived at request time from the record's
|
|
5
|
-
* { name,
|
|
5
|
+
* { name, endpoint } fields — no precomputed snippet list lives in the catalog JSON.
|
|
6
|
+
*
|
|
7
|
+
* All fleet servers run Streamable HTTP — the legacy `sse` transport tag is not
|
|
8
|
+
* emitted. Per-client formats:
|
|
9
|
+
* - claude-code / gemini: `<cli> mcp add --transport http <name> <url>`
|
|
10
|
+
* - codex: `codex mcp add <name> --url <url>`
|
|
11
|
+
* - cursor: `mcpServers.<name>.{url}` (no `type` field)
|
|
12
|
+
* - streamable-http: `mcpServers.<name>.{type:"http", url}` (Claude Desktop, Cline, generic)
|
|
13
|
+
* - curl: `initialize` POST with `MCP-Protocol-Version` header
|
|
6
14
|
* @module services/catalog/snippets
|
|
7
15
|
*/
|
|
8
16
|
import type { CatalogRecord, ClientId, InstallSnippet } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippets.d.ts","sourceRoot":"","sources":["../../../src/services/catalog/snippets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"snippets.d.ts","sourceRoot":"","sources":["../../../src/services/catalog/snippets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,4EAA4E;AAC5E,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,cAAc,CAAC;AAkFhE,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAO7D,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE,CAExE"}
|
|
@@ -2,47 +2,94 @@
|
|
|
2
2
|
* @fileoverview Per-client install snippet factory registry.
|
|
3
3
|
* A plain Record mapping ClientId to a factory function that produces an InstallSnippet
|
|
4
4
|
* from a CatalogRecord. Snippets are derived at request time from the record's
|
|
5
|
-
* { name,
|
|
5
|
+
* { name, endpoint } fields — no precomputed snippet list lives in the catalog JSON.
|
|
6
|
+
*
|
|
7
|
+
* All fleet servers run Streamable HTTP — the legacy `sse` transport tag is not
|
|
8
|
+
* emitted. Per-client formats:
|
|
9
|
+
* - claude-code / gemini: `<cli> mcp add --transport http <name> <url>`
|
|
10
|
+
* - codex: `codex mcp add <name> --url <url>`
|
|
11
|
+
* - cursor: `mcpServers.<name>.{url}` (no `type` field)
|
|
12
|
+
* - streamable-http: `mcpServers.<name>.{type:"http", url}` (Claude Desktop, Cline, generic)
|
|
13
|
+
* - curl: `initialize` POST with `MCP-Protocol-Version` header
|
|
6
14
|
* @module services/catalog/snippets
|
|
7
15
|
*/
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
client: 'claude-desktop',
|
|
12
|
-
label: 'Claude Desktop (JSON config)',
|
|
13
|
-
payload: JSON.stringify({ [record.name]: { type: 'sse', url: record.endpoint } }, null, 2),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
/** Build the Claude Code CLI command. */
|
|
16
|
+
/** MCP protocol version pinned in the curl `initialize` snippet. */
|
|
17
|
+
const CURL_MCP_PROTOCOL_VERSION = '2025-11-25';
|
|
18
|
+
/** Claude Code CLI install command. */
|
|
17
19
|
function claudeCodeSnippet(record) {
|
|
18
20
|
return {
|
|
19
21
|
client: 'claude-code',
|
|
20
22
|
label: 'Claude Code (CLI)',
|
|
21
|
-
payload: `claude mcp add --transport
|
|
23
|
+
payload: `claude mcp add --transport http ${record.name} ${record.endpoint}`,
|
|
22
24
|
};
|
|
23
25
|
}
|
|
24
|
-
/**
|
|
26
|
+
/** OpenAI Codex CLI install command. */
|
|
27
|
+
function codexSnippet(record) {
|
|
28
|
+
return {
|
|
29
|
+
client: 'codex',
|
|
30
|
+
label: 'Codex (CLI)',
|
|
31
|
+
payload: `codex mcp add ${record.name} --url ${record.endpoint}`,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** Cursor `.cursor/mcp.json` fragment (Cursor reads HTTP servers without a `type` field). */
|
|
25
35
|
function cursorSnippet(record) {
|
|
26
36
|
return {
|
|
27
37
|
client: 'cursor',
|
|
28
38
|
label: 'Cursor (mcp.json)',
|
|
29
|
-
payload: JSON.stringify({ mcpServers: { [record.name]: {
|
|
39
|
+
payload: JSON.stringify({ mcpServers: { [record.name]: { url: record.endpoint } } }, null, 2),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/** curl `initialize` request — a connectivity probe, not an install. */
|
|
43
|
+
function curlSnippet(record) {
|
|
44
|
+
const body = JSON.stringify({
|
|
45
|
+
jsonrpc: '2.0',
|
|
46
|
+
id: 1,
|
|
47
|
+
method: 'initialize',
|
|
48
|
+
params: {
|
|
49
|
+
protocolVersion: CURL_MCP_PROTOCOL_VERSION,
|
|
50
|
+
capabilities: {},
|
|
51
|
+
clientInfo: { name: 'curl', version: '1.0.0' },
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
client: 'curl',
|
|
56
|
+
label: 'curl (initialize probe)',
|
|
57
|
+
payload: [
|
|
58
|
+
`curl -X POST ${record.endpoint} \\`,
|
|
59
|
+
` -H "Content-Type: application/json" \\`,
|
|
60
|
+
` -H "MCP-Protocol-Version: ${CURL_MCP_PROTOCOL_VERSION}" \\`,
|
|
61
|
+
` -d '${body}'`,
|
|
62
|
+
].join('\n'),
|
|
30
63
|
};
|
|
31
64
|
}
|
|
32
|
-
/**
|
|
33
|
-
function
|
|
65
|
+
/** Gemini CLI install command. */
|
|
66
|
+
function geminiSnippet(record) {
|
|
67
|
+
return {
|
|
68
|
+
client: 'gemini',
|
|
69
|
+
label: 'Gemini (CLI)',
|
|
70
|
+
payload: `gemini mcp add --transport http ${record.name} ${record.endpoint}`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Generic Streamable HTTP `mcpServers` block. Works for Claude Desktop, Cline,
|
|
75
|
+
* mcp-remote, and any other MCP client that consumes the standard config shape
|
|
76
|
+
* with `type: "http"`.
|
|
77
|
+
*/
|
|
78
|
+
function streamableHttpSnippet(record) {
|
|
34
79
|
return {
|
|
35
|
-
client: '
|
|
36
|
-
label: '
|
|
37
|
-
payload: JSON.stringify({ [record.name]: { type: '
|
|
80
|
+
client: 'streamable-http',
|
|
81
|
+
label: 'Streamable HTTP (Claude Desktop, Cline, generic)',
|
|
82
|
+
payload: JSON.stringify({ mcpServers: { [record.name]: { type: 'http', url: record.endpoint } } }, null, 2),
|
|
38
83
|
};
|
|
39
84
|
}
|
|
40
85
|
/** Registry of all supported clients. */
|
|
41
86
|
export const SNIPPET_REGISTRY = {
|
|
42
|
-
'claude-desktop': claudeDesktopSnippet,
|
|
43
87
|
'claude-code': claudeCodeSnippet,
|
|
88
|
+
codex: codexSnippet,
|
|
44
89
|
cursor: cursorSnippet,
|
|
45
|
-
|
|
90
|
+
curl: curlSnippet,
|
|
91
|
+
gemini: geminiSnippet,
|
|
92
|
+
'streamable-http': streamableHttpSnippet,
|
|
46
93
|
};
|
|
47
94
|
/** Generate install snippets for all supported clients for a given record. */
|
|
48
95
|
export function buildAllSnippets(record) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/services/catalog/snippets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/services/catalog/snippets.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @module services/catalog/types
|
|
6
6
|
*/
|
|
7
7
|
/** Supported MCP client identifiers for install snippets. */
|
|
8
|
-
export type ClientId = 'claude-
|
|
8
|
+
export type ClientId = 'claude-code' | 'codex' | 'cursor' | 'curl' | 'gemini' | 'streamable-http';
|
|
9
9
|
/** Catalog category for a fleet server. */
|
|
10
10
|
export type CatalogCategory = 'research' | 'government' | 'public-data' | 'utility';
|
|
11
11
|
/** Single tool entry inside a CatalogRecord. */
|
|
@@ -28,10 +28,12 @@ export interface InstallSnippet {
|
|
|
28
28
|
label: string;
|
|
29
29
|
/**
|
|
30
30
|
* The install payload. Shape varies by client:
|
|
31
|
-
* - claude-
|
|
32
|
-
* -
|
|
33
|
-
* - cursor: JSON fragment for
|
|
34
|
-
* -
|
|
31
|
+
* - claude-code: CLI command (`claude mcp add --transport http <name> <url>`)
|
|
32
|
+
* - codex: CLI command (`codex mcp add <name> --url <url>`)
|
|
33
|
+
* - cursor: JSON fragment for `.cursor/mcp.json` mcpServers block (no `type` field)
|
|
34
|
+
* - curl: HTTP `initialize` request for connectivity testing
|
|
35
|
+
* - gemini: CLI command (`gemini mcp add --transport http <name> <url>`)
|
|
36
|
+
* - streamable-http: generic JSON fragment for any MCP HTTP client (Claude Desktop, Cline, mcp-remote)
|
|
35
37
|
*/
|
|
36
38
|
payload: string;
|
|
37
39
|
}
|
|
@@ -53,7 +55,7 @@ export interface CatalogRecord {
|
|
|
53
55
|
* `${displayName}\n${description}`. Length matches FleetPayload.embeddingDims.
|
|
54
56
|
*/
|
|
55
57
|
embedding: number[];
|
|
56
|
-
/** HTTP
|
|
58
|
+
/** Streamable HTTP endpoint — always present; the catalog covers hosted servers only. */
|
|
57
59
|
endpoint: string;
|
|
58
60
|
/** GitHub repository URL. */
|
|
59
61
|
github: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/catalog/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/catalog/types.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "cyanheads-mcp-server",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.5",
|
|
5
5
|
"description": "Fleet discovery for the cyanheads MCP ecosystem — semantic search + install snippets.",
|
|
6
6
|
"author": { "name": "cyanheads" },
|
|
7
7
|
"repository": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/cyanheads-mcp-server",
|
|
3
3
|
"mcpName": "io.github.cyanheads/cyanheads-mcp-server",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.5",
|
|
5
5
|
"description": "Fleet discovery for the cyanheads MCP ecosystem — semantic search + install snippets.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/cyanheads-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.5",
|
|
10
10
|
"remotes": [
|
|
11
11
|
{
|
|
12
12
|
"type": "streamable-http",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
20
20
|
"identifier": "@cyanheads/cyanheads-mcp-server",
|
|
21
21
|
"runtimeHint": "node",
|
|
22
|
-
"version": "0.1.
|
|
22
|
+
"version": "0.1.5",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{ "type": "positional", "value": "run" },
|
|
25
25
|
{ "type": "positional", "value": "start:stdio" }
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
69
69
|
"identifier": "@cyanheads/cyanheads-mcp-server",
|
|
70
70
|
"runtimeHint": "node",
|
|
71
|
-
"version": "0.1.
|
|
71
|
+
"version": "0.1.5",
|
|
72
72
|
"packageArguments": [
|
|
73
73
|
{ "type": "positional", "value": "run" },
|
|
74
74
|
{ "type": "positional", "value": "start:http" }
|