reportdash-datastore-mcp-claude-desktop 1.0.4 → 1.0.5
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/index.js +38 -22
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -78,14 +78,24 @@ function forwardToAPI(mcpRequest) {
|
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
res.on('end', () => {
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
// Treat 200-299 as success
|
|
82
|
+
if (res.statusCode >= 200 && res.statusCode < 300) {
|
|
83
|
+
// For 204 No Content, return empty success response
|
|
84
|
+
if (res.statusCode === 204 || !data.trim()) {
|
|
85
|
+
console.log(JSON.stringify({
|
|
86
|
+
jsonrpc: '2.0',
|
|
87
|
+
result: {},
|
|
88
|
+
id: mcpRequest.id || null
|
|
89
|
+
}));
|
|
90
|
+
} else {
|
|
91
|
+
console.log(data);
|
|
92
|
+
}
|
|
83
93
|
} else {
|
|
84
94
|
console.error(JSON.stringify({
|
|
85
95
|
jsonrpc: '2.0',
|
|
86
96
|
error: {
|
|
87
97
|
code: res.statusCode,
|
|
88
|
-
message: `API error: ${res.statusCode} -
|
|
98
|
+
message: `API error: ${res.statusCode}${data ? ' - ' + data : ''}`,
|
|
89
99
|
data: { statusCode: res.statusCode, body: data }
|
|
90
100
|
},
|
|
91
101
|
id: mcpRequest.id || null
|
|
@@ -162,28 +172,34 @@ function testConnection() {
|
|
|
162
172
|
res.on('end', () => {
|
|
163
173
|
console.log(`Response Status: ${res.statusCode}\n`);
|
|
164
174
|
|
|
165
|
-
if (res.statusCode
|
|
166
|
-
|
|
167
|
-
const response = JSON.parse(data);
|
|
175
|
+
if (res.statusCode >= 200 && res.statusCode < 300) {
|
|
176
|
+
if (res.statusCode === 204 || !data.trim()) {
|
|
168
177
|
console.log('✅ Connection successful!');
|
|
169
|
-
console.log('✅ API key is valid
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
response.
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
178
|
+
console.log('✅ API key is valid');
|
|
179
|
+
console.log('ℹ️ Server returned 204 No Content (this is normal for some endpoints)\n');
|
|
180
|
+
} else {
|
|
181
|
+
try {
|
|
182
|
+
const response = JSON.parse(data);
|
|
183
|
+
console.log('✅ Connection successful!');
|
|
184
|
+
console.log('✅ API key is valid\n');
|
|
185
|
+
|
|
186
|
+
if (response.result && response.result.tools) {
|
|
187
|
+
console.log(`📦 Available Tools: ${response.result.tools.length}\n`);
|
|
188
|
+
response.result.tools.forEach((tool, index) => {
|
|
189
|
+
console.log(`${index + 1}. ${tool.name}`);
|
|
190
|
+
console.log(` ${tool.description}\n`);
|
|
191
|
+
});
|
|
192
|
+
} else {
|
|
193
|
+
console.log('Response:', JSON.stringify(response, null, 2));
|
|
194
|
+
}
|
|
195
|
+
} catch (e) {
|
|
196
|
+
console.log('✅ Connection successful but response parsing failed');
|
|
197
|
+
console.log('Raw response:', data);
|
|
179
198
|
}
|
|
180
|
-
|
|
181
|
-
console.log('\n🎉 You can now use ReportDash DataStore in Claude Desktop!');
|
|
182
|
-
console.log('\nTry asking Claude: "list my reportdash datastore sources"');
|
|
183
|
-
} catch (e) {
|
|
184
|
-
console.log('✅ Connection successful but response parsing failed');
|
|
185
|
-
console.log('Raw response:', data);
|
|
186
199
|
}
|
|
200
|
+
|
|
201
|
+
console.log('\n🎉 You can now use ReportDash DataStore in Claude Desktop!');
|
|
202
|
+
console.log('\nTry asking Claude: "list my reportdash datastore sources"');
|
|
187
203
|
} else {
|
|
188
204
|
console.log('❌ Connection failed');
|
|
189
205
|
console.log(`Status: ${res.statusCode}`);
|