@ratio-mcp/setup 1.0.2 → 1.2.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/dist/index.js +0 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +5 -15
- package/dist/setup.js.map +1 -1
- package/package.json +8 -13
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA2JA,wBAAgB,GAAG,IAAI,IAAI,CA+B1B"}
|
package/dist/setup.js
CHANGED
|
@@ -29,20 +29,19 @@ function buildEnvPath(npxFullPath) {
|
|
|
29
29
|
function getMcpServerEntries() {
|
|
30
30
|
const npxPath = resolveNpxPath();
|
|
31
31
|
const isAbsolute = path.isAbsolute(npxPath);
|
|
32
|
-
const
|
|
32
|
+
const makeEntry = (pkg) => {
|
|
33
33
|
const entry = {
|
|
34
34
|
command: npxPath,
|
|
35
35
|
args: ['-y', `${pkg}@latest`],
|
|
36
36
|
};
|
|
37
|
-
// Only add env.PATH when we have an absolute npx path (needed for Claude Desktop)
|
|
38
37
|
if (isAbsolute) {
|
|
39
38
|
entry.env = { PATH: buildEnvPath(npxPath) };
|
|
40
39
|
}
|
|
41
40
|
return entry;
|
|
42
41
|
};
|
|
43
42
|
return {
|
|
44
|
-
'ratio-
|
|
45
|
-
'ratio-
|
|
43
|
+
'ratio-mcp-dev': makeEntry('@ratio-mcp/dev-server'),
|
|
44
|
+
'ratio-mcp-doc': makeEntry('@ratio-mcp/docs-server'),
|
|
46
45
|
};
|
|
47
46
|
}
|
|
48
47
|
function getConfigPaths() {
|
|
@@ -78,7 +77,6 @@ function atomicWrite(filePath, content) {
|
|
|
78
77
|
}
|
|
79
78
|
function updateConfig(filePath) {
|
|
80
79
|
console.log(`\nFound config: ${filePath}`);
|
|
81
|
-
// Read existing file
|
|
82
80
|
let raw;
|
|
83
81
|
try {
|
|
84
82
|
raw = fs.readFileSync(filePath, 'utf-8');
|
|
@@ -87,7 +85,6 @@ function updateConfig(filePath) {
|
|
|
87
85
|
console.error(` Error: Could not read file. Skipping.`);
|
|
88
86
|
return false;
|
|
89
87
|
}
|
|
90
|
-
// Validate JSON
|
|
91
88
|
let config;
|
|
92
89
|
try {
|
|
93
90
|
config = JSON.parse(raw);
|
|
@@ -97,14 +94,11 @@ function updateConfig(filePath) {
|
|
|
97
94
|
console.error(` Fix the JSON manually or restore from a backup.`);
|
|
98
95
|
return false;
|
|
99
96
|
}
|
|
100
|
-
// Validate config is an object
|
|
101
97
|
if (typeof config !== 'object' || config === null || Array.isArray(config)) {
|
|
102
98
|
console.error(` Error: Config is not a JSON object. Skipping.`);
|
|
103
99
|
return false;
|
|
104
100
|
}
|
|
105
|
-
// Backup before modifying
|
|
106
101
|
backupFile(filePath);
|
|
107
|
-
// Ensure mcpServers exists and is an object
|
|
108
102
|
if (!('mcpServers' in config)) {
|
|
109
103
|
config.mcpServers = {};
|
|
110
104
|
}
|
|
@@ -119,22 +113,20 @@ function updateConfig(filePath) {
|
|
|
119
113
|
for (const [name, entry] of Object.entries(getMcpServerEntries())) {
|
|
120
114
|
servers[name] = entry;
|
|
121
115
|
}
|
|
122
|
-
// Atomic write
|
|
123
116
|
atomicWrite(filePath, JSON.stringify(config, null, 2) + '\n');
|
|
124
|
-
console.log(` Configured ratio-
|
|
117
|
+
console.log(` Configured ratio-mcp-dev and ratio-mcp-doc servers.`);
|
|
125
118
|
return true;
|
|
126
119
|
}
|
|
127
120
|
function createFreshConfig(filePath) {
|
|
128
121
|
console.log(`\nNo existing Claude config found.`);
|
|
129
122
|
console.log(`Creating new config at: ${filePath}`);
|
|
130
|
-
// Create directory if needed
|
|
131
123
|
const dir = path.dirname(filePath);
|
|
132
124
|
fs.mkdirSync(dir, { recursive: true });
|
|
133
125
|
const config = {
|
|
134
126
|
mcpServers: { ...getMcpServerEntries() },
|
|
135
127
|
};
|
|
136
128
|
atomicWrite(filePath, JSON.stringify(config, null, 2) + '\n');
|
|
137
|
-
console.log(` Configured ratio-
|
|
129
|
+
console.log(` Configured ratio-mcp-dev and ratio-mcp-doc servers.`);
|
|
138
130
|
return true;
|
|
139
131
|
}
|
|
140
132
|
export function run() {
|
|
@@ -145,7 +137,6 @@ export function run() {
|
|
|
145
137
|
const existingPaths = allPaths.filter((p) => fs.existsSync(p));
|
|
146
138
|
let configured = 0;
|
|
147
139
|
if (existingPaths.length > 0) {
|
|
148
|
-
// Update all existing config files
|
|
149
140
|
for (const configPath of existingPaths) {
|
|
150
141
|
if (updateConfig(configPath)) {
|
|
151
142
|
configured++;
|
|
@@ -153,7 +144,6 @@ export function run() {
|
|
|
153
144
|
}
|
|
154
145
|
}
|
|
155
146
|
else {
|
|
156
|
-
// No config found — create Claude Code config as default
|
|
157
147
|
const defaultPath = allPaths[0]; // ~/.claude/claude_desktop_config.json
|
|
158
148
|
if (createFreshConfig(defaultPath)) {
|
|
159
149
|
configured++;
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,kEAAkE;IAClF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,WAAmB;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ratio-mcp/setup",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "One-command setup for Ratio MCP servers in Claude",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
6
|
"bin": {
|
|
8
|
-
"ratio-mcp-setup": "dist/index.js"
|
|
9
|
-
|
|
7
|
+
"ratio-mcp-setup": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": ["dist"],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"prepublishOnly": "pnpm build"
|
|
10
13
|
},
|
|
11
|
-
"files": [
|
|
12
|
-
"dist"
|
|
13
|
-
],
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@types/node": "^20.0.0",
|
|
16
16
|
"typescript": "^5.4.0"
|
|
17
|
-
},
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsc",
|
|
20
|
-
"start": "node dist/index.js",
|
|
21
|
-
"typecheck": "tsc --noEmit"
|
|
22
17
|
}
|
|
23
|
-
}
|
|
18
|
+
}
|