@apicity/mcp-server 0.2.9 → 0.2.11
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 +6 -10
- package/dist/src/one-password.d.ts +9 -1
- package/dist/src/one-password.d.ts.map +1 -1
- package/dist/src/one-password.js +155 -16
- package/dist/src/one-password.js.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +24 -1
- package/dist/src/server.js.map +1 -1
- package/package.json +17 -17
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ claude mcp add --scope user apicity -- \
|
|
|
45
45
|
| Flag | Description |
|
|
46
46
|
| ------------------------------ | -------------------------------------------------------------------------------------------------------------- |
|
|
47
47
|
| `--op-vault <vault>` | Resolve missing provider credentials from `op://<vault>/<ENV_VAR>/password` (or use `APICITY_OP_VAULT`). |
|
|
48
|
-
| `--output-dir <path>` | Override where binary results and downloaded media URLs land. Defaults to `CLAUDE_PROJECT_DIR`, then cwd.
|
|
48
|
+
| `--output-dir <path>` | Override where binary results and downloaded media URLs land. Defaults to `CLAUDE_PROJECT_DIR`, then cwd. |
|
|
49
49
|
| `--providers <csv>` | Allow-list of providers (default: every one with its env var set). |
|
|
50
50
|
| `--paygate-secret-file <path>` | File holding the shared HMAC secret used to verify paid-endpoint OTPs (see [Paid endpoints](#paid-endpoints)). |
|
|
51
51
|
| `--help` | Print usage. |
|
|
@@ -71,9 +71,10 @@ claude mcp add --scope user apicity -- \
|
|
|
71
71
|
| `free` | _(none — public APIs)_ |
|
|
72
72
|
|
|
73
73
|
Providers without their env var set are silently skipped. With `--op-vault`,
|
|
74
|
-
|
|
75
|
-
`--providers` is set, a missing
|
|
76
|
-
without `--providers`, missing
|
|
74
|
+
the vault is listed once and existing provider secrets are resolved in one
|
|
75
|
+
batch before the MCP server starts. If `--providers` is set, a missing
|
|
76
|
+
requested provider secret is a startup error; without `--providers`, missing
|
|
77
|
+
vault items are skipped.
|
|
77
78
|
|
|
78
79
|
## Tool naming
|
|
79
80
|
|
|
@@ -141,12 +142,7 @@ embed the registry into your own MCP server.
|
|
|
141
142
|
"mcpServers": {
|
|
142
143
|
"apicity": {
|
|
143
144
|
"command": "npx",
|
|
144
|
-
"args": [
|
|
145
|
-
"-y",
|
|
146
|
-
"@apicity/mcp-server",
|
|
147
|
-
"--op-vault",
|
|
148
|
-
"Apicity"
|
|
149
|
-
],
|
|
145
|
+
"args": ["-y", "@apicity/mcp-server", "--op-vault", "Apicity"],
|
|
150
146
|
"env": {}
|
|
151
147
|
}
|
|
152
148
|
}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
export type OpRead = (ref: string) => Promise<string>;
|
|
2
|
+
export type OpListItemTitles = (vault: string) => Promise<string[]>;
|
|
3
|
+
export type OpInject = (template: string) => Promise<string>;
|
|
2
4
|
export interface OnePasswordEnvOptions {
|
|
3
5
|
vault: string;
|
|
4
6
|
enabledProviders?: string[];
|
|
5
7
|
env?: NodeJS.ProcessEnv;
|
|
6
8
|
readSecret?: OpRead;
|
|
9
|
+
listItemTitles?: OpListItemTitles;
|
|
10
|
+
injectSecrets?: OpInject;
|
|
11
|
+
concurrency?: number;
|
|
12
|
+
timeoutMs?: number;
|
|
7
13
|
}
|
|
8
14
|
export declare function fillOnePasswordEnv(opts: OnePasswordEnvOptions): Promise<void>;
|
|
9
15
|
export declare function getProviderEnvVars(enabledProviders?: string[]): string[];
|
|
10
16
|
export declare function onePasswordRef(vault: string, envVar: string): string;
|
|
11
|
-
export declare function readOnePasswordSecret(ref: string): Promise<string>;
|
|
17
|
+
export declare function readOnePasswordSecret(ref: string, timeoutMs?: number): Promise<string>;
|
|
18
|
+
export declare function listOnePasswordItemTitles(vault: string, timeoutMs?: number): Promise<string[]>;
|
|
19
|
+
export declare function injectOnePasswordSecrets(template: string, timeoutMs?: number): Promise<string>;
|
|
12
20
|
//# sourceMappingURL=one-password.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one-password.d.ts","sourceRoot":"","sources":["../../src/one-password.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"one-password.d.ts","sourceRoot":"","sources":["../../src/one-password.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED,wBAAgB,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAexE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,SAAS,SAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,SAAS,SAAwB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|
package/dist/src/one-password.js
CHANGED
|
@@ -1,26 +1,42 @@
|
|
|
1
|
-
import { execFile } from "node:child_process";
|
|
1
|
+
import { execFile, spawn } from "node:child_process";
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
3
|
import { PROVIDERS } from "./providers.js";
|
|
4
4
|
const execFileAsync = promisify(execFile);
|
|
5
|
+
const DEFAULT_OP_READ_CONCURRENCY = 6;
|
|
6
|
+
const DEFAULT_OP_TIMEOUT_MS = 10_000;
|
|
5
7
|
export async function fillOnePasswordEnv(opts) {
|
|
6
8
|
const env = opts.env ?? process.env;
|
|
7
|
-
const readSecret = opts.readSecret ?? readOnePasswordSecret;
|
|
8
9
|
const providerEnvVars = getProviderEnvVars(opts.enabledProviders);
|
|
9
10
|
const required = opts.enabledProviders !== undefined;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
11
|
+
const missingEnvVars = providerEnvVars.filter((envVar) => !hasResolvedEnvValue(env[envVar]));
|
|
12
|
+
if (missingEnvVars.length === 0)
|
|
13
|
+
return;
|
|
14
|
+
if (!opts.readSecret) {
|
|
15
|
+
await fillOnePasswordEnvBatch(opts, env, missingEnvVars, required);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const readSecret = opts.readSecret;
|
|
19
|
+
const concurrency = normalizeConcurrency(opts.concurrency ?? DEFAULT_OP_READ_CONCURRENCY, missingEnvVars.length);
|
|
20
|
+
let next = 0;
|
|
21
|
+
let firstError;
|
|
22
|
+
async function worker() {
|
|
23
|
+
while (next < missingEnvVars.length) {
|
|
24
|
+
const envVar = missingEnvVars[next++];
|
|
25
|
+
try {
|
|
26
|
+
env[envVar] = await readSecret(onePasswordRef(opts.vault, envVar));
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
const wrapped = wrapReadError(err, opts.vault, envVar, required);
|
|
30
|
+
if (wrapped && !firstError)
|
|
31
|
+
firstError = wrapped;
|
|
32
|
+
}
|
|
22
33
|
}
|
|
23
34
|
}
|
|
35
|
+
await Promise.all(Array.from({ length: concurrency }, async () => {
|
|
36
|
+
await worker();
|
|
37
|
+
}));
|
|
38
|
+
if (firstError)
|
|
39
|
+
throw firstError;
|
|
24
40
|
}
|
|
25
41
|
export function getProviderEnvVars(enabledProviders) {
|
|
26
42
|
const envVars = [];
|
|
@@ -39,9 +55,9 @@ export function getProviderEnvVars(enabledProviders) {
|
|
|
39
55
|
export function onePasswordRef(vault, envVar) {
|
|
40
56
|
return `op://${vault}/${envVar}/password`;
|
|
41
57
|
}
|
|
42
|
-
export async function readOnePasswordSecret(ref) {
|
|
58
|
+
export async function readOnePasswordSecret(ref, timeoutMs = DEFAULT_OP_TIMEOUT_MS) {
|
|
43
59
|
try {
|
|
44
|
-
const { stdout } = await execFileAsync("op", ["read", "--no-newline", ref]);
|
|
60
|
+
const { stdout } = await execFileAsync("op", ["read", "--no-newline", ref], { timeout: timeoutMs });
|
|
45
61
|
return stdout.trim();
|
|
46
62
|
}
|
|
47
63
|
catch (err) {
|
|
@@ -51,6 +67,129 @@ export async function readOnePasswordSecret(ref) {
|
|
|
51
67
|
throw err;
|
|
52
68
|
}
|
|
53
69
|
}
|
|
70
|
+
export async function listOnePasswordItemTitles(vault, timeoutMs = DEFAULT_OP_TIMEOUT_MS) {
|
|
71
|
+
try {
|
|
72
|
+
const { stdout } = await execFileAsync("op", ["item", "list", "--vault", vault, "--format", "json"], { timeout: timeoutMs, maxBuffer: 2 * 1024 * 1024 });
|
|
73
|
+
const parsed = JSON.parse(stdout);
|
|
74
|
+
if (!Array.isArray(parsed)) {
|
|
75
|
+
throw new Error("Expected `op item list --format json` to return an array.");
|
|
76
|
+
}
|
|
77
|
+
return parsed
|
|
78
|
+
.map((item) => {
|
|
79
|
+
if (typeof item !== "object" || item === null)
|
|
80
|
+
return undefined;
|
|
81
|
+
const title = item.title;
|
|
82
|
+
return typeof title === "string" ? title : undefined;
|
|
83
|
+
})
|
|
84
|
+
.filter((title) => title !== undefined);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (err.code === "ENOENT") {
|
|
88
|
+
throw new Error("1Password CLI `op` was not found in PATH.");
|
|
89
|
+
}
|
|
90
|
+
throw err;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export async function injectOnePasswordSecrets(template, timeoutMs = DEFAULT_OP_TIMEOUT_MS) {
|
|
94
|
+
return await runOpWithInput(["inject", "--in-file", "/dev/stdin"], template, timeoutMs);
|
|
95
|
+
}
|
|
96
|
+
async function fillOnePasswordEnvBatch(opts, env, missingEnvVars, required) {
|
|
97
|
+
const timeoutMs = opts.timeoutMs ?? DEFAULT_OP_TIMEOUT_MS;
|
|
98
|
+
const listItemTitles = opts.listItemTitles ??
|
|
99
|
+
((vault) => listOnePasswordItemTitles(vault, timeoutMs));
|
|
100
|
+
const injectSecrets = opts.injectSecrets ??
|
|
101
|
+
((template) => injectOnePasswordSecrets(template, timeoutMs));
|
|
102
|
+
const itemTitles = new Set(await listItemTitles(opts.vault));
|
|
103
|
+
const availableEnvVars = missingEnvVars.filter((envVar) => itemTitles.has(envVar));
|
|
104
|
+
const missingItems = missingEnvVars.filter((envVar) => !itemTitles.has(envVar));
|
|
105
|
+
if (required && missingItems.length > 0) {
|
|
106
|
+
throw new Error(`Missing 1Password secret for ${missingItems[0]}. Expected ` +
|
|
107
|
+
`${onePasswordRef(opts.vault, missingItems[0])}.`);
|
|
108
|
+
}
|
|
109
|
+
if (availableEnvVars.length === 0)
|
|
110
|
+
return;
|
|
111
|
+
const injected = await injectSecrets(availableEnvVars
|
|
112
|
+
.map((envVar) => `${envVar}={{ ${onePasswordRef(opts.vault, envVar)} }}`)
|
|
113
|
+
.join("\n"));
|
|
114
|
+
const values = parseInjectedEnv(injected);
|
|
115
|
+
for (const envVar of availableEnvVars) {
|
|
116
|
+
const value = values[envVar];
|
|
117
|
+
if (hasResolvedEnvValue(value))
|
|
118
|
+
env[envVar] = value;
|
|
119
|
+
else if (required) {
|
|
120
|
+
throw new Error(`Missing 1Password secret for ${envVar}. Expected ` +
|
|
121
|
+
`${onePasswordRef(opts.vault, envVar)}.`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function parseInjectedEnv(injected) {
|
|
126
|
+
const values = {};
|
|
127
|
+
for (const line of injected.split(/\r?\n/)) {
|
|
128
|
+
const eq = line.indexOf("=");
|
|
129
|
+
if (eq <= 0)
|
|
130
|
+
continue;
|
|
131
|
+
values[line.slice(0, eq)] = line.slice(eq + 1);
|
|
132
|
+
}
|
|
133
|
+
return values;
|
|
134
|
+
}
|
|
135
|
+
async function runOpWithInput(args, input, timeoutMs) {
|
|
136
|
+
return await new Promise((resolve, reject) => {
|
|
137
|
+
const child = spawn("op", args, { stdio: ["pipe", "pipe", "pipe"] });
|
|
138
|
+
let stdout = "";
|
|
139
|
+
let stderr = "";
|
|
140
|
+
let timedOut = false;
|
|
141
|
+
const timer = setTimeout(() => {
|
|
142
|
+
timedOut = true;
|
|
143
|
+
child.kill("SIGTERM");
|
|
144
|
+
}, timeoutMs);
|
|
145
|
+
child.stdout.setEncoding("utf8");
|
|
146
|
+
child.stderr.setEncoding("utf8");
|
|
147
|
+
child.stdout.on("data", (chunk) => {
|
|
148
|
+
stdout += chunk;
|
|
149
|
+
});
|
|
150
|
+
child.stderr.on("data", (chunk) => {
|
|
151
|
+
stderr += chunk;
|
|
152
|
+
});
|
|
153
|
+
child.on("error", (err) => {
|
|
154
|
+
clearTimeout(timer);
|
|
155
|
+
if (err.code === "ENOENT") {
|
|
156
|
+
reject(new Error("1Password CLI `op` was not found in PATH."));
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
reject(err);
|
|
160
|
+
});
|
|
161
|
+
child.on("close", (code, signal) => {
|
|
162
|
+
clearTimeout(timer);
|
|
163
|
+
if (timedOut) {
|
|
164
|
+
reject(new Error(`1Password CLI \`op ${args.join(" ")}\` timed out after ` +
|
|
165
|
+
`${timeoutMs}ms.`));
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (code !== 0) {
|
|
169
|
+
reject(new Error(stderr.trim() ||
|
|
170
|
+
`1Password CLI \`op ${args.join(" ")}\` exited with ` +
|
|
171
|
+
`${signal ?? code}.`));
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
resolve(stdout);
|
|
175
|
+
});
|
|
176
|
+
child.stdin.end(input);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
function normalizeConcurrency(concurrency, jobCount) {
|
|
180
|
+
if (jobCount === 0)
|
|
181
|
+
return 0;
|
|
182
|
+
if (!Number.isFinite(concurrency) || concurrency < 1)
|
|
183
|
+
return 1;
|
|
184
|
+
return Math.min(Math.floor(concurrency), jobCount);
|
|
185
|
+
}
|
|
186
|
+
function wrapReadError(err, vault, envVar, required) {
|
|
187
|
+
if (!required && isMissingOnePasswordItem(err))
|
|
188
|
+
return undefined;
|
|
189
|
+
const ref = onePasswordRef(vault, envVar);
|
|
190
|
+
return new Error(`Missing 1Password secret for ${envVar}. Expected ${ref}. ` +
|
|
191
|
+
`${errorMessage(err)}`);
|
|
192
|
+
}
|
|
54
193
|
function hasResolvedEnvValue(value) {
|
|
55
194
|
return value !== undefined && value !== "" && !value.startsWith("op://");
|
|
56
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one-password.js","sourceRoot":"","sources":["../../src/one-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"one-password.js","sourceRoot":"","sources":["../../src/one-password.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,WAAW,CAC/B,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
|
package/dist/src/server.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
1
2
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
@@ -10,7 +11,10 @@ export async function startServer(opts = {}) {
|
|
|
10
11
|
enabledProviders: opts.enabledProviders,
|
|
11
12
|
paygateSecret: opts.paygateSecret,
|
|
12
13
|
});
|
|
13
|
-
const server = new Server({
|
|
14
|
+
const server = new Server({
|
|
15
|
+
name: opts.name ?? "apicity",
|
|
16
|
+
version: opts.version ?? readPackageVersion(),
|
|
17
|
+
}, { capabilities: { tools: {} } });
|
|
14
18
|
const byName = new Map(endpoints.map((e) => [e.toolName, e]));
|
|
15
19
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
16
20
|
tools: endpoints.map((ep) => ({
|
|
@@ -196,4 +200,23 @@ function safeStringify(value) {
|
|
|
196
200
|
return String(value);
|
|
197
201
|
}
|
|
198
202
|
}
|
|
203
|
+
function readPackageVersion() {
|
|
204
|
+
for (const path of [
|
|
205
|
+
new URL("../package.json", import.meta.url),
|
|
206
|
+
new URL("../../package.json", import.meta.url),
|
|
207
|
+
]) {
|
|
208
|
+
try {
|
|
209
|
+
const pkg = JSON.parse(readFileSync(path, "utf8"));
|
|
210
|
+
if (typeof pkg === "object" && pkg !== null) {
|
|
211
|
+
const version = pkg.version;
|
|
212
|
+
if (typeof version === "string")
|
|
213
|
+
return version;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
/* try source/dist fallback */
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return "0.0.0";
|
|
221
|
+
}
|
|
199
222
|
//# sourceMappingURL=server.js.map
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAiB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAC;AAWrB,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA2B,EAAE;IAE7B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC;QACpC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apicity/mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"description": "Optional MCP (Model Context Protocol) server that exposes every @apicity provider endpoint as a tool.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -47,22 +47,22 @@
|
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
50
|
-
"@apicity/
|
|
51
|
-
"@apicity/
|
|
52
|
-
"@apicity/
|
|
53
|
-
"@apicity/
|
|
54
|
-
"@apicity/
|
|
55
|
-
"@apicity/
|
|
56
|
-
"@apicity/
|
|
57
|
-
"@apicity/
|
|
58
|
-
"@apicity/
|
|
59
|
-
"@apicity/
|
|
60
|
-
"@apicity/
|
|
61
|
-
"@apicity/
|
|
62
|
-
"@apicity/
|
|
63
|
-
"@apicity/
|
|
64
|
-
"@apicity/
|
|
65
|
-
"@apicity/
|
|
50
|
+
"@apicity/fal": "0.2.11",
|
|
51
|
+
"@apicity/elevenlabs": "0.2.11",
|
|
52
|
+
"@apicity/fireworks": "0.2.11",
|
|
53
|
+
"@apicity/cost": "0.2.11",
|
|
54
|
+
"@apicity/anthropic": "0.2.11",
|
|
55
|
+
"@apicity/free-media-upload": "0.2.11",
|
|
56
|
+
"@apicity/meta": "0.2.11",
|
|
57
|
+
"@apicity/google": "0.2.11",
|
|
58
|
+
"@apicity/alibaba": "0.2.11",
|
|
59
|
+
"@apicity/kie": "0.2.11",
|
|
60
|
+
"@apicity/openai": "0.2.11",
|
|
61
|
+
"@apicity/telegram": "0.2.11",
|
|
62
|
+
"@apicity/x": "0.2.11",
|
|
63
|
+
"@apicity/kimicoding": "0.2.11",
|
|
64
|
+
"@apicity/xai": "0.2.11",
|
|
65
|
+
"@apicity/youtube": "0.2.11"
|
|
66
66
|
},
|
|
67
67
|
"homepage": "https://github.com/justintanner/apicity#readme",
|
|
68
68
|
"bugs": {
|