onlymcp 0.9.1 → 0.11.0

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 (76) hide show
  1. package/README.md +14 -11
  2. package/dist/apiClient.d.ts +129 -7
  3. package/dist/apiClient.js +98 -4
  4. package/dist/apiClient.js.map +1 -1
  5. package/dist/auth/deviceLogin.js +5 -1
  6. package/dist/auth/deviceLogin.js.map +1 -1
  7. package/dist/bin/cli.js +349 -131
  8. package/dist/bin/cli.js.map +1 -1
  9. package/dist/bin/mcp.js +16 -2
  10. package/dist/bin/mcp.js.map +1 -1
  11. package/dist/export/unpack.d.ts +33 -0
  12. package/dist/export/unpack.js +54 -0
  13. package/dist/export/unpack.js.map +1 -0
  14. package/dist/identity.d.ts +25 -0
  15. package/dist/identity.js +106 -0
  16. package/dist/identity.js.map +1 -0
  17. package/dist/import/collect.d.ts +14 -1
  18. package/dist/import/collect.js +25 -3
  19. package/dist/import/collect.js.map +1 -1
  20. package/dist/import/frontmatter.d.ts +31 -5
  21. package/dist/import/frontmatter.js +64 -22
  22. package/dist/import/frontmatter.js.map +1 -1
  23. package/dist/import/plan.d.ts +22 -1
  24. package/dist/import/plan.js +66 -19
  25. package/dist/import/plan.js.map +1 -1
  26. package/dist/import/prune.d.ts +46 -0
  27. package/dist/import/prune.js +61 -0
  28. package/dist/import/prune.js.map +1 -0
  29. package/dist/import/secrets.js +1 -1
  30. package/dist/import/secrets.js.map +1 -1
  31. package/dist/import/upload.js +17 -2
  32. package/dist/import/upload.js.map +1 -1
  33. package/dist/install.d.ts +67 -6
  34. package/dist/install.js +137 -59
  35. package/dist/install.js.map +1 -1
  36. package/dist/instructions.d.ts +3 -1
  37. package/dist/instructions.js +19 -2
  38. package/dist/instructions.js.map +1 -1
  39. package/dist/memorySync.d.ts +28 -0
  40. package/dist/memorySync.js +56 -0
  41. package/dist/memorySync.js.map +1 -0
  42. package/dist/paths.d.ts +12 -0
  43. package/dist/paths.js +34 -8
  44. package/dist/paths.js.map +1 -1
  45. package/dist/registry/caveats.d.ts +17 -0
  46. package/dist/registry/caveats.js +50 -0
  47. package/dist/registry/caveats.js.map +1 -0
  48. package/dist/registry/clients.d.ts +11 -0
  49. package/dist/registry/clients.js +327 -0
  50. package/dist/registry/clients.js.map +1 -0
  51. package/dist/registry/index.d.ts +4 -0
  52. package/dist/registry/index.js +5 -0
  53. package/dist/registry/index.js.map +1 -0
  54. package/dist/registry/servers.d.ts +50 -0
  55. package/dist/registry/servers.js +225 -0
  56. package/dist/registry/servers.js.map +1 -0
  57. package/dist/registry/types.d.ts +54 -0
  58. package/dist/registry/types.js +6 -0
  59. package/dist/registry/types.js.map +1 -0
  60. package/dist/stubs.d.ts +1 -0
  61. package/dist/stubs.js +85 -13
  62. package/dist/stubs.js.map +1 -1
  63. package/dist/tools/getAgentDefinition.js +5 -2
  64. package/dist/tools/getAgentDefinition.js.map +1 -1
  65. package/dist/tools/getSkill.js +1 -1
  66. package/dist/tools/getSkill.js.map +1 -1
  67. package/dist/tools/getSkillFile.js +3 -3
  68. package/dist/tools/getSkillFile.js.map +1 -1
  69. package/dist/tools/memoryGraph.d.ts +69 -0
  70. package/dist/tools/memoryGraph.js +128 -0
  71. package/dist/tools/memoryGraph.js.map +1 -0
  72. package/dist/tools/memoryRead.js +1 -1
  73. package/dist/tools/memoryRead.js.map +1 -1
  74. package/dist/tools/memoryWrite.js +1 -1
  75. package/dist/tools/memoryWrite.js.map +1 -1
  76. package/package.json +5 -4
@@ -0,0 +1,327 @@
1
+ // Every command below is verified, not remembered: see the "Done 2026-09-25"
2
+ // note under Task 1 Step 1 of
3
+ // docs/superpowers/plans/2026-09-12-onlymcp-v2-07-mcp-clients.md for the
4
+ // local `--help` runs (Claude Code, Codex, Gemini CLI) and the Continue
5
+ // source check. Docs for every other client are linked below in `docsUrl`,
6
+ // fetched and cross-checked on `verifiedOn`.
7
+ //
8
+ // Roo Code is excluded on purpose: its repository was archived on
9
+ // 2026-05-15, and overview §4.7 forbids claiming unverified or dead
10
+ // integrations.
11
+ function bash(text) {
12
+ return { language: 'bash', text };
13
+ }
14
+ function json(value, path) {
15
+ return { language: 'json', text: JSON.stringify(value, null, 2), path };
16
+ }
17
+ // -- Claude Code --------------------------------------------------------
18
+ // Verified locally: `claude mcp add --help` (Claude Code 2.1.281) has
19
+ // `-s, --scope <scope>` (default "local") and `-H, --header <header...>`.
20
+ // Docs: https://code.claude.com/docs/en/mcp-quickstart, confirms
21
+ // `--transport http`, `--scope user` and
22
+ // `--header "Authorization: Bearer <token>"` for servers that take a
23
+ // static token instead of OAuth.
24
+ const claudeCode = {
25
+ id: 'claude-code',
26
+ name: 'Claude Code',
27
+ category: 'coding',
28
+ brand: 'claudecode',
29
+ methods: ['remote-header', 'remote-oauth', 'stdio'],
30
+ docsUrl: 'https://code.claude.com/docs/en/mcp-quickstart',
31
+ verifiedOn: '2026-09-25',
32
+ caveats: [],
33
+ install: { configPath: '~/.claude.json', format: 'json', stubDir: null },
34
+ remote: (ctx) => [
35
+ bash(`claude mcp add --transport http --scope user onlymcp ${ctx.endpoint} --header "Authorization: Bearer ${ctx.token}"`),
36
+ ],
37
+ };
38
+ // -- Claude (claude.ai / Claude Desktop) ---------------------------------
39
+ // Docs: https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp
40
+ // Custom connectors are added at claude.ai/customize/connectors with a name
41
+ // and a URL; the page documents an OAuth Client ID/Secret in "Advanced
42
+ // settings" and does not document a static API key or header option, so
43
+ // the only connect method is OAuth.
44
+ const claudeApp = {
45
+ id: 'claude-app',
46
+ name: 'Claude',
47
+ category: 'chat',
48
+ brand: 'claude',
49
+ methods: ['remote-oauth'],
50
+ docsUrl: 'https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp',
51
+ verifiedOn: '2026-09-25',
52
+ caveats: ['clients.caveat.claudeHeaderBeta'],
53
+ install: null,
54
+ remote: () => null,
55
+ };
56
+ // -- ChatGPT --------------------------------------------------------------
57
+ // Docs: https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt
58
+ // Developer mode (where custom MCP connectors are built and tested) is
59
+ // available for ChatGPT Business and Enterprise/Edu customers on the web;
60
+ // only admins/owners can enable it. Connectors authorize through OAuth.
61
+ const chatgpt = {
62
+ id: 'chatgpt',
63
+ name: 'ChatGPT',
64
+ category: 'chat',
65
+ brand: null,
66
+ methods: ['remote-oauth'],
67
+ docsUrl: 'https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt',
68
+ verifiedOn: '2026-09-25',
69
+ caveats: ['clients.caveat.chatgptDeveloperMode'],
70
+ install: null,
71
+ remote: () => null,
72
+ };
73
+ // -- Codex ------------------------------------------------------------
74
+ // Verified locally: `codex mcp add --help` (codex-cli 0.154.0) has `--url`
75
+ // and `--bearer-token-env-var`, no header flag.
76
+ // Docs: https://learn.chatgpt.com/docs/extend/mcp?surface=cli (the current
77
+ // redirect target of developers.openai.com/codex/mcp) confirms
78
+ // `bearer_token_env_var` names an environment variable, read by Codex, not
79
+ // a literal token; `http_headers` and `env_http_headers` exist as separate,
80
+ // alternative fields for static/derived headers, never combined with
81
+ // `--header` (Codex has no such flag).
82
+ const codex = {
83
+ id: 'codex',
84
+ name: 'Codex',
85
+ category: 'coding',
86
+ brand: null,
87
+ methods: ['remote-header', 'remote-oauth', 'stdio'],
88
+ docsUrl: 'https://learn.chatgpt.com/docs/extend/mcp?surface=cli',
89
+ verifiedOn: '2026-09-25',
90
+ // `bearer_token_env_var` stores only the environment variable's NAME in
91
+ // config.toml, never the token value: Codex must therefore read the
92
+ // variable itself at every startup, so the export belongs in the user's
93
+ // shell profile, not just the terminal session that ran `mcp add`.
94
+ caveats: ['clients.caveat.codexTokenEnv'],
95
+ install: { configPath: '~/.codex/config.toml', format: 'toml', stubDir: '~/.codex/skills' },
96
+ remote: (ctx) => [
97
+ bash([
98
+ `export ONLYMCP_TOKEN=${ctx.token}`,
99
+ `codex mcp add onlymcp --url ${ctx.endpoint} --bearer-token-env-var ONLYMCP_TOKEN`,
100
+ ].join('\n')),
101
+ ],
102
+ };
103
+ // -- Gemini CLI -------------------------------------------------------
104
+ // Verified locally: `npx @google/gemini-cli@0.61.0 mcp add --help` has
105
+ // `-s, --scope (user or project) [default: "project"]`, `-t, --transport`,
106
+ // `-H, --header`. Deviation from spec §3.4: without `--scope user` the
107
+ // server lands in the settings of whatever directory the command runs in,
108
+ // not in `~/.gemini/settings.json`, so `--scope user` is required here.
109
+ // Docs: https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md
110
+ const geminiCli = {
111
+ id: 'gemini-cli',
112
+ name: 'Gemini CLI',
113
+ category: 'coding',
114
+ brand: 'googlegemini',
115
+ methods: ['remote-header', 'remote-oauth', 'stdio'],
116
+ docsUrl: 'https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md',
117
+ verifiedOn: '2026-09-25',
118
+ caveats: [],
119
+ install: { configPath: '~/.gemini/settings.json', format: 'json', stubDir: null },
120
+ remote: (ctx) => [
121
+ bash(`gemini mcp add --transport http --scope user onlymcp ${ctx.endpoint} --header "Authorization: Bearer ${ctx.token}"`),
122
+ ],
123
+ };
124
+ // -- Gemini app (Gemini Spark) --------------------------------------------
125
+ // Docs: https://support.google.com/gemini/answer/17209137
126
+ // Custom connected apps take an MCP server URL, are limited to Gemini
127
+ // Spark tasks, and require a personal Google account that is 18+ and in
128
+ // the US - so both "limited to Spark" and "not available in every
129
+ // country" in the caveat are documented, not assumed.
130
+ const geminiApp = {
131
+ id: 'gemini-app',
132
+ name: 'Gemini',
133
+ category: 'chat',
134
+ brand: 'googlegemini',
135
+ methods: ['remote-oauth'],
136
+ docsUrl: 'https://support.google.com/gemini/answer/17209137',
137
+ verifiedOn: '2026-09-25',
138
+ caveats: ['clients.caveat.geminiAppSpark'],
139
+ install: null,
140
+ remote: () => null,
141
+ };
142
+ // -- GitHub Copilot in VS Code --------------------------------------------
143
+ // Docs: https://code.visualstudio.com/docs/agents/reference/mcp-configuration
144
+ // `.vscode/mcp.json` (workspace) with a top-level `servers` object, entries
145
+ // take `type: "http"`, `url`, `headers`. Copilot policy per
146
+ // https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server:
147
+ // Business/Enterprise tenants must enable "MCP servers in Copilot" first.
148
+ const copilotVscode = {
149
+ id: 'copilot-vscode',
150
+ name: 'GitHub Copilot (VS Code)',
151
+ category: 'ide',
152
+ brand: 'githubcopilot',
153
+ methods: ['remote-header', 'remote-oauth', 'stdio'],
154
+ docsUrl: 'https://code.visualstudio.com/docs/agents/reference/mcp-configuration',
155
+ verifiedOn: '2026-09-25',
156
+ caveats: ['clients.caveat.copilotPolicy'],
157
+ install: null,
158
+ remote: (ctx) => [
159
+ json({ servers: { onlymcp: { type: 'http', url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, '.vscode/mcp.json'),
160
+ ],
161
+ };
162
+ // -- Cursor ---------------------------------------------------------------
163
+ // Docs: https://cursor.com/docs/mcp - `~/.cursor/mcp.json` (global) or
164
+ // `.cursor/mcp.json` (project), top-level `mcpServers`, entries take `url`
165
+ // and `headers`.
166
+ const cursor = {
167
+ id: 'cursor',
168
+ name: 'Cursor',
169
+ category: 'ide',
170
+ brand: 'cursor',
171
+ methods: ['remote-header', 'remote-oauth', 'stdio'],
172
+ docsUrl: 'https://cursor.com/docs/mcp',
173
+ verifiedOn: '2026-09-25',
174
+ caveats: [],
175
+ install: null,
176
+ remote: (ctx) => [
177
+ json({ mcpServers: { onlymcp: { url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, '~/.cursor/mcp.json'),
178
+ ],
179
+ };
180
+ // -- Windsurf ---------------------------------------------------------
181
+ // Docs: https://docs.windsurf.com/windsurf/cascade/mcp -
182
+ // `~/.codeium/windsurf/mcp_config.json`, top-level `mcpServers`, entries
183
+ // take `serverUrl` and `headers`. The 2026 Cognition rebrand to "Devin
184
+ // Desktop" folds Cascade into "Devin Local", but the config path and MCP
185
+ // JSON keys are unchanged (corroborated by a second, independent search,
186
+ // since the docs.windsurf.com redirect briefly showed a Devin-only path).
187
+ // Admin allowlist: once a team allowlists even one server, every
188
+ // non-allowlisted server is blocked for that team.
189
+ const windsurf = {
190
+ id: 'windsurf',
191
+ name: 'Windsurf',
192
+ category: 'ide',
193
+ brand: 'windsurf',
194
+ methods: ['remote-header', 'stdio'],
195
+ docsUrl: 'https://docs.windsurf.com/windsurf/cascade/mcp',
196
+ verifiedOn: '2026-09-25',
197
+ caveats: ['clients.caveat.windsurfAllowlist'],
198
+ install: null,
199
+ remote: (ctx) => [
200
+ json({ mcpServers: { onlymcp: { serverUrl: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, '~/.codeium/windsurf/mcp_config.json'),
201
+ ],
202
+ };
203
+ // -- Cline ------------------------------------------------------------
204
+ // Docs: https://docs.cline.bot/mcp/mcp-overview - the transport type must
205
+ // be the literal string "streamableHttp" (camelCase, no hyphen); "
206
+ // streamable-http" or an omitted type falls back to legacy SSE and a 405.
207
+ const cline = {
208
+ id: 'cline',
209
+ name: 'Cline',
210
+ category: 'ide',
211
+ brand: 'cline',
212
+ methods: ['remote-header', 'stdio'],
213
+ docsUrl: 'https://docs.cline.bot/mcp/mcp-overview',
214
+ verifiedOn: '2026-09-25',
215
+ caveats: [],
216
+ install: null,
217
+ remote: (ctx) => [
218
+ json({
219
+ mcpServers: {
220
+ onlymcp: { type: 'streamableHttp', url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } },
221
+ },
222
+ }, '~/.cline/mcp.json'),
223
+ ],
224
+ };
225
+ // -- Zed --------------------------------------------------------------
226
+ // Docs: https://zed.dev/docs/assistant/model-context-protocol - a remote
227
+ // server is keyed under `context_servers` with `url` and `headers`
228
+ // directly (no local proxy needed); an entry without an `Authorization`
229
+ // header triggers Zed's own OAuth prompt.
230
+ const zed = {
231
+ id: 'zed',
232
+ name: 'Zed',
233
+ category: 'ide',
234
+ brand: 'zedindustries',
235
+ methods: ['remote-header', 'remote-oauth', 'stdio'],
236
+ docsUrl: 'https://zed.dev/docs/assistant/model-context-protocol',
237
+ verifiedOn: '2026-09-25',
238
+ caveats: [],
239
+ install: null,
240
+ remote: (ctx) => [
241
+ json({ context_servers: { onlymcp: { url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, 'settings.json'),
242
+ ],
243
+ };
244
+ // -- Continue -----------------------------------------------------------
245
+ // No local binary to run `--help` against. Docs:
246
+ // https://docs.continue.dev/customize/deep-dives/mcp - `config.yaml`,
247
+ // `mcpServers` list entries take `type: streamable-http`, `url`, and
248
+ // `requestOptions.headers`; confirmed a third way in
249
+ // `core/context/mcp/MCPConnection.ts` on `main`, which builds the
250
+ // streamable-http transport's headers from `requestOptions?.headers`.
251
+ const continueClient = {
252
+ id: 'continue',
253
+ name: 'Continue',
254
+ category: 'ide',
255
+ brand: null,
256
+ methods: ['remote-header', 'stdio'],
257
+ docsUrl: 'https://docs.continue.dev/customize/deep-dives/mcp',
258
+ verifiedOn: '2026-09-25',
259
+ caveats: [],
260
+ install: null,
261
+ remote: (ctx) => [
262
+ {
263
+ language: 'yaml',
264
+ path: 'config.yaml',
265
+ text: [
266
+ 'mcpServers:',
267
+ ' - name: onlymcp',
268
+ ' type: streamable-http',
269
+ ` url: ${ctx.endpoint}`,
270
+ ' requestOptions:',
271
+ ' headers:',
272
+ ` Authorization: Bearer ${ctx.token}`,
273
+ ].join('\n'),
274
+ },
275
+ ],
276
+ };
277
+ // -- opencode -----------------------------------------------------------
278
+ // Docs: https://opencode.ai/docs/mcp-servers/ - `opencode.json`, servers
279
+ // live under `mcp`, a remote entry takes `type: "remote"`, `url`, and
280
+ // `headers`; OAuth is the default for a remote server unless `oauth:
281
+ // false` is set for a header/API-key-only server. OnlyMCP uses a bearer
282
+ // header here, so no `oauth` field is emitted.
283
+ const opencode = {
284
+ id: 'opencode',
285
+ name: 'opencode',
286
+ category: 'coding',
287
+ brand: 'opencode',
288
+ methods: ['remote-header', 'remote-oauth', 'stdio'],
289
+ docsUrl: 'https://opencode.ai/docs/mcp-servers/',
290
+ verifiedOn: '2026-09-25',
291
+ caveats: [],
292
+ install: null,
293
+ remote: (ctx) => [
294
+ json({ mcp: { onlymcp: { type: 'remote', url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, 'opencode.json'),
295
+ ],
296
+ };
297
+ export const CLIENTS = [
298
+ claudeCode,
299
+ claudeApp,
300
+ chatgpt,
301
+ codex,
302
+ geminiCli,
303
+ geminiApp,
304
+ copilotVscode,
305
+ cursor,
306
+ windsurf,
307
+ cline,
308
+ zed,
309
+ continueClient,
310
+ opencode,
311
+ ];
312
+ export function clientById(id) {
313
+ return CLIENTS.find((c) => c.id === id);
314
+ }
315
+ export function remoteSnippets(id, ctx) {
316
+ return clientById(id)?.remote(ctx) ?? null;
317
+ }
318
+ /**
319
+ * The local-install command for a client `npx onlymcp install` can set up,
320
+ * or null for every other one. Spec 07 §3.4: always with `npx`, always with
321
+ * `--client`, because the CLI without `--client` only lists the targets and
322
+ * exits 2.
323
+ */
324
+ export function installCommand(id) {
325
+ return clientById(id)?.install ? `npx onlymcp install --client ${id}` : null;
326
+ }
327
+ //# sourceMappingURL=clients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/registry/clients.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { CAVEATS, caveatText, type CaveatLanguage } from './caveats.js';
2
+ export { CLIENTS, clientById, installCommand, remoteSnippets } from './clients.js';
3
+ export { SERVERS } from './servers.js';
4
+ export type { ClientCategory, ClientId, ClientInstall, ClientRecord, ConnectMethod, RemoteContext, ServerRecord, Snippet, SnippetLanguage, } from './types.js';
@@ -0,0 +1,5 @@
1
+ // Generated by scripts/sync-registry.mjs. Do not edit.
2
+ export { CAVEATS, caveatText } from './caveats.js';
3
+ export { CLIENTS, clientById, installCommand, remoteSnippets } from './clients.js';
4
+ export { SERVERS } from './servers.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { ServerRecord } from './types.js';
2
+ /**
3
+ * The picture the product is named after: many MCP servers behind one
4
+ * connection. This catalogue backs the rotating tiles in
5
+ * `packages/web/src/components/McpHub.tsx`, `/api/mcp-catalog`, and the
6
+ * "add a server" step of Connect.
7
+ *
8
+ * Every server in the pool was verified, not remembered. Originally
9
+ * (2026-09-05): each URL was pushed through this product's own
10
+ * POST /api/mcp-connections/test, and only the ones that completed an MCP
11
+ * handshake or answered UNAUTHORIZED (which means a real MCP server is
12
+ * there and wants credentials) were listed. Dropped on that evidence:
13
+ * GitLab (mcp.gitlab.com does not resolve), Figma, Google Drive, Slack.
14
+ * Dropped for want of a brand icon: Canva, monday.com.
15
+ *
16
+ * Re-verified 2026-09-25 for this registry, this time against each
17
+ * vendor's own documentation (`docsUrl` below) AND a fresh local probe: a
18
+ * scratch script POSTed an MCP `initialize` request, unauthenticated, to
19
+ * every URL below. All 17 answered `401` with a `WWW-Authenticate: Bearer`
20
+ * header naming an OAuth protected-resource metadata document (for
21
+ * example `resource_metadata="https://mcp.notion.com/.well-known/oauth-
22
+ * protected-resource/mcp"`), which is exactly what a live MCP server
23
+ * behind OAuth returns - confirming each URL is real and reachable, not
24
+ * only documented. The finer distinction of `auth` below (whether a
25
+ * static bearer token is ALSO accepted, alongside OAuth) came from each
26
+ * vendor's docs, because a 401 alone cannot tell OAuth-only apart from
27
+ * OAuth-or-bearer.
28
+ *
29
+ * One correction from the 2026-09-05 note: this pass found Linear's docs
30
+ * now document `Authorization: Bearer <token>` as an accepted alternative
31
+ * to the interactive OAuth flow. The original spec text (problem #6)
32
+ * called Linear OAuth-only as of that date; either that capability is new,
33
+ * or it was missed in the first pass. `auth` below reflects the current,
34
+ * re-verified state, and this comment records the discrepancy rather than
35
+ * silently overwriting it.
36
+ *
37
+ * The open MCP registry is not a usable source for this list, by the way -
38
+ * anyone may publish there, and a search for "github" returns community
39
+ * wrappers hosted by third parties, not GitHub's own server.
40
+ *
41
+ * `filesystem` and `postgres`, the textbook examples, are absent on purpose:
42
+ * they are local stdio processes, and OnlyMCP deliberately does not run those
43
+ * (a process we spawn on a user's behalf is code execution on our side, see
44
+ * docs/SECURITY.md).
45
+ *
46
+ * The prefixes are real. `github__create_issue` is exactly what a client
47
+ * sees, because the gateway namespaces every proxied tool with the
48
+ * connection's slug (packages/api/src/mcp/gateway.ts).
49
+ */
50
+ export declare const SERVERS: readonly ServerRecord[];
@@ -0,0 +1,225 @@
1
+ /**
2
+ * The picture the product is named after: many MCP servers behind one
3
+ * connection. This catalogue backs the rotating tiles in
4
+ * `packages/web/src/components/McpHub.tsx`, `/api/mcp-catalog`, and the
5
+ * "add a server" step of Connect.
6
+ *
7
+ * Every server in the pool was verified, not remembered. Originally
8
+ * (2026-09-05): each URL was pushed through this product's own
9
+ * POST /api/mcp-connections/test, and only the ones that completed an MCP
10
+ * handshake or answered UNAUTHORIZED (which means a real MCP server is
11
+ * there and wants credentials) were listed. Dropped on that evidence:
12
+ * GitLab (mcp.gitlab.com does not resolve), Figma, Google Drive, Slack.
13
+ * Dropped for want of a brand icon: Canva, monday.com.
14
+ *
15
+ * Re-verified 2026-09-25 for this registry, this time against each
16
+ * vendor's own documentation (`docsUrl` below) AND a fresh local probe: a
17
+ * scratch script POSTed an MCP `initialize` request, unauthenticated, to
18
+ * every URL below. All 17 answered `401` with a `WWW-Authenticate: Bearer`
19
+ * header naming an OAuth protected-resource metadata document (for
20
+ * example `resource_metadata="https://mcp.notion.com/.well-known/oauth-
21
+ * protected-resource/mcp"`), which is exactly what a live MCP server
22
+ * behind OAuth returns - confirming each URL is real and reachable, not
23
+ * only documented. The finer distinction of `auth` below (whether a
24
+ * static bearer token is ALSO accepted, alongside OAuth) came from each
25
+ * vendor's docs, because a 401 alone cannot tell OAuth-only apart from
26
+ * OAuth-or-bearer.
27
+ *
28
+ * One correction from the 2026-09-05 note: this pass found Linear's docs
29
+ * now document `Authorization: Bearer <token>` as an accepted alternative
30
+ * to the interactive OAuth flow. The original spec text (problem #6)
31
+ * called Linear OAuth-only as of that date; either that capability is new,
32
+ * or it was missed in the first pass. `auth` below reflects the current,
33
+ * re-verified state, and this comment records the discrepancy rather than
34
+ * silently overwriting it.
35
+ *
36
+ * The open MCP registry is not a usable source for this list, by the way -
37
+ * anyone may publish there, and a search for "github" returns community
38
+ * wrappers hosted by third parties, not GitHub's own server.
39
+ *
40
+ * `filesystem` and `postgres`, the textbook examples, are absent on purpose:
41
+ * they are local stdio processes, and OnlyMCP deliberately does not run those
42
+ * (a process we spawn on a user's behalf is code execution on our side, see
43
+ * docs/SECURITY.md).
44
+ *
45
+ * The prefixes are real. `github__create_issue` is exactly what a client
46
+ * sees, because the gateway namespaces every proxied tool with the
47
+ * connection's slug (packages/api/src/mcp/gateway.ts).
48
+ */
49
+ export const SERVERS = [
50
+ {
51
+ id: 'github',
52
+ name: 'GitHub',
53
+ brand: 'github',
54
+ url: 'https://api.githubcopilot.com/mcp/',
55
+ auth: 'oauth-or-bearer',
56
+ docsUrl: 'https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server',
57
+ verifiedOn: '2026-09-25',
58
+ suggestedSlug: 'github',
59
+ },
60
+ {
61
+ id: 'linear',
62
+ name: 'Linear',
63
+ brand: 'linear',
64
+ url: 'https://mcp.linear.app/mcp',
65
+ auth: 'oauth-or-bearer',
66
+ docsUrl: 'https://linear.app/docs/mcp',
67
+ verifiedOn: '2026-09-25',
68
+ suggestedSlug: 'linear',
69
+ },
70
+ {
71
+ id: 'notion',
72
+ name: 'Notion',
73
+ brand: 'notion',
74
+ url: 'https://mcp.notion.com/mcp',
75
+ auth: 'oauth',
76
+ docsUrl: 'https://developers.notion.com/guides/mcp/get-started-with-mcp',
77
+ verifiedOn: '2026-09-25',
78
+ suggestedSlug: 'notion',
79
+ },
80
+ {
81
+ id: 'sentry',
82
+ name: 'Sentry',
83
+ brand: 'sentry',
84
+ url: 'https://mcp.sentry.dev/mcp',
85
+ auth: 'oauth',
86
+ docsUrl: 'https://docs.sentry.io/product/mcp-servers/getting-started/',
87
+ verifiedOn: '2026-09-25',
88
+ suggestedSlug: 'sentry',
89
+ },
90
+ {
91
+ id: 'stripe',
92
+ name: 'Stripe',
93
+ brand: 'stripe',
94
+ url: 'https://mcp.stripe.com',
95
+ auth: 'oauth-or-bearer',
96
+ docsUrl: 'https://docs.stripe.com/mcp',
97
+ verifiedOn: '2026-09-25',
98
+ suggestedSlug: 'stripe',
99
+ },
100
+ {
101
+ id: 'supabase',
102
+ name: 'Supabase',
103
+ brand: 'supabase',
104
+ url: 'https://mcp.supabase.com/mcp',
105
+ auth: 'oauth-or-bearer',
106
+ docsUrl: 'https://supabase.com/docs/guides/ai-tools/mcp',
107
+ verifiedOn: '2026-09-25',
108
+ suggestedSlug: 'supabase',
109
+ },
110
+ {
111
+ id: 'vercel',
112
+ name: 'Vercel',
113
+ brand: 'vercel',
114
+ url: 'https://mcp.vercel.com',
115
+ auth: 'oauth',
116
+ docsUrl: 'https://vercel.com/docs/mcp/vercel-mcp',
117
+ verifiedOn: '2026-09-25',
118
+ suggestedSlug: 'vercel',
119
+ },
120
+ {
121
+ id: 'atlassian',
122
+ name: 'Atlassian',
123
+ brand: 'atlassian',
124
+ url: 'https://mcp.atlassian.com/v2/mcp',
125
+ auth: 'oauth-or-bearer',
126
+ docsUrl: 'https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/',
127
+ verifiedOn: '2026-09-25',
128
+ suggestedSlug: 'atlassian',
129
+ },
130
+ {
131
+ id: 'asana',
132
+ name: 'Asana',
133
+ brand: 'asana',
134
+ // V2. The V1 Beta server (mcp.asana.com/sse) shut down 2026-08-05.
135
+ url: 'https://mcp.asana.com/v2/mcp',
136
+ auth: 'oauth',
137
+ docsUrl: 'https://developers.asana.com/docs/integrating-with-asanas-mcp-server',
138
+ verifiedOn: '2026-09-25',
139
+ suggestedSlug: 'asana',
140
+ },
141
+ {
142
+ id: 'cloudflare',
143
+ name: 'Cloudflare',
144
+ brand: 'cloudflare',
145
+ // The general-purpose one: 2,500+ endpoints across DNS, Workers, R2,
146
+ // Zero Trust. Cloudflare also hosts 16 narrower servers (docs,
147
+ // bindings, observability, ...), not used here.
148
+ url: 'https://mcp.cloudflare.com/mcp',
149
+ auth: 'oauth',
150
+ docsUrl: 'https://developers.cloudflare.com/agents/model-context-protocol/cloudflare/servers-for-cloudflare/',
151
+ verifiedOn: '2026-09-25',
152
+ suggestedSlug: 'cloudflare',
153
+ },
154
+ {
155
+ id: 'intercom',
156
+ name: 'Intercom',
157
+ brand: 'intercom',
158
+ url: 'https://mcp.intercom.com/mcp',
159
+ auth: 'oauth-or-bearer',
160
+ docsUrl: 'https://developers.intercom.com/docs/guides/mcp',
161
+ verifiedOn: '2026-09-25',
162
+ suggestedSlug: 'intercom',
163
+ },
164
+ {
165
+ id: 'hubspot',
166
+ name: 'HubSpot',
167
+ brand: 'hubspot',
168
+ url: 'https://mcp.hubspot.com',
169
+ auth: 'oauth',
170
+ docsUrl: 'https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server',
171
+ verifiedOn: '2026-09-25',
172
+ suggestedSlug: 'hubspot',
173
+ },
174
+ {
175
+ id: 'netlify',
176
+ name: 'Netlify',
177
+ brand: 'netlify',
178
+ url: 'https://netlify-mcp.netlify.app/mcp',
179
+ auth: 'oauth-or-bearer',
180
+ docsUrl: 'https://docs.netlify.com/build/build-with-ai/netlify-mcp-server/',
181
+ verifiedOn: '2026-09-25',
182
+ suggestedSlug: 'netlify',
183
+ },
184
+ {
185
+ id: 'neon',
186
+ name: 'Neon',
187
+ brand: 'neon',
188
+ url: 'https://mcp.neon.tech/mcp',
189
+ auth: 'oauth-or-bearer',
190
+ docsUrl: 'https://neon.com/docs/ai/connect-mcp-clients-to-neon',
191
+ verifiedOn: '2026-09-25',
192
+ suggestedSlug: 'neon',
193
+ },
194
+ {
195
+ id: 'zapier',
196
+ name: 'Zapier',
197
+ brand: 'zapier',
198
+ url: 'https://mcp.zapier.com/api/v1/connect',
199
+ auth: 'oauth-or-bearer',
200
+ docsUrl: 'https://docs.zapier.com/mcp/overview/how-connections-work',
201
+ verifiedOn: '2026-09-25',
202
+ suggestedSlug: 'zapier',
203
+ },
204
+ {
205
+ id: 'webflow',
206
+ name: 'Webflow',
207
+ brand: 'webflow',
208
+ url: 'https://mcp.webflow.com/mcp',
209
+ auth: 'oauth',
210
+ docsUrl: 'https://developers.webflow.com/mcp/reference/getting-started',
211
+ verifiedOn: '2026-09-25',
212
+ suggestedSlug: 'webflow',
213
+ },
214
+ {
215
+ id: 'wix',
216
+ name: 'Wix',
217
+ brand: 'wix',
218
+ url: 'https://mcp.wix.com/mcp',
219
+ auth: 'oauth-or-bearer',
220
+ docsUrl: 'https://dev.wix.com/docs/overview/ai-the-wix-platform/the-wix-mcp',
221
+ verifiedOn: '2026-09-25',
222
+ suggestedSlug: 'wix',
223
+ },
224
+ ];
225
+ //# sourceMappingURL=servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/registry/servers.ts"],"names":[],"mappings":"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"}