curatedmcp 2.0.0 → 2.0.1
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/dist/cli/add.js +1 -1
- package/dist/cli/init.js +5 -5
- package/dist/cli/list.d.ts.map +1 -1
- package/dist/cli/list.js +2 -3
- package/dist/cli/remove.js +1 -1
- package/dist/cli.js +2 -2
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +1 -1
- package/dist/telemetry.js +1 -1
- package/dist/tools/get-details.js +1 -1
- package/dist/tools/install.js +1 -1
- package/dist/tools/search.js +1 -1
- package/package.json +1 -1
package/dist/cli/add.js
CHANGED
|
@@ -79,7 +79,7 @@ export function parseEnvFlags(args) {
|
|
|
79
79
|
async function fetchStackConfig(slug) {
|
|
80
80
|
const url = `${API_URL}/api/launcher/stack-config?slug=${encodeURIComponent(slug)}`;
|
|
81
81
|
const res = await fetch(url, {
|
|
82
|
-
headers: { "User-Agent": "
|
|
82
|
+
headers: { "User-Agent": "curatedmcp/2.0.0" },
|
|
83
83
|
});
|
|
84
84
|
if (res.status === 404) {
|
|
85
85
|
throw new Error(`Server "${slug}" not found in the CuratedMCP catalog. ` +
|
package/dist/cli/init.js
CHANGED
|
@@ -9,12 +9,12 @@ const CONFIG_SNIPPET = JSON.stringify({
|
|
|
9
9
|
mcpServers: {
|
|
10
10
|
curatedmcp: {
|
|
11
11
|
command: "npx",
|
|
12
|
-
args: ["-y", "
|
|
12
|
+
args: ["-y", "curatedmcp"],
|
|
13
13
|
},
|
|
14
14
|
},
|
|
15
15
|
}, null, 2);
|
|
16
16
|
const INSTRUCTIONS = `
|
|
17
|
-
|
|
17
|
+
curatedmcp — The CuratedMCP Agent
|
|
18
18
|
Add this entry to your AI client's MCP config:
|
|
19
19
|
|
|
20
20
|
${CONFIG_SNIPPET}
|
|
@@ -27,9 +27,9 @@ Config locations:
|
|
|
27
27
|
Claude Code ~/.claude/mcp.json (or .claude/mcp.json in your project)
|
|
28
28
|
|
|
29
29
|
Then add servers to your stack:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
curatedmcp add github # interactive — prompts for GITHUB_TOKEN
|
|
31
|
+
curatedmcp add postgres # adds the Postgres server
|
|
32
|
+
curatedmcp list # see your stack
|
|
33
33
|
|
|
34
34
|
Servers in your stack live at:
|
|
35
35
|
${stackPath()}
|
package/dist/cli/list.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/cli/list.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/cli/list.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAgClC"}
|
package/dist/cli/list.js
CHANGED
|
@@ -6,7 +6,7 @@ export function listStack() {
|
|
|
6
6
|
const stack = readStack();
|
|
7
7
|
if (stack.entries.length === 0) {
|
|
8
8
|
console.log("Your stack is empty.");
|
|
9
|
-
console.log(`Add a server with \`
|
|
9
|
+
console.log(`Add a server with \`curatedmcp add <slug>\`.`);
|
|
10
10
|
console.log(`Browse https://curatedmcp.com/marketplace to find one.`);
|
|
11
11
|
return 0;
|
|
12
12
|
}
|
|
@@ -25,8 +25,7 @@ export function listStack() {
|
|
|
25
25
|
// One-line upsell — only when the user has 2+ servers, so it's relevant, not spam.
|
|
26
26
|
if (stack.entries.length >= 2) {
|
|
27
27
|
console.log("");
|
|
28
|
-
console.log(`Tip:
|
|
29
|
-
console.log(` https://curatedmcp.com/sentinel`);
|
|
28
|
+
console.log(`Tip: run \`curatedmcp audit\` to security-scan everything in your stack.`);
|
|
30
29
|
}
|
|
31
30
|
return 0;
|
|
32
31
|
}
|
package/dist/cli/remove.js
CHANGED
|
@@ -6,7 +6,7 @@ import { removeEntry, stackPath } from "../stack.js";
|
|
|
6
6
|
export function removeFromStack(slug) {
|
|
7
7
|
const removed = removeEntry(slug);
|
|
8
8
|
if (!removed) {
|
|
9
|
-
console.error(`"${slug}" is not in your stack. Run \`
|
|
9
|
+
console.error(`"${slug}" is not in your stack. Run \`curatedmcp list\` to see what is.`);
|
|
10
10
|
return 1;
|
|
11
11
|
}
|
|
12
12
|
console.log(`Removed \`${slug}\` from stack (${stackPath()}). Restart your AI client for the change to take effect.`);
|
package/dist/cli.js
CHANGED
|
@@ -107,7 +107,7 @@ export async function runCli(argv) {
|
|
|
107
107
|
case "add": {
|
|
108
108
|
const slug = rest.find((a) => !a.startsWith("-"));
|
|
109
109
|
if (!slug) {
|
|
110
|
-
console.error("Usage:
|
|
110
|
+
console.error("Usage: curatedmcp add <slug> [--env KEY=value ...]");
|
|
111
111
|
return 1;
|
|
112
112
|
}
|
|
113
113
|
const env = parseEnvFlags(rest);
|
|
@@ -118,7 +118,7 @@ export async function runCli(argv) {
|
|
|
118
118
|
case "remove": {
|
|
119
119
|
const slug = rest.find((a) => !a.startsWith("-"));
|
|
120
120
|
if (!slug) {
|
|
121
|
-
console.error("Usage:
|
|
121
|
+
console.error("Usage: curatedmcp remove <slug>");
|
|
122
122
|
return 1;
|
|
123
123
|
}
|
|
124
124
|
return removeFromStack(slug);
|
package/dist/proxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,KAAK,EAAc,MAAM,YAAY,CAAC;AAIpD,yDAAyD;AACzD,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAWD,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAK9B,UAAU;IA6CxB;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IA0B1C;;;OAGG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,KAAK,EAAc,MAAM,YAAY,CAAC;AAIpD,yDAAyD;AACzD,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAWD,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAK9B,UAAU;IA6CxB;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IA0B1C;;;OAGG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;uBAsE42U,CAAC;wBAA4B,CAAC;wBAAgE,CAAC;4BAAkD,CAAC;;iBAAkE,CAAC;;;;;uBAA+J,CAAC;wBAA4B,CAAC;wBAAgE,CAAC;4BAAkD,CAAC;;iBAAkE,CAAC;;;;;uBAA+J,CAAC;wBAA4B,CAAC;wBAAgE,CAAC;4BAAkD,CAAC;;iBAAkE,CAAC;;;;;;wBAA8L,CAAC;qBAA2C,CAAC;;;;wBAA4I,CAAC;qBAA2C,CAAC;;uBAA6E,CAAC;wBAA4B,CAAC;wBAAgE,CAAC;4BAAkD,CAAC;;iBAAkE,CAAC;;;;;uBAAkK,CAAC;oBAA0C,CAAC;gBAAsC,CAAC;uBAA6C,CAAC;wBAA4B,CAAC;wBAAgE,CAAC;4BAAkD,CAAC;;iBAAkE,CAAC;;;iBAAsF,CAAC;;wBAAyD,CAAC;qBAA2C,CAAC;qBAA6C,CAAC;;iBAA8E,CAAC;;;;yBAAiH,CAAC;kDAAiF,CAAC;;;;;;;;;;;yBAAgV,CAAC;kDAAiF,CAAC;;;;;IA5C18a,kEAAkE;IAC5D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC"}
|
package/dist/proxy.js
CHANGED
|
@@ -112,7 +112,7 @@ export class Proxy {
|
|
|
112
112
|
const toolName = prefixedName.slice(sepIdx + PREFIX_SEPARATOR.length);
|
|
113
113
|
const state = this.children.get(slug);
|
|
114
114
|
if (!state) {
|
|
115
|
-
throw new Error(`Server "${slug}" is not in your stack. Run \`
|
|
115
|
+
throw new Error(`Server "${slug}" is not in your stack. Run \`curatedmcp list\` to see what's loaded.`);
|
|
116
116
|
}
|
|
117
117
|
if (state.error) {
|
|
118
118
|
throw new Error(state.error);
|
package/dist/telemetry.js
CHANGED
|
@@ -2,7 +2,7 @@ const API_URL = process.env.CURATOR_API_URL || "https://www.curatedmcp.com";
|
|
|
2
2
|
export async function getServerDetails(slug) {
|
|
3
3
|
const url = `${API_URL}/api/servers/${slug}`;
|
|
4
4
|
const res = await fetch(url, {
|
|
5
|
-
headers: { "User-Agent": "
|
|
5
|
+
headers: { "User-Agent": "curatedmcp/2.0.0" },
|
|
6
6
|
});
|
|
7
7
|
if (!res.ok) {
|
|
8
8
|
if (res.status === 404) {
|
package/dist/tools/install.js
CHANGED
|
@@ -8,7 +8,7 @@ export async function installServer(slug, client = "claude") {
|
|
|
8
8
|
// Fetch server metadata
|
|
9
9
|
const url = `${API_URL}/api/servers/${slug}`;
|
|
10
10
|
const res = await fetch(url, {
|
|
11
|
-
headers: { "User-Agent": "
|
|
11
|
+
headers: { "User-Agent": "curatedmcp/2.0.0" },
|
|
12
12
|
});
|
|
13
13
|
if (!res.ok) {
|
|
14
14
|
if (res.status === 404) {
|
package/dist/tools/search.js
CHANGED
|
@@ -7,7 +7,7 @@ export async function searchServers({ query, category, limit = 10, }) {
|
|
|
7
7
|
params.set("limit", Math.min(limit, 50).toString());
|
|
8
8
|
const url = `${API_URL}/api/launcher/search?${params}`;
|
|
9
9
|
const res = await fetch(url, {
|
|
10
|
-
headers: { "User-Agent": "
|
|
10
|
+
headers: { "User-Agent": "curatedmcp/2.0.0" },
|
|
11
11
|
});
|
|
12
12
|
if (!res.ok) {
|
|
13
13
|
throw new Error(`Search failed: ${res.status} ${res.statusText}`);
|
package/package.json
CHANGED