@quarri/claude-data-tools 1.0.2 → 1.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/dist/index.js CHANGED
@@ -12,7 +12,6 @@ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
12
12
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
13
13
  const client_js_1 = require("./api/client.js");
14
14
  const token_store_js_1 = require("./auth/token-store.js");
15
- const cli_auth_js_1 = require("./auth/cli-auth.js");
16
15
  const definitions_js_1 = require("./tools/definitions.js");
17
16
  // Initialize API client
18
17
  const client = new client_js_1.QuarriApiClient();
@@ -27,6 +26,7 @@ const server = new index_js_1.Server({
27
26
  });
28
27
  /**
29
28
  * Ensure user is authenticated before tool execution
29
+ * Returns credentials or throws an error with auth instructions
30
30
  */
31
31
  async function ensureAuthenticated() {
32
32
  const credentials = (0, token_store_js_1.loadCredentials)();
@@ -34,14 +34,28 @@ async function ensureAuthenticated() {
34
34
  client.setToken(credentials.token);
35
35
  return true;
36
36
  }
37
- // Run interactive auth flow
38
- const result = await (0, cli_auth_js_1.runAuthFlow)(client);
39
- if (result) {
40
- client.setToken(result.token);
41
- return true;
42
- }
37
+ // Don't run interactive auth in MCP context - it conflicts with stdio protocol
38
+ // Instead, return false and the caller will provide instructions
43
39
  return false;
44
40
  }
41
+ /**
42
+ * Generate authentication instructions for unauthenticated users
43
+ */
44
+ function getAuthInstructions() {
45
+ return `
46
+ Not authenticated with Quarri.
47
+
48
+ **New to Quarri?** Create a free trial account:
49
+
50
+ npx @quarri/claude-data-tools signup
51
+
52
+ **Existing account?** Log in with:
53
+
54
+ npx @quarri/claude-data-tools auth
55
+
56
+ After authenticating, restart Claude Code to pick up the credentials.
57
+ `.trim();
58
+ }
45
59
  /**
46
60
  * Handle list tools request
47
61
  */
@@ -59,12 +73,56 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
59
73
  */
60
74
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
61
75
  const { name, arguments: args } = request.params;
62
- // Ensure authenticated
76
+ // Handle auth_status before authentication check (for debugging)
77
+ if (name === 'quarri_auth_status') {
78
+ const credentials = (0, token_store_js_1.loadCredentials)();
79
+ const selected = (0, token_store_js_1.getSelectedDatabase)();
80
+ if (!credentials) {
81
+ return {
82
+ content: [
83
+ {
84
+ type: 'text',
85
+ text: JSON.stringify({
86
+ authenticated: false,
87
+ message: 'Not authenticated. Run: npx @quarri/claude-data-tools auth',
88
+ }, null, 2),
89
+ },
90
+ ],
91
+ };
92
+ }
93
+ const expiresAt = new Date(credentials.expiresAt);
94
+ const isExpired = expiresAt < new Date();
95
+ const expiresIn = Math.round((expiresAt.getTime() - Date.now()) / (1000 * 60 * 60 * 24));
96
+ return {
97
+ content: [
98
+ {
99
+ type: 'text',
100
+ text: JSON.stringify({
101
+ authenticated: !isExpired,
102
+ email: credentials.email,
103
+ role: credentials.role,
104
+ databases: credentials.databases.map(d => d.display_name || d.database_name),
105
+ selectedDatabase: selected,
106
+ tokenExpires: credentials.expiresAt,
107
+ expiresInDays: isExpired ? 'EXPIRED' : expiresIn,
108
+ }, null, 2),
109
+ },
110
+ ],
111
+ };
112
+ }
113
+ // Ensure authenticated for all other tools
63
114
  const authenticated = await ensureAuthenticated();
64
115
  if (!authenticated) {
65
- throw new types_js_1.McpError(types_js_1.ErrorCode.InvalidRequest, 'Authentication required. Please run the auth flow.');
116
+ return {
117
+ content: [
118
+ {
119
+ type: 'text',
120
+ text: getAuthInstructions(),
121
+ },
122
+ ],
123
+ isError: true,
124
+ };
66
125
  }
67
- // Handle special session management tools
68
126
  if (name === 'quarri_list_databases') {
69
127
  const credentials = (0, token_store_js_1.loadCredentials)();
70
128
  if (!credentials) {
@@ -101,6 +159,57 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
101
159
  ],
102
160
  };
103
161
  }
162
+ // Handle trial status
163
+ if (name === 'quarri_trial_status') {
164
+ const result = await client.getTrialStatus();
165
+ if (!result.success) {
166
+ return {
167
+ content: [
168
+ {
169
+ type: 'text',
170
+ text: JSON.stringify({
171
+ error: result.error || 'Failed to get trial status',
172
+ }, null, 2),
173
+ },
174
+ ],
175
+ isError: true,
176
+ };
177
+ }
178
+ const data = result.data;
179
+ if (!data || !data.is_trial) {
180
+ return {
181
+ content: [
182
+ {
183
+ type: 'text',
184
+ text: JSON.stringify({
185
+ is_trial: false,
186
+ message: 'This is not a trial account.',
187
+ database: data?.display_name || data?.database_name,
188
+ }, null, 2),
189
+ },
190
+ ],
191
+ };
192
+ }
193
+ return {
194
+ content: [
195
+ {
196
+ type: 'text',
197
+ text: JSON.stringify({
198
+ is_trial: true,
199
+ organization: data.display_name,
200
+ days_remaining: data.days_remaining,
201
+ expires_at: data.expires_at,
202
+ data_limit_gb: data.data_limit_gb,
203
+ signup_type: data.signup_type,
204
+ upgrade_contact: data.upgrade_contact,
205
+ message: data.days_remaining && data.days_remaining <= 2
206
+ ? `⚠️ Your trial expires in ${data.days_remaining} day(s). Contact ${data.upgrade_contact} to upgrade.`
207
+ : `Trial active with ${data.days_remaining} days remaining.`,
208
+ }, null, 2),
209
+ },
210
+ ],
211
+ };
212
+ }
104
213
  // Map MCP tool name to backend tool name
105
214
  const backendToolName = (0, definitions_js_1.getBackendToolName)(name);
106
215
  if (!backendToolName) {
@@ -108,18 +217,36 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
108
217
  }
109
218
  // Get selected database
110
219
  const databaseName = (0, token_store_js_1.getSelectedDatabase)();
220
+ // Check if database is required but not selected
221
+ if (!databaseName) {
222
+ const credentials = (0, token_store_js_1.loadCredentials)();
223
+ if (credentials && credentials.databases.length > 0) {
224
+ // Auto-select first database if available
225
+ const firstDb = credentials.databases[0].database_name;
226
+ (0, token_store_js_1.setSelectedDatabase)(firstDb);
227
+ console.error(`Auto-selected database: ${firstDb}`);
228
+ }
229
+ else {
230
+ return {
231
+ content: [
232
+ {
233
+ type: 'text',
234
+ text: 'No database selected. Use quarri_list_databases to see available databases, then quarri_select_database to choose one.',
235
+ },
236
+ ],
237
+ isError: true,
238
+ };
239
+ }
240
+ }
111
241
  // Execute tool via API
112
- const result = await client.executeTool(backendToolName, args, databaseName ?? undefined);
113
- // Format response
242
+ const result = await client.executeTool(backendToolName, args, (0, token_store_js_1.getSelectedDatabase)() ?? undefined);
243
+ // Format response based on tool type
114
244
  if (!result.success) {
115
245
  return {
116
246
  content: [
117
247
  {
118
248
  type: 'text',
119
- text: JSON.stringify({
120
- success: false,
121
- error: result.error,
122
- }, null, 2),
249
+ text: formatErrorResponse(result.error || 'Unknown error'),
123
250
  },
124
251
  ],
125
252
  isError: true,
@@ -129,11 +256,94 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
129
256
  content: [
130
257
  {
131
258
  type: 'text',
132
- text: JSON.stringify(result, null, 2),
259
+ text: formatToolResponse(name, result),
133
260
  },
134
261
  ],
135
262
  };
136
263
  });
264
+ /**
265
+ * Format error response for better readability
266
+ */
267
+ function formatErrorResponse(error) {
268
+ return `Error: ${error}`;
269
+ }
270
+ /**
271
+ * Format tool response based on the tool type
272
+ */
273
+ function formatToolResponse(toolName, result) {
274
+ // For query tools, show SQL prominently
275
+ if (toolName === 'quarri_query_agent' && result.sql) {
276
+ const parts = [`SQL Query:\n\`\`\`sql\n${result.sql}\n\`\`\``];
277
+ if (result.explanation) {
278
+ parts.push(`\nExplanation: ${result.explanation}`);
279
+ }
280
+ return parts.join('\n');
281
+ }
282
+ // For execute_sql, format results as table if possible
283
+ if (toolName === 'quarri_execute_sql' && result.rows && Array.isArray(result.rows)) {
284
+ const rows = result.rows;
285
+ const columns = result.columns || (rows.length > 0 ? Object.keys(rows[0]) : []);
286
+ if (rows.length === 0) {
287
+ return 'No results returned.';
288
+ }
289
+ // Format as simple text table
290
+ const header = columns.join(' | ');
291
+ const separator = columns.map(() => '---').join(' | ');
292
+ const dataRows = rows.slice(0, 20).map(row => columns.map(col => String(row[col] ?? '')).join(' | '));
293
+ let output = `| ${header} |\n| ${separator} |\n`;
294
+ output += dataRows.map(r => `| ${r} |`).join('\n');
295
+ if (rows.length > 20) {
296
+ output += `\n\n... and ${rows.length - 20} more rows`;
297
+ }
298
+ return output;
299
+ }
300
+ // For schema, format nicely
301
+ if (toolName === 'quarri_get_schema' && result.tables) {
302
+ const tables = result.tables;
303
+ return tables.map(t => `**${t.name}**\n${t.columns.map(c => ` - ${c.name}: ${c.type}`).join('\n')}`).join('\n\n');
304
+ }
305
+ // For analysis pipeline, structure the output
306
+ if (toolName === 'quarri_query_with_analysis') {
307
+ const parts = [];
308
+ if (result.sql) {
309
+ parts.push(`## Query\n\`\`\`sql\n${result.sql}\n\`\`\``);
310
+ }
311
+ if (result.data && Array.isArray(result.data)) {
312
+ const data = result.data;
313
+ parts.push(`## Data (${data.length} rows)`);
314
+ }
315
+ if (result.statistics) {
316
+ parts.push(`## Statistics\n${JSON.stringify(result.statistics, null, 2)}`);
317
+ }
318
+ if (result.insights) {
319
+ // Handle insights as array of objects or string
320
+ if (Array.isArray(result.insights)) {
321
+ const insightText = result.insights
322
+ .map((i, idx) => {
323
+ if (typeof i === 'string')
324
+ return `${idx + 1}. ${i}`;
325
+ const title = i.title || 'Insight';
326
+ const content = i.finding || i.description || i.insight || '';
327
+ return `${idx + 1}. **${title}**: ${content}`;
328
+ })
329
+ .join('\n');
330
+ parts.push(`## Insights\n${insightText}`);
331
+ }
332
+ else if (typeof result.insights === 'string') {
333
+ parts.push(`## Insights\n${result.insights}`);
334
+ }
335
+ else {
336
+ parts.push(`## Insights\n${JSON.stringify(result.insights, null, 2)}`);
337
+ }
338
+ }
339
+ if (result.chart) {
340
+ parts.push(`## Chart\nChart configuration included in response.`);
341
+ }
342
+ return parts.join('\n\n');
343
+ }
344
+ // Default: return formatted JSON
345
+ return JSON.stringify(result, null, 2);
346
+ }
137
347
  /**
138
348
  * Main entry point
139
349
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsDhD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA04B5C,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAKD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkDhD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAgzB5C,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E"}