add-mcp 1.13.3 → 1.14.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/README.md +16 -14
- package/dist/{chunk-3ZFFEEQJ.js → chunk-4EL5LX2K.js} +32 -1
- package/dist/index.js +6 -5
- package/dist/lib.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,13 +36,13 @@ You can add env variables and arguments (stdio) and headers (remote) to the serv
|
|
|
36
36
|
|
|
37
37
|
## Find MCP Servers
|
|
38
38
|
|
|
39
|
-
Find and install MCP servers from the
|
|
39
|
+
Find and install MCP servers from the [add-mcp registry](https://add-mcp.com/registry):
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
npx add-mcp find vercel
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
The first `find`/`search` run automatically saves the
|
|
45
|
+
The first `find`/`search` run automatically saves the add-mcp registry to `~/.config/add-mcp/config.json` (or `$XDG_CONFIG_HOME/add-mcp/config.json`). You can edit that file to replace the default registry, add the official Anthropic registry, or point at any registry-compatible server.
|
|
46
46
|
|
|
47
47
|
## Supported Agents
|
|
48
48
|
|
|
@@ -284,14 +284,16 @@ If a selected remote server defines URL variables or header inputs:
|
|
|
284
284
|
|
|
285
285
|
### Configuring Registries for Find / Search
|
|
286
286
|
|
|
287
|
-
The first time you run `find` or `search`, the CLI automatically saves the
|
|
287
|
+
The first time you run `find` or `search`, the CLI automatically saves the add-mcp registry to `~/.config/add-mcp/config.json` (respects `XDG_CONFIG_HOME`) and reuses that registry on every subsequent search.
|
|
288
288
|
|
|
289
289
|
### Built-in Registries
|
|
290
290
|
|
|
291
|
-
| Registry
|
|
292
|
-
|
|
|
293
|
-
| **
|
|
294
|
-
| **Official Anthropic registry**
|
|
291
|
+
| Registry | Base URL | Description |
|
|
292
|
+
| ------------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
293
|
+
| **add-mcp registry** | `https://add-mcp.com/registry/api/v1/servers` | MCP servers discovered by integrations.sh and exposed through an MCP registry-compatible API, using add-mcp's checked-in `registry.json` as the source of truth. |
|
|
294
|
+
| **Official Anthropic registry** | `https://registry.modelcontextprotocol.io/v0.1/servers` | The community-driven MCP server registry maintained by Anthropic. Contains the broadest catalog of MCP servers. |
|
|
295
|
+
|
|
296
|
+
> The add-mcp registry previously lived at `https://mcp.agent-tooling.dev/api/v1/servers`. That URL keeps working, and saved configs referencing it are migrated to the add-mcp.com address automatically on the next `find`/`search` run.
|
|
295
297
|
|
|
296
298
|
### Missing A Server in integrations.sh?
|
|
297
299
|
|
|
@@ -308,15 +310,15 @@ bun run registry:verify
|
|
|
308
310
|
|
|
309
311
|
Registry selections are stored in `~/.config/add-mcp/config.json` under the `findRegistries` key. You can edit this file directly to replace, add, remove, or reorder registries.
|
|
310
312
|
|
|
311
|
-
Default
|
|
313
|
+
Default add-mcp registry:
|
|
312
314
|
|
|
313
315
|
```json
|
|
314
316
|
{
|
|
315
317
|
"version": 1,
|
|
316
318
|
"findRegistries": [
|
|
317
319
|
{
|
|
318
|
-
"url": "https://mcp.
|
|
319
|
-
"label": "
|
|
320
|
+
"url": "https://add-mcp.com/registry/api/v1/servers",
|
|
321
|
+
"label": "add-mcp registry"
|
|
320
322
|
}
|
|
321
323
|
]
|
|
322
324
|
}
|
|
@@ -336,15 +338,15 @@ Replace the default with the official Anthropic registry:
|
|
|
336
338
|
}
|
|
337
339
|
```
|
|
338
340
|
|
|
339
|
-
Search both
|
|
341
|
+
Search both the add-mcp registry and the official Anthropic registry:
|
|
340
342
|
|
|
341
343
|
```json
|
|
342
344
|
{
|
|
343
345
|
"version": 1,
|
|
344
346
|
"findRegistries": [
|
|
345
347
|
{
|
|
346
|
-
"url": "https://mcp.
|
|
347
|
-
"label": "
|
|
348
|
+
"url": "https://add-mcp.com/registry/api/v1/servers",
|
|
349
|
+
"label": "add-mcp registry"
|
|
348
350
|
},
|
|
349
351
|
{
|
|
350
352
|
"url": "https://registry.modelcontextprotocol.io/v0.1/servers",
|
|
@@ -354,7 +356,7 @@ Search both integrations.sh and the official Anthropic registry:
|
|
|
354
356
|
}
|
|
355
357
|
```
|
|
356
358
|
|
|
357
|
-
To reset to the default
|
|
359
|
+
To reset to the default add-mcp registry, remove the `findRegistries` key or delete the config file.
|
|
358
360
|
|
|
359
361
|
### Adding a Custom Registry
|
|
360
362
|
|
|
@@ -7,6 +7,17 @@ var CONFIG_FILE = "config.json";
|
|
|
7
7
|
var CURRENT_VERSION = 1;
|
|
8
8
|
var LEGACY_AGENTS_DIR = ".agents";
|
|
9
9
|
var LEGACY_LOCK_FILE = ".mcp-lock.json";
|
|
10
|
+
var DEFAULT_FIND_REGISTRY_URL = "https://add-mcp.com/registry/api/v1/servers";
|
|
11
|
+
var DEFAULT_FIND_REGISTRY_LABEL = "add-mcp registry";
|
|
12
|
+
var LEGACY_FIND_REGISTRY_URL = "https://mcp.agent-tooling.dev/api/v1/servers";
|
|
13
|
+
var LEGACY_FIND_REGISTRY_LABEL = "integrations.sh MCP registry";
|
|
14
|
+
function migrateFindRegistryEntry(entry) {
|
|
15
|
+
if (entry.url !== LEGACY_FIND_REGISTRY_URL) {
|
|
16
|
+
return entry;
|
|
17
|
+
}
|
|
18
|
+
const label = !entry.label || entry.label === LEGACY_FIND_REGISTRY_LABEL ? DEFAULT_FIND_REGISTRY_LABEL : entry.label;
|
|
19
|
+
return { url: DEFAULT_FIND_REGISTRY_URL, label };
|
|
20
|
+
}
|
|
10
21
|
function getXdgConfigHome() {
|
|
11
22
|
return process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
12
23
|
}
|
|
@@ -69,7 +80,25 @@ async function saveSelectedAgents(agents2) {
|
|
|
69
80
|
async function getFindRegistries() {
|
|
70
81
|
const config = await readConfig();
|
|
71
82
|
if (!config.findRegistries) return [];
|
|
72
|
-
|
|
83
|
+
const normalized = config.findRegistries.map(normalizeFindRegistryEntry);
|
|
84
|
+
const migrated = [];
|
|
85
|
+
const seen = /* @__PURE__ */ new Set();
|
|
86
|
+
for (const entry of normalized.map(migrateFindRegistryEntry)) {
|
|
87
|
+
if (seen.has(entry.url)) continue;
|
|
88
|
+
seen.add(entry.url);
|
|
89
|
+
migrated.push(entry);
|
|
90
|
+
}
|
|
91
|
+
const changed = migrated.length !== normalized.length || migrated.some(
|
|
92
|
+
(entry, i) => entry.url !== normalized[i]?.url || entry.label !== normalized[i]?.label
|
|
93
|
+
);
|
|
94
|
+
if (changed) {
|
|
95
|
+
try {
|
|
96
|
+
config.findRegistries = migrated;
|
|
97
|
+
await writeConfig(config);
|
|
98
|
+
} catch {
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return migrated;
|
|
73
102
|
}
|
|
74
103
|
function normalizeFindRegistryEntry(raw) {
|
|
75
104
|
const legacy = raw;
|
|
@@ -1587,6 +1616,8 @@ function findMatchingServers(agentServersList, query) {
|
|
|
1587
1616
|
}
|
|
1588
1617
|
|
|
1589
1618
|
export {
|
|
1619
|
+
DEFAULT_FIND_REGISTRY_URL,
|
|
1620
|
+
DEFAULT_FIND_REGISTRY_LABEL,
|
|
1590
1621
|
getConfigPath,
|
|
1591
1622
|
getLastSelectedAgents,
|
|
1592
1623
|
getFindRegistries,
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
+
DEFAULT_FIND_REGISTRY_LABEL,
|
|
4
|
+
DEFAULT_FIND_REGISTRY_URL,
|
|
3
5
|
agents,
|
|
4
6
|
buildAgentSelectionChoices,
|
|
5
7
|
buildServerConfig,
|
|
@@ -24,7 +26,7 @@ import {
|
|
|
24
26
|
selectAgentsInteractive,
|
|
25
27
|
supportsProjectConfig,
|
|
26
28
|
updateGitignoreWithPaths
|
|
27
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-4EL5LX2K.js";
|
|
28
30
|
|
|
29
31
|
// src/index.ts
|
|
30
32
|
import { program } from "commander";
|
|
@@ -353,12 +355,11 @@ var OFFICIAL_REGISTRY_BASE_URL = "https://registry.modelcontextprotocol.io";
|
|
|
353
355
|
function resolveOfficialRegistryServersUrl() {
|
|
354
356
|
return `${OFFICIAL_REGISTRY_BASE_URL}/v0.1/servers`;
|
|
355
357
|
}
|
|
356
|
-
var VERIFIED_ESSENTIALS_DEFAULT_SERVERS_URL = "https://mcp.agent-tooling.dev/api/v1/servers";
|
|
357
358
|
function getDefaultFindRegistries() {
|
|
358
359
|
return [
|
|
359
360
|
{
|
|
360
|
-
url:
|
|
361
|
-
label:
|
|
361
|
+
url: DEFAULT_FIND_REGISTRY_URL,
|
|
362
|
+
label: DEFAULT_FIND_REGISTRY_LABEL
|
|
362
363
|
},
|
|
363
364
|
{
|
|
364
365
|
url: resolveOfficialRegistryServersUrl(),
|
|
@@ -797,7 +798,7 @@ async function runFind(query, options) {
|
|
|
797
798
|
// package.json
|
|
798
799
|
var package_default = {
|
|
799
800
|
name: "add-mcp",
|
|
800
|
-
version: "1.
|
|
801
|
+
version: "1.14.0",
|
|
801
802
|
description: "Add MCP servers to your favorite coding agents with a single command.",
|
|
802
803
|
author: "Andre Landgraf <andre@neon.tech>",
|
|
803
804
|
license: "Apache-2.0",
|
package/dist/lib.js
CHANGED