onlymcp 0.17.0 → 0.20.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.
- package/LICENSE +33 -17
- package/README.md +2 -1
- package/dist/bin/cli.js +68 -583
- package/dist/bin/mcp.js +45 -73
- package/package.json +7 -10
- package/dist/apiBaseUrl.d.ts +0 -12
- package/dist/apiBaseUrl.js +0 -28
- package/dist/apiBaseUrl.js.map +0 -1
- package/dist/apiClient.d.ts +0 -296
- package/dist/apiClient.js +0 -224
- package/dist/apiClient.js.map +0 -1
- package/dist/auth/deviceLogin.d.ts +0 -5
- package/dist/auth/deviceLogin.js +0 -40
- package/dist/auth/deviceLogin.js.map +0 -1
- package/dist/auth/keyring.d.ts +0 -16
- package/dist/auth/keyring.js +0 -33
- package/dist/auth/keyring.js.map +0 -1
- package/dist/bin/cli.d.ts +0 -2
- package/dist/bin/cli.js.map +0 -1
- package/dist/bin/mcp.d.ts +0 -2
- package/dist/bin/mcp.js.map +0 -1
- package/dist/cache.d.ts +0 -7
- package/dist/cache.js +0 -32
- package/dist/cache.js.map +0 -1
- package/dist/deviceId.d.ts +0 -2
- package/dist/deviceId.js +0 -97
- package/dist/deviceId.js.map +0 -1
- package/dist/export/unpack.d.ts +0 -33
- package/dist/export/unpack.js +0 -54
- package/dist/export/unpack.js.map +0 -1
- package/dist/identity.d.ts +0 -29
- package/dist/identity.js +0 -116
- package/dist/identity.js.map +0 -1
- package/dist/import/collect.d.ts +0 -25
- package/dist/import/collect.js +0 -101
- package/dist/import/collect.js.map +0 -1
- package/dist/import/frontmatter.d.ts +0 -44
- package/dist/import/frontmatter.js +0 -93
- package/dist/import/frontmatter.js.map +0 -1
- package/dist/import/plan.d.ts +0 -74
- package/dist/import/plan.js +0 -190
- package/dist/import/plan.js.map +0 -1
- package/dist/import/prune.d.ts +0 -46
- package/dist/import/prune.js +0 -61
- package/dist/import/prune.js.map +0 -1
- package/dist/import/secrets.d.ts +0 -7
- package/dist/import/secrets.js +0 -77
- package/dist/import/secrets.js.map +0 -1
- package/dist/import/upload.d.ts +0 -21
- package/dist/import/upload.js +0 -99
- package/dist/import/upload.js.map +0 -1
- package/dist/install.d.ts +0 -81
- package/dist/install.js +0 -168
- package/dist/install.js.map +0 -1
- package/dist/instructions.d.ts +0 -4
- package/dist/instructions.js +0 -67
- package/dist/instructions.js.map +0 -1
- package/dist/memoryPath.d.ts +0 -1
- package/dist/memoryPath.js +0 -13
- package/dist/memoryPath.js.map +0 -1
- package/dist/memorySync.d.ts +0 -28
- package/dist/memorySync.js +0 -56
- package/dist/memorySync.js.map +0 -1
- package/dist/paths.d.ts +0 -18
- package/dist/paths.js +0 -62
- package/dist/paths.js.map +0 -1
- package/dist/registry/caveats.d.ts +0 -17
- package/dist/registry/caveats.js +0 -74
- package/dist/registry/caveats.js.map +0 -1
- package/dist/registry/clients.d.ts +0 -17
- package/dist/registry/clients.js +0 -402
- package/dist/registry/clients.js.map +0 -1
- package/dist/registry/index.d.ts +0 -6
- package/dist/registry/index.js +0 -7
- package/dist/registry/index.js.map +0 -1
- package/dist/registry/serverInfo.d.ts +0 -25
- package/dist/registry/serverInfo.js +0 -33
- package/dist/registry/serverInfo.js.map +0 -1
- package/dist/registry/servers.d.ts +0 -58
- package/dist/registry/servers.js +0 -259
- package/dist/registry/servers.js.map +0 -1
- package/dist/registry/toolHints.d.ts +0 -29
- package/dist/registry/toolHints.js +0 -41
- package/dist/registry/toolHints.js.map +0 -1
- package/dist/registry/types.d.ts +0 -71
- package/dist/registry/types.js +0 -6
- package/dist/registry/types.js.map +0 -1
- package/dist/skillFilePath.d.ts +0 -1
- package/dist/skillFilePath.js +0 -29
- package/dist/skillFilePath.js.map +0 -1
- package/dist/stubIgnore.d.ts +0 -22
- package/dist/stubIgnore.js +0 -29
- package/dist/stubIgnore.js.map +0 -1
- package/dist/stubs.d.ts +0 -12
- package/dist/stubs.js +0 -188
- package/dist/stubs.js.map +0 -1
- package/dist/tools/connections.d.ts +0 -154
- package/dist/tools/connections.js +0 -164
- package/dist/tools/connections.js.map +0 -1
- package/dist/tools/getAgentDefinition.d.ts +0 -26
- package/dist/tools/getAgentDefinition.js +0 -29
- package/dist/tools/getAgentDefinition.js.map +0 -1
- package/dist/tools/getSkill.d.ts +0 -26
- package/dist/tools/getSkill.js +0 -26
- package/dist/tools/getSkill.js.map +0 -1
- package/dist/tools/getSkillFile.d.ts +0 -27
- package/dist/tools/getSkillFile.js +0 -39
- package/dist/tools/getSkillFile.js.map +0 -1
- package/dist/tools/index.d.ts +0 -263
- package/dist/tools/index.js +0 -69
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/lists.d.ts +0 -38
- package/dist/tools/lists.js +0 -39
- package/dist/tools/lists.js.map +0 -1
- package/dist/tools/memoryGraph.d.ts +0 -69
- package/dist/tools/memoryGraph.js +0 -128
- package/dist/tools/memoryGraph.js.map +0 -1
- package/dist/tools/memoryRead.d.ts +0 -25
- package/dist/tools/memoryRead.js +0 -33
- package/dist/tools/memoryRead.js.map +0 -1
- package/dist/tools/memoryWrite.d.ts +0 -27
- package/dist/tools/memoryWrite.js +0 -34
- package/dist/tools/memoryWrite.js.map +0 -1
- package/dist/tools/write.d.ts +0 -166
- package/dist/tools/write.js +0 -193
- package/dist/tools/write.js.map +0 -1
package/dist/registry/clients.js
DELETED
|
@@ -1,402 +0,0 @@
|
|
|
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) 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: ['clients.caveat.claudeCodeConnectorSynced'],
|
|
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
|
-
// OAuth redirect (checked 2026-10-18): https://claude.ai/api/mcp/auth_callback per
|
|
45
|
-
// https://support.claude.com/en/articles/11503834, which says it may move to claude.com and to allow both.
|
|
46
|
-
const claudeApp = {
|
|
47
|
-
id: 'claude-app',
|
|
48
|
-
name: 'Claude',
|
|
49
|
-
category: 'chat',
|
|
50
|
-
brand: 'claude',
|
|
51
|
-
methods: ['remote-oauth'],
|
|
52
|
-
docsUrl: 'https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp',
|
|
53
|
-
verifiedOn: '2026-09-25',
|
|
54
|
-
caveats: ['clients.caveat.claudeHeaderBeta'],
|
|
55
|
-
install: null,
|
|
56
|
-
oauthRedirectHosts: ['claude.ai', 'claude.com'],
|
|
57
|
-
remote: () => null,
|
|
58
|
-
};
|
|
59
|
-
// -- ChatGPT --------------------------------------------------------------
|
|
60
|
-
// Brand 'openai': OpenAI publishes the blossom only, no mark of its own for ChatGPT or for Codex. Both are OpenAI
|
|
61
|
-
// services, so both show the official blossom files (web/public/brand/clients/SOURCES.md has the terms and conditions).
|
|
62
|
-
// Docs: https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt
|
|
63
|
-
// Developer mode (where custom MCP connectors are built and tested) is
|
|
64
|
-
// available for ChatGPT Business and Enterprise/Edu customers on the web;
|
|
65
|
-
// only admins/owners can enable it. Connectors authorize through OAuth.
|
|
66
|
-
// OAuth redirect (checked 2026-10-18): https://chatgpt.com/connector/oauth/{callback_id}, and the legacy
|
|
67
|
-
// https://chatgpt.com/connector_platform_oauth_redirect, per https://developers.openai.com/plugins/build/auth.
|
|
68
|
-
const chatgpt = {
|
|
69
|
-
id: 'chatgpt',
|
|
70
|
-
name: 'ChatGPT',
|
|
71
|
-
category: 'chat',
|
|
72
|
-
brand: 'openai',
|
|
73
|
-
methods: ['remote-oauth'],
|
|
74
|
-
docsUrl: 'https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt',
|
|
75
|
-
verifiedOn: '2026-09-25',
|
|
76
|
-
caveats: ['clients.caveat.chatgptDeveloperMode'],
|
|
77
|
-
install: null,
|
|
78
|
-
oauthRedirectHosts: ['chatgpt.com'],
|
|
79
|
-
remote: () => null,
|
|
80
|
-
};
|
|
81
|
-
// -- Codex ------------------------------------------------------------
|
|
82
|
-
// Verified locally: `codex mcp add --help` (codex-cli 0.154.0) has `--url`
|
|
83
|
-
// and `--bearer-token-env-var`, no header flag.
|
|
84
|
-
// Docs: https://learn.chatgpt.com/docs/extend/mcp?surface=cli (the current
|
|
85
|
-
// redirect target of developers.openai.com/codex/mcp) confirms
|
|
86
|
-
// `bearer_token_env_var` names an environment variable, read by Codex, not
|
|
87
|
-
// a literal token; `http_headers` and `env_http_headers` exist as separate,
|
|
88
|
-
// alternative fields for static/derived headers, never combined with
|
|
89
|
-
// `--header` (Codex has no such flag).
|
|
90
|
-
const codex = {
|
|
91
|
-
id: 'codex',
|
|
92
|
-
name: 'Codex',
|
|
93
|
-
category: 'coding',
|
|
94
|
-
brand: 'openai',
|
|
95
|
-
methods: ['remote-header', 'remote-oauth', 'stdio'],
|
|
96
|
-
docsUrl: 'https://learn.chatgpt.com/docs/extend/mcp?surface=cli',
|
|
97
|
-
verifiedOn: '2026-09-25',
|
|
98
|
-
// `bearer_token_env_var` stores only the environment variable's NAME in
|
|
99
|
-
// config.toml, never the token value: Codex must therefore read the
|
|
100
|
-
// variable itself at every startup, so the export belongs in the user's
|
|
101
|
-
// shell profile, not just the terminal session that ran `mcp add`.
|
|
102
|
-
caveats: ['clients.caveat.codexTokenEnv'],
|
|
103
|
-
install: { configPath: '~/.codex/config.toml', format: 'toml', stubDir: '~/.codex/skills' },
|
|
104
|
-
remote: (ctx) => [
|
|
105
|
-
bash([
|
|
106
|
-
`export ONLYMCP_TOKEN=${ctx.token}`,
|
|
107
|
-
`codex mcp add onlymcp --url ${ctx.endpoint} --bearer-token-env-var ONLYMCP_TOKEN`,
|
|
108
|
-
].join('\n')),
|
|
109
|
-
],
|
|
110
|
-
};
|
|
111
|
-
// -- Antigravity -------------------------------------------------------
|
|
112
|
-
// Google retired its Gemini command line client for personal accounts on 2026-06-18
|
|
113
|
-
// (github.com/google-gemini/gemini-cli/discussions/27274); the successor is
|
|
114
|
-
// Antigravity, whose CLI is `agy`. The old id stays as an alias, so old links and
|
|
115
|
-
// `install --client gemini-cli` land here.
|
|
116
|
-
// Docs: https://antigravity.google/docs/mcp (checked 2026-10-17) - global
|
|
117
|
-
// `~/.gemini/config/mcp_config.json`, workspace `.agents/mcp_config.json`, top-level
|
|
118
|
-
// `mcpServers`. A remote server takes `serverUrl` (the keys `url` and `httpUrl` are
|
|
119
|
-
// NOT supported) and optional `headers`; a remote server with OAuth and dynamic
|
|
120
|
-
// client registration needs only `serverUrl`. Entries the retired client
|
|
121
|
-
// left in `~/.gemini/settings.json` are left alone.
|
|
122
|
-
// Brand 'antigravity': Google's own icon files, shown under the owner's decision D9
|
|
123
|
-
// (web/public/brand/clients/SOURCES.md has the source, the wording and the residual risk).
|
|
124
|
-
// OAuth redirect: the docs name none. Its registrations on only-mcp.com (seen 2026-10-18) all use
|
|
125
|
-
// https://antigravity.google/oauth-callback, under the names "antigravity-client" and "Google Antigravity".
|
|
126
|
-
const antigravity = {
|
|
127
|
-
id: 'antigravity',
|
|
128
|
-
aliases: ['gemini-cli'],
|
|
129
|
-
name: 'Antigravity',
|
|
130
|
-
category: 'coding',
|
|
131
|
-
brand: 'antigravity',
|
|
132
|
-
methods: ['remote-oauth', 'remote-header', 'stdio'],
|
|
133
|
-
docsUrl: 'https://antigravity.google/docs/mcp',
|
|
134
|
-
verifiedOn: '2026-10-17',
|
|
135
|
-
caveats: [],
|
|
136
|
-
install: { configPath: '~/.gemini/config/mcp_config.json', format: 'json', stubDir: null },
|
|
137
|
-
oauthRedirectHosts: ['antigravity.google'],
|
|
138
|
-
remote: (ctx) => [
|
|
139
|
-
json({ mcpServers: { onlymcp: { serverUrl: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, '~/.gemini/config/mcp_config.json'),
|
|
140
|
-
],
|
|
141
|
-
};
|
|
142
|
-
// -- Gemini app (Gemini Spark) --------------------------------------------
|
|
143
|
-
// Docs: https://support.google.com/gemini/answer/17209137
|
|
144
|
-
// The page is live although a HEAD request says 404: support.google.com
|
|
145
|
-
// answers HEAD with 404 for every article and GET with 200 (checked
|
|
146
|
-
// 2026-10-05, also on answer/13695044), so a link check has to GET it.
|
|
147
|
-
// Custom connected apps take an MCP server URL and require a personal
|
|
148
|
-
// Google account that is 18+ and in the US, with Keep Activity on. On
|
|
149
|
-
// 2026-09-25 the page limited them to Gemini Spark tasks; since 2026-10-05
|
|
150
|
-
// it reads "workflows with Gemini Spark or take quick actions in chat".
|
|
151
|
-
// The caveat says that since 2026-10-10 (page read with GET that day).
|
|
152
|
-
const geminiApp = {
|
|
153
|
-
id: 'gemini-app',
|
|
154
|
-
name: 'Gemini',
|
|
155
|
-
category: 'chat',
|
|
156
|
-
brand: 'googlegemini',
|
|
157
|
-
methods: ['remote-oauth'],
|
|
158
|
-
docsUrl: 'https://support.google.com/gemini/answer/17209137',
|
|
159
|
-
verifiedOn: '2026-10-10',
|
|
160
|
-
caveats: ['clients.caveat.geminiAppSpark'],
|
|
161
|
-
install: null,
|
|
162
|
-
remote: () => null,
|
|
163
|
-
};
|
|
164
|
-
// -- Grok -----------------------------------------------------------------
|
|
165
|
-
// Docs: https://docs.x.ai/grok/connectors (checked 2026-10-17) - custom remote MCP connectors live at
|
|
166
|
-
// grok.com/connectors (New Connector, Custom, the server URL, then the server's own OAuth sign-in), on a paid plan;
|
|
167
|
-
// Business and Enterprise need an admin to add the connector in console.x.ai first. No command exists, so the steps
|
|
168
|
-
// are in the caveats.
|
|
169
|
-
// Brand 'grok': xAI's official logomark files (web/public/brand/clients/SOURCES.md has the source and the terms).
|
|
170
|
-
// OAuth redirect: the docs name none. Its registrations on only-mcp.com (seen 2026-10-18) use
|
|
171
|
-
// https://grok.com/connectors-oauth-exchange-code/.
|
|
172
|
-
const grok = {
|
|
173
|
-
id: 'grok',
|
|
174
|
-
name: 'Grok',
|
|
175
|
-
category: 'chat',
|
|
176
|
-
brand: 'grok',
|
|
177
|
-
methods: ['remote-oauth'],
|
|
178
|
-
docsUrl: 'https://docs.x.ai/grok/connectors',
|
|
179
|
-
verifiedOn: '2026-10-17',
|
|
180
|
-
caveats: ['clients.caveat.grokConnectors', 'clients.caveat.grokBusinessAdmin'],
|
|
181
|
-
install: null,
|
|
182
|
-
oauthRedirectHosts: ['grok.com'],
|
|
183
|
-
remote: () => null,
|
|
184
|
-
};
|
|
185
|
-
// -- GitHub Copilot in VS Code --------------------------------------------
|
|
186
|
-
// Docs: https://code.visualstudio.com/docs/agents/reference/mcp-configuration
|
|
187
|
-
// `.vscode/mcp.json` (workspace) with a top-level `servers` object, entries
|
|
188
|
-
// take `type: "http"`, `url`, `headers`. Copilot policy per
|
|
189
|
-
// https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server:
|
|
190
|
-
// Business/Enterprise tenants must enable "MCP servers in Copilot" first.
|
|
191
|
-
const copilotVscode = {
|
|
192
|
-
id: 'copilot-vscode',
|
|
193
|
-
name: 'GitHub Copilot (VS Code)',
|
|
194
|
-
category: 'ide',
|
|
195
|
-
brand: 'githubcopilot',
|
|
196
|
-
methods: ['remote-header', 'remote-oauth', 'stdio'],
|
|
197
|
-
docsUrl: 'https://code.visualstudio.com/docs/agents/reference/mcp-configuration',
|
|
198
|
-
verifiedOn: '2026-09-25',
|
|
199
|
-
caveats: ['clients.caveat.copilotPolicy'],
|
|
200
|
-
install: null,
|
|
201
|
-
remote: (ctx) => [
|
|
202
|
-
json({ servers: { onlymcp: { type: 'http', url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, '.vscode/mcp.json'),
|
|
203
|
-
],
|
|
204
|
-
};
|
|
205
|
-
// -- Cursor ---------------------------------------------------------------
|
|
206
|
-
// Docs: https://cursor.com/docs/mcp - `~/.cursor/mcp.json` (global) or
|
|
207
|
-
// `.cursor/mcp.json` (project), top-level `mcpServers`, entries take `url`
|
|
208
|
-
// and `headers`.
|
|
209
|
-
const cursor = {
|
|
210
|
-
id: 'cursor',
|
|
211
|
-
name: 'Cursor',
|
|
212
|
-
category: 'ide',
|
|
213
|
-
brand: 'cursor',
|
|
214
|
-
methods: ['remote-header', 'remote-oauth', 'stdio'],
|
|
215
|
-
docsUrl: 'https://cursor.com/docs/mcp',
|
|
216
|
-
verifiedOn: '2026-09-25',
|
|
217
|
-
caveats: [],
|
|
218
|
-
install: null,
|
|
219
|
-
remote: (ctx) => [
|
|
220
|
-
json({ mcpServers: { onlymcp: { url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, '~/.cursor/mcp.json'),
|
|
221
|
-
],
|
|
222
|
-
};
|
|
223
|
-
// -- Windsurf ---------------------------------------------------------
|
|
224
|
-
// Docs: https://docs.windsurf.com/windsurf/cascade/mcp -
|
|
225
|
-
// `~/.codeium/windsurf/mcp_config.json`, top-level `mcpServers`, entries
|
|
226
|
-
// take `serverUrl` and `headers`. The 2026 Cognition rebrand to "Devin
|
|
227
|
-
// Desktop" folds Cascade into "Devin Local", but the config path and MCP
|
|
228
|
-
// JSON keys are unchanged (corroborated by a second, independent search,
|
|
229
|
-
// since the docs.windsurf.com redirect briefly showed a Devin-only path).
|
|
230
|
-
// Admin allowlist: once a team allowlists even one server, every
|
|
231
|
-
// non-allowlisted server is blocked for that team.
|
|
232
|
-
const windsurf = {
|
|
233
|
-
id: 'windsurf',
|
|
234
|
-
name: 'Windsurf',
|
|
235
|
-
category: 'ide',
|
|
236
|
-
brand: 'windsurf',
|
|
237
|
-
methods: ['remote-header', 'stdio'],
|
|
238
|
-
docsUrl: 'https://docs.windsurf.com/windsurf/cascade/mcp',
|
|
239
|
-
verifiedOn: '2026-09-25',
|
|
240
|
-
caveats: ['clients.caveat.windsurfAllowlist'],
|
|
241
|
-
install: null,
|
|
242
|
-
remote: (ctx) => [
|
|
243
|
-
json({ mcpServers: { onlymcp: { serverUrl: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, '~/.codeium/windsurf/mcp_config.json'),
|
|
244
|
-
],
|
|
245
|
-
};
|
|
246
|
-
// -- Cline ------------------------------------------------------------
|
|
247
|
-
// Docs: https://docs.cline.bot/mcp/mcp-overview - the transport type must
|
|
248
|
-
// be the literal string "streamableHttp" (camelCase, no hyphen); "
|
|
249
|
-
// streamable-http" or an omitted type falls back to legacy SSE and a 405.
|
|
250
|
-
const cline = {
|
|
251
|
-
id: 'cline',
|
|
252
|
-
name: 'Cline',
|
|
253
|
-
category: 'ide',
|
|
254
|
-
brand: 'cline',
|
|
255
|
-
methods: ['remote-header', 'stdio'],
|
|
256
|
-
docsUrl: 'https://docs.cline.bot/mcp/mcp-overview',
|
|
257
|
-
verifiedOn: '2026-09-25',
|
|
258
|
-
caveats: [],
|
|
259
|
-
install: null,
|
|
260
|
-
remote: (ctx) => [
|
|
261
|
-
json({
|
|
262
|
-
mcpServers: {
|
|
263
|
-
onlymcp: { type: 'streamableHttp', url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } },
|
|
264
|
-
},
|
|
265
|
-
}, '~/.cline/mcp.json'),
|
|
266
|
-
],
|
|
267
|
-
};
|
|
268
|
-
// -- Zed --------------------------------------------------------------
|
|
269
|
-
// Docs: https://zed.dev/docs/assistant/model-context-protocol - a remote
|
|
270
|
-
// server is keyed under `context_servers` with `url` and `headers`
|
|
271
|
-
// directly (no local proxy needed); an entry without an `Authorization`
|
|
272
|
-
// header triggers Zed's own OAuth prompt.
|
|
273
|
-
const zed = {
|
|
274
|
-
id: 'zed',
|
|
275
|
-
name: 'Zed',
|
|
276
|
-
category: 'ide',
|
|
277
|
-
brand: 'zedindustries',
|
|
278
|
-
methods: ['remote-header', 'remote-oauth', 'stdio'],
|
|
279
|
-
docsUrl: 'https://zed.dev/docs/assistant/model-context-protocol',
|
|
280
|
-
verifiedOn: '2026-09-25',
|
|
281
|
-
caveats: [],
|
|
282
|
-
install: null,
|
|
283
|
-
remote: (ctx) => [
|
|
284
|
-
json({ context_servers: { onlymcp: { url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, 'settings.json'),
|
|
285
|
-
],
|
|
286
|
-
};
|
|
287
|
-
// -- Continue -----------------------------------------------------------
|
|
288
|
-
// No local binary to run `--help` against. Docs:
|
|
289
|
-
// https://docs.continue.dev/customize/deep-dives/mcp - `config.yaml`,
|
|
290
|
-
// `mcpServers` list entries take `type: streamable-http`, `url`, and
|
|
291
|
-
// `requestOptions.headers`; confirmed a third way in
|
|
292
|
-
// `core/context/mcp/MCPConnection.ts` on `main`, which builds the
|
|
293
|
-
// streamable-http transport's headers from `requestOptions?.headers`.
|
|
294
|
-
const continueClient = {
|
|
295
|
-
id: 'continue',
|
|
296
|
-
name: 'Continue',
|
|
297
|
-
category: 'ide',
|
|
298
|
-
brand: null,
|
|
299
|
-
methods: ['remote-header', 'stdio'],
|
|
300
|
-
docsUrl: 'https://docs.continue.dev/customize/deep-dives/mcp',
|
|
301
|
-
verifiedOn: '2026-09-25',
|
|
302
|
-
caveats: [],
|
|
303
|
-
install: null,
|
|
304
|
-
remote: (ctx) => [
|
|
305
|
-
{
|
|
306
|
-
language: 'yaml',
|
|
307
|
-
path: 'config.yaml',
|
|
308
|
-
text: [
|
|
309
|
-
'mcpServers:',
|
|
310
|
-
' - name: onlymcp',
|
|
311
|
-
' type: streamable-http',
|
|
312
|
-
` url: ${ctx.endpoint}`,
|
|
313
|
-
' requestOptions:',
|
|
314
|
-
' headers:',
|
|
315
|
-
` Authorization: Bearer ${ctx.token}`,
|
|
316
|
-
].join('\n'),
|
|
317
|
-
},
|
|
318
|
-
],
|
|
319
|
-
};
|
|
320
|
-
// -- opencode -----------------------------------------------------------
|
|
321
|
-
// Docs: https://opencode.ai/docs/mcp-servers/ - `opencode.json`, servers
|
|
322
|
-
// live under `mcp`, a remote entry takes `type: "remote"`, `url`, and
|
|
323
|
-
// `headers`; OAuth is the default for a remote server unless `oauth:
|
|
324
|
-
// false` is set for a header/API-key-only server. OnlyMCP uses a bearer
|
|
325
|
-
// header here, so no `oauth` field is emitted.
|
|
326
|
-
const opencode = {
|
|
327
|
-
id: 'opencode',
|
|
328
|
-
name: 'opencode',
|
|
329
|
-
category: 'coding',
|
|
330
|
-
brand: 'opencode',
|
|
331
|
-
methods: ['remote-header', 'remote-oauth', 'stdio'],
|
|
332
|
-
docsUrl: 'https://opencode.ai/docs/mcp-servers/',
|
|
333
|
-
verifiedOn: '2026-09-25',
|
|
334
|
-
caveats: [],
|
|
335
|
-
install: null,
|
|
336
|
-
remote: (ctx) => [
|
|
337
|
-
json({ mcp: { onlymcp: { type: 'remote', url: ctx.endpoint, headers: { Authorization: `Bearer ${ctx.token}` } } } }, 'opencode.json'),
|
|
338
|
-
],
|
|
339
|
-
};
|
|
340
|
-
// -- GitLab Duo -------------------------------------------------------------
|
|
341
|
-
// Docs: https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients (checked 2026-10-18) - the user
|
|
342
|
-
// file is `~/.gitlab/duo/mcp.json` (JetBrains IDEs and the GitLab Duo CLI; in VS Code the command "GitLab MCP: Open
|
|
343
|
-
// User Settings (JSON)" opens it), a workspace file is `.gitlab/duo/mcp.json`; configuration files need the GitLab for
|
|
344
|
-
// VS Code extension 6.35.6 or later. `mcpServers` entries take `type: "http"` and `url`. The docs document no
|
|
345
|
-
// `headers` key and show a remote server's own sign-in starting by itself, so the only method is OAuth and the snippet
|
|
346
|
-
// carries no token. `approvedTools` is left out: the user approves tools in the IDE.
|
|
347
|
-
const gitlabDuo = {
|
|
348
|
-
id: 'gitlab-duo',
|
|
349
|
-
name: 'GitLab Duo',
|
|
350
|
-
category: 'ide',
|
|
351
|
-
brand: 'gitlab',
|
|
352
|
-
methods: ['remote-oauth'],
|
|
353
|
-
docsUrl: 'https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients',
|
|
354
|
-
verifiedOn: '2026-10-18',
|
|
355
|
-
caveats: ['clients.caveat.gitlabDuoUserFile'],
|
|
356
|
-
install: null,
|
|
357
|
-
remote: (ctx) => [
|
|
358
|
-
json({ mcpServers: { onlymcp: { type: 'http', url: ctx.endpoint } } }, '~/.gitlab/duo/mcp.json'),
|
|
359
|
-
],
|
|
360
|
-
};
|
|
361
|
-
// The AI apps come first (chat, then coding agents), the editors last; inside a group the order is the order below.
|
|
362
|
-
export const CLIENTS = [
|
|
363
|
-
claudeApp,
|
|
364
|
-
chatgpt,
|
|
365
|
-
geminiApp,
|
|
366
|
-
grok,
|
|
367
|
-
claudeCode,
|
|
368
|
-
codex,
|
|
369
|
-
antigravity,
|
|
370
|
-
opencode,
|
|
371
|
-
copilotVscode,
|
|
372
|
-
cursor,
|
|
373
|
-
windsurf,
|
|
374
|
-
cline,
|
|
375
|
-
zed,
|
|
376
|
-
continueClient,
|
|
377
|
-
gitlabDuo,
|
|
378
|
-
];
|
|
379
|
-
export function clientById(id) {
|
|
380
|
-
return CLIENTS.find((c) => c.id === id);
|
|
381
|
-
}
|
|
382
|
-
/**
|
|
383
|
-
* A client by its id or by one of its retired aliases (`gemini-cli` is Antigravity), or undefined. For input that
|
|
384
|
-
* comes from outside, such as an address, where an old spelling must keep working. Code that holds a `ClientId`
|
|
385
|
-
* uses `clientById`.
|
|
386
|
-
*/
|
|
387
|
-
export function findClient(idOrAlias) {
|
|
388
|
-
return CLIENTS.find((c) => c.id === idOrAlias || c.aliases?.includes(idOrAlias));
|
|
389
|
-
}
|
|
390
|
-
export function remoteSnippets(id, ctx) {
|
|
391
|
-
return clientById(id)?.remote(ctx) ?? null;
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* The local-install command for a client `npx onlymcp install` can set up,
|
|
395
|
-
* or null for every other one. Spec 07 §3.4: always with `npx`, always with
|
|
396
|
-
* `--client`, because the CLI without `--client` only lists the targets and
|
|
397
|
-
* exits 2.
|
|
398
|
-
*/
|
|
399
|
-
export function installCommand(id) {
|
|
400
|
-
return clientById(id)?.install ? `npx onlymcp install --client ${id}` : null;
|
|
401
|
-
}
|
|
402
|
-
//# sourceMappingURL=clients.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/registry/clients.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { CAVEATS, caveatText, type CaveatLanguage } from './caveats.js';
|
|
2
|
-
export { CLIENTS, clientById, findClient, installCommand, remoteSnippets } from './clients.js';
|
|
3
|
-
export { SERVERS } from './servers.js';
|
|
4
|
-
export { serverInfo } from './serverInfo.js';
|
|
5
|
-
export { TOOL_HINTS, type ToolHint } from './toolHints.js';
|
|
6
|
-
export type { ClientCategory, ClientId, ClientInstall, ClientRecord, ConnectMethod, RemoteContext, ServerRecord, Snippet, SnippetLanguage, } from './types.js';
|
package/dist/registry/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// Generated by scripts/sync-registry.mjs. Do not edit.
|
|
2
|
-
export { CAVEATS, caveatText } from './caveats.js';
|
|
3
|
-
export { CLIENTS, clientById, findClient, installCommand, remoteSnippets } from './clients.js';
|
|
4
|
-
export { SERVERS } from './servers.js';
|
|
5
|
-
export { serverInfo } from './serverInfo.js';
|
|
6
|
-
export { TOOL_HINTS } from './toolHints.js';
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What an MCP client shows for OnlyMCP in its connector list (spec 2025-11-25: `title`, `icons`, `websiteUrl`).
|
|
3
|
-
* One definition for the hosted server (api) and the stdio server (cli); the CLI gets it through the generated copy.
|
|
4
|
-
* Icon URLs are absolute because a stdio server has no origin of its own. The PNG is a full-bleed square (no
|
|
5
|
-
* transparent corners that a white list row turns into a tile on a white rectangle); the SVG is for clients that
|
|
6
|
-
* prefer vectors.
|
|
7
|
-
*
|
|
8
|
-
* The icons carry no `sizes`: it is optional, and absent means "any size". The spec and MCP TS SDK 1.19.1+ type it as
|
|
9
|
-
* an array, but 1.18.0 to 1.18.2 type it as a string and throw in `connect()` on an array, which would lock those
|
|
10
|
-
* clients out of OnlyMCP altogether.
|
|
11
|
-
*
|
|
12
|
-
* `origin` must be http(s) and is reduced to scheme, host and port: a path, a query or credentials in it (the CLI
|
|
13
|
-
* passes ONLYMCP_API_URL on as the user wrote it, after `apiBaseUrl` accepted it) must not end up in `websiteUrl` or
|
|
14
|
-
* the icon URLs.
|
|
15
|
-
*/
|
|
16
|
-
export declare function serverInfo(origin: string, version: string): {
|
|
17
|
-
name: "onlymcp";
|
|
18
|
-
title: "OnlyMCP";
|
|
19
|
-
version: string;
|
|
20
|
-
websiteUrl: string;
|
|
21
|
-
icons: {
|
|
22
|
-
src: string;
|
|
23
|
-
mimeType: string;
|
|
24
|
-
}[];
|
|
25
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// Generated by scripts/sync-registry.mjs. Do not edit.
|
|
2
|
-
/**
|
|
3
|
-
* What an MCP client shows for OnlyMCP in its connector list (spec 2025-11-25: `title`, `icons`, `websiteUrl`).
|
|
4
|
-
* One definition for the hosted server (api) and the stdio server (cli); the CLI gets it through the generated copy.
|
|
5
|
-
* Icon URLs are absolute because a stdio server has no origin of its own. The PNG is a full-bleed square (no
|
|
6
|
-
* transparent corners that a white list row turns into a tile on a white rectangle); the SVG is for clients that
|
|
7
|
-
* prefer vectors.
|
|
8
|
-
*
|
|
9
|
-
* The icons carry no `sizes`: it is optional, and absent means "any size". The spec and MCP TS SDK 1.19.1+ type it as
|
|
10
|
-
* an array, but 1.18.0 to 1.18.2 type it as a string and throw in `connect()` on an array, which would lock those
|
|
11
|
-
* clients out of OnlyMCP altogether.
|
|
12
|
-
*
|
|
13
|
-
* `origin` must be http(s) and is reduced to scheme, host and port: a path, a query or credentials in it (the CLI
|
|
14
|
-
* passes ONLYMCP_API_URL on as the user wrote it, after `apiBaseUrl` accepted it) must not end up in `websiteUrl` or
|
|
15
|
-
* the icon URLs.
|
|
16
|
-
*/
|
|
17
|
-
export function serverInfo(origin, version) {
|
|
18
|
-
const url = new URL(origin);
|
|
19
|
-
if (url.protocol !== 'http:' && url.protocol !== 'https:')
|
|
20
|
-
throw new TypeError(`serverInfo: "${origin}" is not an http(s) origin`);
|
|
21
|
-
const base = url.origin;
|
|
22
|
-
return {
|
|
23
|
-
name: 'onlymcp',
|
|
24
|
-
title: 'OnlyMCP',
|
|
25
|
-
version,
|
|
26
|
-
websiteUrl: base,
|
|
27
|
-
icons: [
|
|
28
|
-
{ src: `${base}/brand/connector-512.png`, mimeType: 'image/png' },
|
|
29
|
-
{ src: `${base}/brand/favicon.svg`, mimeType: 'image/svg+xml' },
|
|
30
|
-
],
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=serverInfo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serverInfo.js","sourceRoot":"","sources":["../../src/registry/serverInfo.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,OAAe;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,gBAAgB,MAAM,4BAA4B,CAAC,CAAC;IACnI,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,SAAkB;QACxB,KAAK,EAAE,SAAkB;QACzB,OAAO;QACP,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE;YACL,EAAE,GAAG,EAAE,GAAG,IAAI,0BAA0B,EAAE,QAAQ,EAAE,WAAW,EAAE;YACjE,EAAE,GAAG,EAAE,GAAG,IAAI,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE;SAChE;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { ServerRecord } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* The picture the product is named after: many MCP servers behind one
|
|
4
|
-
* connection. This list backs the rotating tiles in
|
|
5
|
-
* `packages/web/src/components/McpHub.tsx` and the docs page of connectable
|
|
6
|
-
* servers. Since 2026-10-18 it also seeds the server catalogue table
|
|
7
|
-
* (`packages/api/src/catalogue/store.ts`), which an admin edits and which
|
|
8
|
-
* `/api/mcp-catalog` and the "add a server" step of Connect read; only the
|
|
9
|
-
* addresses of this list are trusted for tool hints (api mcp/tool-hints.ts).
|
|
10
|
-
*
|
|
11
|
-
* Every server in the pool was verified, not remembered. Originally
|
|
12
|
-
* (2026-09-05): each URL was pushed through this product's own
|
|
13
|
-
* POST /api/mcp-connections/test, and only the ones that completed an MCP
|
|
14
|
-
* handshake or answered UNAUTHORIZED (which means a real MCP server is
|
|
15
|
-
* there and wants credentials) were listed. Dropped on that evidence:
|
|
16
|
-
* GitLab (mcp.gitlab.com does not resolve), Figma, Google Drive, Slack.
|
|
17
|
-
* Dropped for want of a brand icon: Canva, monday.com.
|
|
18
|
-
* GitLab came back on 2026-10-18 at gitlab.com/api/v4/mcp: an unauthenticated
|
|
19
|
-
* MCP initialize POST answered 401 with a `WWW-Authenticate: Bearer ...
|
|
20
|
-
* resource_metadata=...` header, and the OAuth metadata names a registration
|
|
21
|
-
* endpoint. Gamma joined the same day on the same evidence, with `brand: null`
|
|
22
|
-
* (simple-icons has no Gamma mark; the catalogue draws a letter tile).
|
|
23
|
-
*
|
|
24
|
-
* Re-verified 2026-09-25 for this registry, this time against each
|
|
25
|
-
* vendor's own documentation (`docsUrl` below) AND a fresh local probe: a
|
|
26
|
-
* scratch script POSTed an MCP `initialize` request, unauthenticated, to
|
|
27
|
-
* every URL below. All 17 answered `401` with a `WWW-Authenticate: Bearer`
|
|
28
|
-
* header naming an OAuth protected-resource metadata document (for
|
|
29
|
-
* example `resource_metadata="https://mcp.notion.com/.well-known/oauth-
|
|
30
|
-
* protected-resource/mcp"`), which is exactly what a live MCP server
|
|
31
|
-
* behind OAuth returns - confirming each URL is real and reachable, not
|
|
32
|
-
* only documented. The finer distinction of `auth` below (whether a
|
|
33
|
-
* static bearer token is ALSO accepted, alongside OAuth) came from each
|
|
34
|
-
* vendor's docs, because a 401 alone cannot tell OAuth-only apart from
|
|
35
|
-
* OAuth-or-bearer.
|
|
36
|
-
*
|
|
37
|
-
* One correction from the 2026-09-05 note: this pass found Linear's docs
|
|
38
|
-
* now document `Authorization: Bearer <token>` as an accepted alternative
|
|
39
|
-
* to the interactive OAuth flow. The original spec text (problem #6)
|
|
40
|
-
* called Linear OAuth-only as of that date; either that capability is new,
|
|
41
|
-
* or it was missed in the first pass. `auth` below reflects the current,
|
|
42
|
-
* re-verified state, and this comment records the discrepancy rather than
|
|
43
|
-
* silently overwriting it.
|
|
44
|
-
*
|
|
45
|
-
* The open MCP registry is not a usable source for this list, by the way -
|
|
46
|
-
* anyone may publish there, and a search for "github" returns community
|
|
47
|
-
* wrappers hosted by third parties, not GitHub's own server.
|
|
48
|
-
*
|
|
49
|
-
* `filesystem` and `postgres`, the textbook examples, are absent on purpose:
|
|
50
|
-
* they are local stdio processes, and OnlyMCP deliberately does not run those
|
|
51
|
-
* (a process we spawn on a user's behalf is code execution on our side, see
|
|
52
|
-
* docs/SECURITY.md).
|
|
53
|
-
*
|
|
54
|
-
* The prefixes are real. `github__create_issue` is exactly what a client
|
|
55
|
-
* sees, because the gateway namespaces every proxied tool with the
|
|
56
|
-
* connection's slug (packages/api/src/mcp/gateway.ts).
|
|
57
|
-
*/
|
|
58
|
-
export declare const SERVERS: readonly ServerRecord[];
|