@apicity/mcp-server 0.2.11 → 0.3.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 +35 -15
- package/dist/src/cli.d.ts +7 -0
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +54 -9
- package/dist/src/cli.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/one-password.d.ts +4 -3
- package/dist/src/one-password.d.ts.map +1 -1
- package/dist/src/one-password.js +25 -10
- package/dist/src/one-password.js.map +1 -1
- package/package.json +17 -17
package/README.md
CHANGED
|
@@ -20,31 +20,42 @@ pnpm add @apicity/mcp-server
|
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
# Stdio server. Logs to stderr; stdout is reserved for MCP framing.
|
|
23
|
-
|
|
24
|
-
npx apicity-
|
|
23
|
+
OP_SERVICE_TOKEN=ops_... \
|
|
24
|
+
npx -y @apicity/mcp-server \
|
|
25
|
+
--op-vault Apicity \
|
|
26
|
+
--op-service-token env:OP_SERVICE_TOKEN
|
|
25
27
|
```
|
|
26
28
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
field, then pass
|
|
29
|
+
The CLI requires both `--op-vault` and `--op-service-token`. Put each provider
|
|
30
|
+
secret in a 1Password item named after the env var (`OPENAI_API_KEY`,
|
|
31
|
+
`ANTHROPIC_API_KEY`, etc.) with the value in the `password` field, then pass
|
|
32
|
+
the vault name and a 1Password service-account token:
|
|
30
33
|
|
|
31
34
|
```bash
|
|
32
|
-
npx -y @apicity/mcp-server
|
|
35
|
+
npx -y @apicity/mcp-server \
|
|
36
|
+
--op-vault Apicity \
|
|
37
|
+
--op-service-token env:OP_SERVICE_TOKEN
|
|
33
38
|
```
|
|
34
39
|
|
|
40
|
+
`--op-service-token` accepts a literal token, `env:VAR`, `$VAR`, or an existing
|
|
41
|
+
env var name. `APICITY_OP_VAULT` and `APICITY_OP_SERVICE_TOKEN` can also be
|
|
42
|
+
used instead of flags.
|
|
43
|
+
|
|
35
44
|
Claude Code setup:
|
|
36
45
|
|
|
37
46
|
```bash
|
|
38
47
|
claude mcp add --scope user apicity -- \
|
|
39
48
|
npx -y @apicity/mcp-server \
|
|
40
|
-
--op-vault Apicity
|
|
49
|
+
--op-vault Apicity \
|
|
50
|
+
--op-service-token env:OP_SERVICE_TOKEN
|
|
41
51
|
```
|
|
42
52
|
|
|
43
53
|
### Flags
|
|
44
54
|
|
|
45
55
|
| Flag | Description |
|
|
46
56
|
| ------------------------------ | -------------------------------------------------------------------------------------------------------------- |
|
|
47
|
-
| `--op-vault <vault>` | Resolve missing provider credentials from `op://<vault>/<ENV_VAR>/password` (or
|
|
57
|
+
| `--op-vault <vault>` | Required. Resolve missing provider credentials from `op://<vault>/<ENV_VAR>/password` (or `APICITY_OP_VAULT`). |
|
|
58
|
+
| `--op-service-token <token>` | Required. 1Password service-account token, `env:VAR`, `$VAR`, or env var name (or `APICITY_OP_SERVICE_TOKEN`). |
|
|
48
59
|
| `--output-dir <path>` | Override where binary results and downloaded media URLs land. Defaults to `CLAUDE_PROJECT_DIR`, then cwd. |
|
|
49
60
|
| `--providers <csv>` | Allow-list of providers (default: every one with its env var set). |
|
|
50
61
|
| `--paygate-secret-file <path>` | File holding the shared HMAC secret used to verify paid-endpoint OTPs (see [Paid endpoints](#paid-endpoints)). |
|
|
@@ -70,11 +81,11 @@ claude mcp add --scope user apicity -- \
|
|
|
70
81
|
| `telegram` | `TELEGRAM_BOT_KEY` |
|
|
71
82
|
| `free` | _(none — public APIs)_ |
|
|
72
83
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
vault items are skipped.
|
|
84
|
+
Before the MCP server starts, the CLI lists the vault once and resolves
|
|
85
|
+
existing provider secrets in one batch using `OP_SERVICE_ACCOUNT_TOKEN` scoped
|
|
86
|
+
to the child `op` process. Provider env vars that are already set are left
|
|
87
|
+
untouched. If `--providers` is set, a missing requested provider secret is a
|
|
88
|
+
startup error; without `--providers`, missing vault items are skipped.
|
|
78
89
|
|
|
79
90
|
## Tool naming
|
|
80
91
|
|
|
@@ -142,8 +153,17 @@ embed the registry into your own MCP server.
|
|
|
142
153
|
"mcpServers": {
|
|
143
154
|
"apicity": {
|
|
144
155
|
"command": "npx",
|
|
145
|
-
"args": [
|
|
146
|
-
|
|
156
|
+
"args": [
|
|
157
|
+
"-y",
|
|
158
|
+
"@apicity/mcp-server",
|
|
159
|
+
"--op-vault",
|
|
160
|
+
"Apicity",
|
|
161
|
+
"--op-service-token",
|
|
162
|
+
"env:OP_SERVICE_TOKEN"
|
|
163
|
+
],
|
|
164
|
+
"env": {
|
|
165
|
+
"OP_SERVICE_TOKEN": "ops_..."
|
|
166
|
+
}
|
|
147
167
|
}
|
|
148
168
|
}
|
|
149
169
|
}
|
package/dist/src/cli.d.ts
CHANGED
|
@@ -3,11 +3,18 @@ export interface ParsedArgs {
|
|
|
3
3
|
enabledProviders?: string[];
|
|
4
4
|
paygateSecretFile?: string;
|
|
5
5
|
opVault?: string;
|
|
6
|
+
opServiceToken?: string;
|
|
6
7
|
help: boolean;
|
|
7
8
|
}
|
|
9
|
+
export interface ResolvedOnePasswordOptions {
|
|
10
|
+
vault: string;
|
|
11
|
+
serviceAccountToken: string;
|
|
12
|
+
}
|
|
8
13
|
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
9
14
|
export declare function resolveOutputDir(explicitOutputDir?: string, env?: NodeJS.ProcessEnv, cwd?: string): string;
|
|
10
15
|
export declare function resolveOpVault(explicitOpVault?: string, env?: NodeJS.ProcessEnv): string | undefined;
|
|
16
|
+
export declare function resolveOpServiceToken(explicitOpServiceToken?: string, env?: NodeJS.ProcessEnv): string | undefined;
|
|
17
|
+
export declare function resolveRequiredOnePasswordOptions(args: Pick<ParsedArgs, "opVault" | "opServiceToken">, env?: NodeJS.ProcessEnv): ResolvedOnePasswordOptions;
|
|
11
18
|
export declare function printHelp(): void;
|
|
12
19
|
export declare function runCli(argv?: string[]): Promise<void>;
|
|
13
20
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA4BpD;AAED,wBAAgB,gBAAgB,CAC9B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,GAAG,SAAgB,GAClB,MAAM,CAER;AAED,wBAAgB,cAAc,CAC5B,eAAe,CAAC,EAAE,MAAM,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,qBAAqB,CACnC,sBAAsB,CAAC,EAAE,MAAM,EAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAWpB;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,gBAAgB,CAAC,EACpD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,0BAA0B,CAU5B;AAED,wBAAgB,SAAS,IAAI,IAAI,CAkChC;AAED,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBxE"}
|
package/dist/src/cli.js
CHANGED
|
@@ -29,6 +29,12 @@ export function parseArgs(argv) {
|
|
|
29
29
|
else if (a.startsWith("--op-vault=")) {
|
|
30
30
|
out.opVault = a.slice(11);
|
|
31
31
|
}
|
|
32
|
+
else if (a === "--op-service-token") {
|
|
33
|
+
out.opServiceToken = argv[++i];
|
|
34
|
+
}
|
|
35
|
+
else if (a.startsWith("--op-service-token=")) {
|
|
36
|
+
out.opServiceToken = a.slice(19);
|
|
37
|
+
}
|
|
32
38
|
else {
|
|
33
39
|
console.error(`[apicity-mcp] unknown arg: ${a}`);
|
|
34
40
|
}
|
|
@@ -41,17 +47,47 @@ export function resolveOutputDir(explicitOutputDir, env = process.env, cwd = pro
|
|
|
41
47
|
export function resolveOpVault(explicitOpVault, env = process.env) {
|
|
42
48
|
return explicitOpVault ?? env.APICITY_OP_VAULT;
|
|
43
49
|
}
|
|
50
|
+
export function resolveOpServiceToken(explicitOpServiceToken, env = process.env) {
|
|
51
|
+
const tokenOrRef = explicitOpServiceToken ?? env.APICITY_OP_SERVICE_TOKEN;
|
|
52
|
+
if (!tokenOrRef)
|
|
53
|
+
return undefined;
|
|
54
|
+
if (tokenOrRef.startsWith("env:")) {
|
|
55
|
+
return resolveRequiredEnv(tokenOrRef.slice(4), "--op-service-token", env);
|
|
56
|
+
}
|
|
57
|
+
if (tokenOrRef.startsWith("$")) {
|
|
58
|
+
return resolveRequiredEnv(tokenOrRef.slice(1), "--op-service-token", env);
|
|
59
|
+
}
|
|
60
|
+
return env[tokenOrRef] ?? tokenOrRef;
|
|
61
|
+
}
|
|
62
|
+
export function resolveRequiredOnePasswordOptions(args, env = process.env) {
|
|
63
|
+
const vault = resolveOpVault(args.opVault, env);
|
|
64
|
+
if (!vault) {
|
|
65
|
+
throw new Error("--op-vault is required.");
|
|
66
|
+
}
|
|
67
|
+
const serviceAccountToken = resolveOpServiceToken(args.opServiceToken, env);
|
|
68
|
+
if (!serviceAccountToken) {
|
|
69
|
+
throw new Error("--op-service-token is required.");
|
|
70
|
+
}
|
|
71
|
+
return { vault, serviceAccountToken };
|
|
72
|
+
}
|
|
44
73
|
export function printHelp() {
|
|
45
74
|
console.error([
|
|
46
75
|
"apicity-mcp — MCP server exposing every @apicity provider endpoint as a tool.",
|
|
47
76
|
"",
|
|
48
77
|
"Usage:",
|
|
49
|
-
" apicity-mcp
|
|
78
|
+
" apicity-mcp --op-vault <vault> --op-service-token <token|env:VAR>",
|
|
79
|
+
" [--output-dir <path>] [--providers <csv>]",
|
|
50
80
|
"",
|
|
51
81
|
"Options:",
|
|
52
|
-
" --op-vault <vault> Resolve missing provider credentials from 1Password.",
|
|
82
|
+
" --op-vault <vault> Required. Resolve missing provider credentials from 1Password.",
|
|
53
83
|
" Looks for op://<vault>/<ENV_VAR>/password.",
|
|
54
84
|
" Can also be set with APICITY_OP_VAULT.",
|
|
85
|
+
" --op-service-token <token|env:VAR>",
|
|
86
|
+
" Required. Use a 1Password service-account token for",
|
|
87
|
+
" non-interactive credential reads. Literal tokens, env:VAR,",
|
|
88
|
+
" $VAR, or an existing env var name are accepted.",
|
|
89
|
+
" Can also be set with",
|
|
90
|
+
" APICITY_OP_SERVICE_TOKEN.",
|
|
55
91
|
" --output-dir <path> Directory to write binary results and downloaded media URLs.",
|
|
56
92
|
" Defaults to CLAUDE_PROJECT_DIR, then the current directory.",
|
|
57
93
|
" --providers <csv> Comma-separated provider allow-list (e.g. openai,xai,anthropic).",
|
|
@@ -73,13 +109,12 @@ export async function runCli(argv = process.argv.slice(2)) {
|
|
|
73
109
|
printHelp();
|
|
74
110
|
return;
|
|
75
111
|
}
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
112
|
+
const onePassword = resolveRequiredOnePasswordOptions(args);
|
|
113
|
+
await fillOnePasswordEnv({
|
|
114
|
+
vault: onePassword.vault,
|
|
115
|
+
enabledProviders: args.enabledProviders,
|
|
116
|
+
serviceAccountToken: onePassword.serviceAccountToken,
|
|
117
|
+
});
|
|
83
118
|
const paygateSecret = args.paygateSecretFile
|
|
84
119
|
? readFileSync(args.paygateSecretFile, "utf8").trim()
|
|
85
120
|
: undefined;
|
|
@@ -95,4 +130,14 @@ function parseProviderCsv(value) {
|
|
|
95
130
|
.map((provider) => provider.trim())
|
|
96
131
|
.filter(Boolean);
|
|
97
132
|
}
|
|
133
|
+
function resolveRequiredEnv(name, source, env) {
|
|
134
|
+
if (!name) {
|
|
135
|
+
throw new Error(`${source} env reference is empty.`);
|
|
136
|
+
}
|
|
137
|
+
const value = env[name];
|
|
138
|
+
if (!value) {
|
|
139
|
+
throw new Error(`${source} env reference ${name} is not set.`);
|
|
140
|
+
}
|
|
141
|
+
return value;
|
|
142
|
+
}
|
|
98
143
|
//# sourceMappingURL=cli.js.map
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { startServer, type StartServerOptions } from "./server.js";
|
|
2
|
-
export { parseArgs, resolveOpVault, resolveOutputDir, type ParsedArgs, } from "./cli.js";
|
|
3
|
-
export { fillOnePasswordEnv, getProviderEnvVars, onePasswordRef, readOnePasswordSecret, type OnePasswordEnvOptions, type OpRead, } from "./one-password.js";
|
|
2
|
+
export { parseArgs, resolveOpServiceToken, resolveOpVault, resolveOutputDir, resolveRequiredOnePasswordOptions, type ParsedArgs, type ResolvedOnePasswordOptions, } from "./cli.js";
|
|
3
|
+
export { fillOnePasswordEnv, getProviderEnvVars, injectOnePasswordSecrets, listOnePasswordItemTitles, onePasswordRef, readOnePasswordSecret, type OnePasswordEnvOptions, type OpInject, type OpListItemTitles, type OpRead, } from "./one-password.js";
|
|
4
4
|
export { buildRegistry, loadTsv, makeToolName, toSnakeCase, type Endpoint, type EndpointTsvRow, type BuildRegistryOptions, } from "./registry.js";
|
|
5
5
|
export { PROVIDERS, type ProviderSpec } from "./providers.js";
|
|
6
6
|
export { zodToJsonSchema, type JsonSchema } from "./schema.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,iCAAiC,EACjC,KAAK,UAAU,EACf,KAAK,0BAA0B,GAChC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,MAAM,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,QAAQ,GACT,MAAM,aAAa,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { startServer } from "./server.js";
|
|
2
|
-
export { parseArgs, resolveOpVault, resolveOutputDir, } from "./cli.js";
|
|
3
|
-
export { fillOnePasswordEnv, getProviderEnvVars, onePasswordRef, readOnePasswordSecret, } from "./one-password.js";
|
|
2
|
+
export { parseArgs, resolveOpServiceToken, resolveOpVault, resolveOutputDir, resolveRequiredOnePasswordOptions, } from "./cli.js";
|
|
3
|
+
export { fillOnePasswordEnv, getProviderEnvVars, injectOnePasswordSecrets, listOnePasswordItemTitles, onePasswordRef, readOnePasswordSecret, } from "./one-password.js";
|
|
4
4
|
export { buildRegistry, loadTsv, makeToolName, toSnakeCase, } from "./registry.js";
|
|
5
5
|
export { PROVIDERS } from "./providers.js";
|
|
6
6
|
export { zodToJsonSchema } from "./schema.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,SAAS,EACT,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,iCAAiC,GAGlC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,GAKtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,GAIZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,QAAQ,GACT,MAAM,aAAa,CAAC"}
|
|
@@ -3,6 +3,7 @@ export type OpListItemTitles = (vault: string) => Promise<string[]>;
|
|
|
3
3
|
export type OpInject = (template: string) => Promise<string>;
|
|
4
4
|
export interface OnePasswordEnvOptions {
|
|
5
5
|
vault: string;
|
|
6
|
+
serviceAccountToken: string;
|
|
6
7
|
enabledProviders?: string[];
|
|
7
8
|
env?: NodeJS.ProcessEnv;
|
|
8
9
|
readSecret?: OpRead;
|
|
@@ -14,7 +15,7 @@ export interface OnePasswordEnvOptions {
|
|
|
14
15
|
export declare function fillOnePasswordEnv(opts: OnePasswordEnvOptions): Promise<void>;
|
|
15
16
|
export declare function getProviderEnvVars(enabledProviders?: string[]): string[];
|
|
16
17
|
export declare function onePasswordRef(vault: string, envVar: string): 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>;
|
|
18
|
+
export declare function readOnePasswordSecret(ref: string, timeoutMs?: number, serviceAccountToken?: string): Promise<string>;
|
|
19
|
+
export declare function listOnePasswordItemTitles(vault: string, timeoutMs?: number, serviceAccountToken?: string): Promise<string[]>;
|
|
20
|
+
export declare function injectOnePasswordSecrets(template: string, timeoutMs?: number, serviceAccountToken?: string): Promise<string>;
|
|
20
21
|
//# 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;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,
|
|
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,mBAAmB,EAAE,MAAM,CAAC;IAC5B,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,EACjC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,SAAS,SAAwB,EACjC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA8BnB;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAwB,EACjC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
package/dist/src/one-password.js
CHANGED
|
@@ -55,9 +55,9 @@ export function getProviderEnvVars(enabledProviders) {
|
|
|
55
55
|
export function onePasswordRef(vault, envVar) {
|
|
56
56
|
return `op://${vault}/${envVar}/password`;
|
|
57
57
|
}
|
|
58
|
-
export async function readOnePasswordSecret(ref, timeoutMs = DEFAULT_OP_TIMEOUT_MS) {
|
|
58
|
+
export async function readOnePasswordSecret(ref, timeoutMs = DEFAULT_OP_TIMEOUT_MS, serviceAccountToken) {
|
|
59
59
|
try {
|
|
60
|
-
const { stdout } = await execFileAsync("op", ["read", "--no-newline", ref], { timeout: timeoutMs });
|
|
60
|
+
const { stdout } = await execFileAsync("op", ["read", "--no-newline", ref], { timeout: timeoutMs, env: opEnv(serviceAccountToken) });
|
|
61
61
|
return stdout.trim();
|
|
62
62
|
}
|
|
63
63
|
catch (err) {
|
|
@@ -67,9 +67,13 @@ export async function readOnePasswordSecret(ref, timeoutMs = DEFAULT_OP_TIMEOUT_
|
|
|
67
67
|
throw err;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
export async function listOnePasswordItemTitles(vault, timeoutMs = DEFAULT_OP_TIMEOUT_MS) {
|
|
70
|
+
export async function listOnePasswordItemTitles(vault, timeoutMs = DEFAULT_OP_TIMEOUT_MS, serviceAccountToken) {
|
|
71
71
|
try {
|
|
72
|
-
const { stdout } = await execFileAsync("op", ["item", "list", "--vault", vault, "--format", "json"], {
|
|
72
|
+
const { stdout } = await execFileAsync("op", ["item", "list", "--vault", vault, "--format", "json"], {
|
|
73
|
+
timeout: timeoutMs,
|
|
74
|
+
maxBuffer: 2 * 1024 * 1024,
|
|
75
|
+
env: opEnv(serviceAccountToken),
|
|
76
|
+
});
|
|
73
77
|
const parsed = JSON.parse(stdout);
|
|
74
78
|
if (!Array.isArray(parsed)) {
|
|
75
79
|
throw new Error("Expected `op item list --format json` to return an array.");
|
|
@@ -90,15 +94,15 @@ export async function listOnePasswordItemTitles(vault, timeoutMs = DEFAULT_OP_TI
|
|
|
90
94
|
throw err;
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
|
-
export async function injectOnePasswordSecrets(template, timeoutMs = DEFAULT_OP_TIMEOUT_MS) {
|
|
94
|
-
return await runOpWithInput(["inject", "--in-file", "/dev/stdin"], template, timeoutMs);
|
|
97
|
+
export async function injectOnePasswordSecrets(template, timeoutMs = DEFAULT_OP_TIMEOUT_MS, serviceAccountToken) {
|
|
98
|
+
return await runOpWithInput(["inject", "--in-file", "/dev/stdin"], template, timeoutMs, serviceAccountToken);
|
|
95
99
|
}
|
|
96
100
|
async function fillOnePasswordEnvBatch(opts, env, missingEnvVars, required) {
|
|
97
101
|
const timeoutMs = opts.timeoutMs ?? DEFAULT_OP_TIMEOUT_MS;
|
|
98
102
|
const listItemTitles = opts.listItemTitles ??
|
|
99
|
-
((vault) => listOnePasswordItemTitles(vault, timeoutMs));
|
|
103
|
+
((vault) => listOnePasswordItemTitles(vault, timeoutMs, opts.serviceAccountToken));
|
|
100
104
|
const injectSecrets = opts.injectSecrets ??
|
|
101
|
-
((template) => injectOnePasswordSecrets(template, timeoutMs));
|
|
105
|
+
((template) => injectOnePasswordSecrets(template, timeoutMs, opts.serviceAccountToken));
|
|
102
106
|
const itemTitles = new Set(await listItemTitles(opts.vault));
|
|
103
107
|
const availableEnvVars = missingEnvVars.filter((envVar) => itemTitles.has(envVar));
|
|
104
108
|
const missingItems = missingEnvVars.filter((envVar) => !itemTitles.has(envVar));
|
|
@@ -132,9 +136,12 @@ function parseInjectedEnv(injected) {
|
|
|
132
136
|
}
|
|
133
137
|
return values;
|
|
134
138
|
}
|
|
135
|
-
async function runOpWithInput(args, input, timeoutMs) {
|
|
139
|
+
async function runOpWithInput(args, input, timeoutMs, serviceAccountToken) {
|
|
136
140
|
return await new Promise((resolve, reject) => {
|
|
137
|
-
const child = spawn("op", args, {
|
|
141
|
+
const child = spawn("op", args, {
|
|
142
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
143
|
+
env: opEnv(serviceAccountToken),
|
|
144
|
+
});
|
|
138
145
|
let stdout = "";
|
|
139
146
|
let stderr = "";
|
|
140
147
|
let timedOut = false;
|
|
@@ -176,6 +183,14 @@ async function runOpWithInput(args, input, timeoutMs) {
|
|
|
176
183
|
child.stdin.end(input);
|
|
177
184
|
});
|
|
178
185
|
}
|
|
186
|
+
function opEnv(serviceAccountToken) {
|
|
187
|
+
if (!serviceAccountToken)
|
|
188
|
+
return process.env;
|
|
189
|
+
return {
|
|
190
|
+
...process.env,
|
|
191
|
+
OP_SERVICE_ACCOUNT_TOKEN: serviceAccountToken,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
179
194
|
function normalizeConcurrency(concurrency, jobCount) {
|
|
180
195
|
if (jobCount === 0)
|
|
181
196
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one-password.js","sourceRoot":"","sources":["../../src/one-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"one-password.js","sourceRoot":"","sources":["../../src/one-password.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.
|
|
3
|
+
"version": "0.3.0",
|
|
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/free-media-upload": "0.
|
|
56
|
-
"@apicity/
|
|
57
|
-
"@apicity/google": "0.
|
|
58
|
-
"@apicity/
|
|
59
|
-
"@apicity/
|
|
60
|
-
"@apicity/
|
|
61
|
-
"@apicity/
|
|
62
|
-
"@apicity/
|
|
63
|
-
"@apicity/
|
|
64
|
-
"@apicity/xai": "0.
|
|
65
|
-
"@apicity/youtube": "0.
|
|
50
|
+
"@apicity/alibaba": "0.3.0",
|
|
51
|
+
"@apicity/anthropic": "0.3.0",
|
|
52
|
+
"@apicity/cost": "0.3.0",
|
|
53
|
+
"@apicity/fal": "0.3.0",
|
|
54
|
+
"@apicity/fireworks": "0.3.0",
|
|
55
|
+
"@apicity/free-media-upload": "0.3.0",
|
|
56
|
+
"@apicity/elevenlabs": "0.3.0",
|
|
57
|
+
"@apicity/google": "0.3.0",
|
|
58
|
+
"@apicity/meta": "0.3.0",
|
|
59
|
+
"@apicity/kimicoding": "0.3.0",
|
|
60
|
+
"@apicity/kie": "0.3.0",
|
|
61
|
+
"@apicity/openai": "0.3.0",
|
|
62
|
+
"@apicity/telegram": "0.3.0",
|
|
63
|
+
"@apicity/x": "0.3.0",
|
|
64
|
+
"@apicity/xai": "0.3.0",
|
|
65
|
+
"@apicity/youtube": "0.3.0"
|
|
66
66
|
},
|
|
67
67
|
"homepage": "https://github.com/justintanner/apicity#readme",
|
|
68
68
|
"bugs": {
|