refresh-cv 0.1.0 → 0.1.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/README.md +12 -4
- package/bin/refresh-cv.js +19 -12
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,17 +16,25 @@ https://mcp.refresh.cv/mcp
|
|
|
16
16
|
|
|
17
17
|
Then it starts the Codex OAuth login flow.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## Local server
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npx -y refresh-cv@latest --client codex --
|
|
22
|
+
npx -y refresh-cv@latest --client codex --local
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
This configures Codex with:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
http://localhost:8010/mcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The default local server name is `refresh_cv_local`, so production and local MCP connections can coexist.
|
|
32
|
+
|
|
25
33
|
## Options
|
|
26
34
|
|
|
27
35
|
- `--client codex`: configure Codex.
|
|
28
|
-
- `--dev`: use `https://mcp.dev.refresh.cv/mcp`.
|
|
29
36
|
- `--url <url>`: override the MCP endpoint.
|
|
30
|
-
- `--
|
|
37
|
+
- `--local`: configure `http://localhost:8010/mcp` as `refresh_cv_local`.
|
|
38
|
+
- `--name <name>`: override the Codex MCP server name. Defaults to `refresh_cv`, or `refresh_cv_local` with `--local`.
|
|
31
39
|
- `--force`: replace an existing Codex MCP server with the same name.
|
|
32
40
|
- `--skip-login`: add the MCP server but skip OAuth login.
|
package/bin/refresh-cv.js
CHANGED
|
@@ -4,10 +4,11 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
|
|
7
|
-
const PACKAGE_VERSION = '0.1.
|
|
7
|
+
const PACKAGE_VERSION = '0.1.1';
|
|
8
8
|
const PRODUCTION_MCP_URL = 'https://mcp.refresh.cv/mcp';
|
|
9
|
-
const
|
|
9
|
+
const LOCAL_MCP_URL = 'http://localhost:8010/mcp';
|
|
10
10
|
const DEFAULT_SERVER_NAME = 'refresh_cv';
|
|
11
|
+
const LOCAL_DEFAULT_SERVER_NAME = 'refresh_cv_local';
|
|
11
12
|
const SIMPLE_TOML_KEY = /^[A-Za-z0-9_-]+$/;
|
|
12
13
|
|
|
13
14
|
const HELP = `refresh.cv MCP installer
|
|
@@ -17,9 +18,9 @@ Usage:
|
|
|
17
18
|
|
|
18
19
|
Options:
|
|
19
20
|
--client <client> Agent client to configure. Currently supports: codex
|
|
20
|
-
--dev Use the dev MCP endpoint (${DEV_MCP_URL})
|
|
21
21
|
--url <url> Override the MCP endpoint URL
|
|
22
|
-
--
|
|
22
|
+
--local Use ${LOCAL_MCP_URL} and default name ${LOCAL_DEFAULT_SERVER_NAME}
|
|
23
|
+
--name <name> Codex MCP server name (default: ${DEFAULT_SERVER_NAME}, or ${LOCAL_DEFAULT_SERVER_NAME} with --local)
|
|
23
24
|
--force Replace an existing Codex MCP server with the same name
|
|
24
25
|
--skip-login Add the server but do not run "codex mcp login"
|
|
25
26
|
--version Show this installer version
|
|
@@ -27,7 +28,7 @@ Options:
|
|
|
27
28
|
|
|
28
29
|
Examples:
|
|
29
30
|
npx -y refresh-cv@latest --client codex
|
|
30
|
-
npx -y refresh-cv@latest --client codex --
|
|
31
|
+
npx -y refresh-cv@latest --client codex --local
|
|
31
32
|
`;
|
|
32
33
|
|
|
33
34
|
main().catch((error) => {
|
|
@@ -57,9 +58,15 @@ async function main() {
|
|
|
57
58
|
);
|
|
58
59
|
}
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
if (options.local && options.url) {
|
|
62
|
+
fail('Use either --local or --url, not both.');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const serverName =
|
|
66
|
+
options.name ??
|
|
67
|
+
(options.local ? LOCAL_DEFAULT_SERVER_NAME : DEFAULT_SERVER_NAME);
|
|
61
68
|
const mcpUrl =
|
|
62
|
-
options.url ?? (options.
|
|
69
|
+
options.url ?? (options.local ? LOCAL_MCP_URL : PRODUCTION_MCP_URL);
|
|
63
70
|
|
|
64
71
|
assertValidServerName(serverName);
|
|
65
72
|
assertValidMcpUrl(mcpUrl);
|
|
@@ -114,10 +121,10 @@ async function main() {
|
|
|
114
121
|
function parseArgs(args) {
|
|
115
122
|
const options = {
|
|
116
123
|
client: undefined,
|
|
117
|
-
dev: false,
|
|
118
124
|
force: false,
|
|
119
125
|
help: false,
|
|
120
126
|
loginStartedDuringAdd: false,
|
|
127
|
+
local: false,
|
|
121
128
|
name: undefined,
|
|
122
129
|
skipLogin: false,
|
|
123
130
|
url: undefined,
|
|
@@ -132,9 +139,6 @@ function parseArgs(args) {
|
|
|
132
139
|
case '--client':
|
|
133
140
|
options.client = readValue(args, ++index, '--client').toLowerCase();
|
|
134
141
|
break;
|
|
135
|
-
case '--dev':
|
|
136
|
-
options.dev = true;
|
|
137
|
-
break;
|
|
138
142
|
case '--force':
|
|
139
143
|
options.force = true;
|
|
140
144
|
break;
|
|
@@ -142,6 +146,9 @@ function parseArgs(args) {
|
|
|
142
146
|
case '-h':
|
|
143
147
|
options.help = true;
|
|
144
148
|
break;
|
|
149
|
+
case '--local':
|
|
150
|
+
options.local = true;
|
|
151
|
+
break;
|
|
145
152
|
case '--name':
|
|
146
153
|
options.name = readValue(args, ++index, '--name');
|
|
147
154
|
break;
|
|
@@ -211,7 +218,7 @@ function assertValidMcpUrl(value) {
|
|
|
211
218
|
}
|
|
212
219
|
|
|
213
220
|
if (parsed.protocol !== 'https:' && parsed.hostname !== 'localhost') {
|
|
214
|
-
fail('MCP URL must use https, except localhost
|
|
221
|
+
fail('MCP URL must use https, except localhost URLs.');
|
|
215
222
|
}
|
|
216
223
|
|
|
217
224
|
if (parsed.pathname !== '/mcp') {
|