@enfyra/mcp-server 0.0.83 → 0.0.84
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 +5 -5
- package/package.json +1 -1
- package/src/lib/config-local.mjs +8 -15
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ From your project root:
|
|
|
12
12
|
npx @enfyra/mcp-server config
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
The config command
|
|
15
|
+
The config command writes project config for Codex, Claude Code, and Cursor. It preserves other MCP servers and replaces only the `enfyra` entry.
|
|
16
16
|
|
|
17
17
|
Interactive setup asks for `ENFYRA_APP_URL` first, then asks for `ENFYRA_API_TOKEN`. The MCP API base is inferred as `<app>/api`, and the token page is inferred as `<app>/me`. For example, `https://demo.enfyra.io` becomes API base `https://demo.enfyra.io/api` and token page `https://demo.enfyra.io/me`.
|
|
18
18
|
|
|
@@ -37,7 +37,7 @@ yarn mcp:config
|
|
|
37
37
|
|
|
38
38
|
| Client | Command | Project config |
|
|
39
39
|
|--------|---------|----------------|
|
|
40
|
-
| Codex | `npx @enfyra/mcp-server config --codex` |
|
|
40
|
+
| Codex | `npx @enfyra/mcp-server config --codex` | `.codex/config.toml` |
|
|
41
41
|
| Claude Code | `npx @enfyra/mcp-server config --claude-code` | `.mcp.json` |
|
|
42
42
|
| Cursor | `npx @enfyra/mcp-server config --cursor` | `.cursor/mcp.json` |
|
|
43
43
|
| MCP Inspector / other hosts | Paste the shared STDIO config below | Host-specific `mcpServers` config |
|
|
@@ -49,7 +49,7 @@ yarn mcp:config
|
|
|
49
49
|
npx @enfyra/mcp-server config --codex
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
Generated
|
|
52
|
+
Generated project config:
|
|
53
53
|
|
|
54
54
|
```toml
|
|
55
55
|
[mcp_servers.enfyra]
|
|
@@ -61,9 +61,9 @@ ENFYRA_API_URL = "http://localhost:3000/api"
|
|
|
61
61
|
ENFYRA_API_TOKEN = "efy_pat_your-token"
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
The writer replaces only `[mcp_servers.enfyra]` and `[mcp_servers.enfyra.env]
|
|
64
|
+
The writer replaces only `[mcp_servers.enfyra]` and `[mcp_servers.enfyra.env]`. Other Codex config and other MCP servers are preserved.
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
Open this folder in a new Codex session and approve the project MCP config if prompted. The setup command only writes `.codex/config.toml`; it does not ship or create `.codex/skills`.
|
|
67
67
|
|
|
68
68
|
Official reference: [Codex config](https://developers.openai.com/codex/config-reference).
|
|
69
69
|
|
package/package.json
CHANGED
package/src/lib/config-local.mjs
CHANGED
|
@@ -23,7 +23,7 @@ const style = {
|
|
|
23
23
|
const clients = {
|
|
24
24
|
codex: {
|
|
25
25
|
label: 'Codex',
|
|
26
|
-
path: '
|
|
26
|
+
path: './.codex/config.toml',
|
|
27
27
|
color: style.green,
|
|
28
28
|
},
|
|
29
29
|
claude: {
|
|
@@ -61,7 +61,7 @@ ${style.bold('Usage')}
|
|
|
61
61
|
npx @enfyra/mcp-server config [options]
|
|
62
62
|
|
|
63
63
|
${style.bold('Supported clients')}
|
|
64
|
-
Codex
|
|
64
|
+
Codex ./.codex/config.toml
|
|
65
65
|
Claude Code ./.mcp.json
|
|
66
66
|
Cursor ./.cursor/mcp.json
|
|
67
67
|
Other MCP hosts can use the shared stdio JSON from the README.
|
|
@@ -69,7 +69,7 @@ ${style.bold('Supported clients')}
|
|
|
69
69
|
${style.bold('Options')}
|
|
70
70
|
--app-url <url> Enfyra app/admin URL, for example https://demo.enfyra.io
|
|
71
71
|
--api-token, -t <secret> ENFYRA_API_TOKEN
|
|
72
|
-
--global Write
|
|
72
|
+
--global Write global/user config for selected clients instead of project config
|
|
73
73
|
--reconfig Always choose target again in interactive mode and replace the old enfyra config for that target
|
|
74
74
|
--yes Non-interactive: no prompts (CI / scripts); use CLI, env, existing file, then defaults
|
|
75
75
|
|
|
@@ -78,7 +78,7 @@ ${style.bold('Client selection')}
|
|
|
78
78
|
|
|
79
79
|
--claude-code, --claude, --claude-only Only ./.mcp.json (Claude Code project scope)
|
|
80
80
|
--cursor, --cursor-only Only ./.cursor/mcp.json (Cursor)
|
|
81
|
-
--codex, --codex-only Only
|
|
81
|
+
--codex, --codex-only Only ./.codex/config.toml (Codex project scope)
|
|
82
82
|
Passing multiple target flags writes each selected target.
|
|
83
83
|
|
|
84
84
|
-h, --help Show this help
|
|
@@ -287,7 +287,7 @@ async function readCodexEnfyraEnv(absPath) {
|
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
function getCodexConfigPath(root, globalScope) {
|
|
290
|
-
return join(homedir(), '.codex', 'config.toml');
|
|
290
|
+
return globalScope ? join(homedir(), '.codex', 'config.toml') : join(root, '.codex', 'config.toml');
|
|
291
291
|
}
|
|
292
292
|
|
|
293
293
|
function getClaudeConfigPath(root, globalScope) {
|
|
@@ -361,7 +361,7 @@ async function promptTargetChoice() {
|
|
|
361
361
|
const rl = createInterface({ input, output });
|
|
362
362
|
const line = (await rl.question(
|
|
363
363
|
'Where should Enfyra MCP config be written?\n'
|
|
364
|
-
+ ' [1] Codex
|
|
364
|
+
+ ' [1] Codex ./.codex/config.toml\n'
|
|
365
365
|
+ ' [2] Claude Code ./.mcp.json\n'
|
|
366
366
|
+ ' [3] Cursor ./.cursor/mcp.json\n'
|
|
367
367
|
+ ' [4] All [default]\n'
|
|
@@ -595,14 +595,7 @@ export async function runLocalConfig(argv) {
|
|
|
595
595
|
written.push({ client: 'cursor', path: p });
|
|
596
596
|
}
|
|
597
597
|
|
|
598
|
-
const
|
|
599
|
-
const scopeLabel = opts.global
|
|
600
|
-
? 'global/user'
|
|
601
|
-
: writeCodex && hasProjectConfig
|
|
602
|
-
? 'project + Codex user'
|
|
603
|
-
: writeCodex
|
|
604
|
-
? 'Codex user'
|
|
605
|
-
: 'project';
|
|
598
|
+
const scopeLabel = opts.global ? 'global/user' : 'project';
|
|
606
599
|
console.log(`${statusIcon('success')} ${style.bold(style.green('Enfyra MCP config updated'))} ${style.dim(`(${scopeLabel})`)}\n`);
|
|
607
600
|
for (const entry of written) {
|
|
608
601
|
const meta = clients[entry.client];
|
|
@@ -613,7 +606,7 @@ export async function runLocalConfig(argv) {
|
|
|
613
606
|
const selectedClients = new Set(written.map(entry => entry.client));
|
|
614
607
|
console.log(`\n${style.bold(style.blue('Next steps'))}`);
|
|
615
608
|
if (selectedClients.has('codex')) {
|
|
616
|
-
console.log(' - Codex:
|
|
609
|
+
console.log(' - Codex: open this folder in a new Codex session and approve the project MCP config if prompted.');
|
|
617
610
|
}
|
|
618
611
|
if (selectedClients.has('claude')) {
|
|
619
612
|
console.log(' - Claude Code: open this folder; approve project MCP if prompted.');
|