Skip to main content
Glama

mcp_quick_data_analysis

Analyze table statistics quickly with row counts, column distributions, and top values. Input a table name and optional sample size to generate insights via MCPQL.

Instructions

Quick statistical analysis of a table including row count, column distributions, and top values

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sample_sizeNoSample size for statistics calculation
table_nameYesFully qualified table name (schema.table), e.g. "dbo.Users" or "sales.OrderItems"

Implementation Reference

  • Core implementation of the mcp_quick_data_analysis tool handler. Performs quick table analysis by fetching column metadata, row count, and data preview using parallel SQL queries.
    export const mcp_quick_data_analysis = async (args: { table_name: string; limit?: number }): Promise<ToolResult<{ preview_data: any[]; column_count: number; row_count: number; columns_info: any[]; }>> => { const { table_name, limit = 100 } = args; console.log('Executing mcp_quick_data_analysis with:', args); try { const pool = getPool(); const normalizedTableName = normalizeSqlObjectName(table_name); // Get table column information const columnsQuery = ` SELECT c.name AS column_name, t.name AS data_type, c.max_length, c.precision, c.scale, c.is_nullable, c.is_identity FROM sys.columns c INNER JOIN sys.types t ON c.user_type_id = t.user_type_id WHERE c.object_id = OBJECT_ID(@table_name) ORDER BY c.column_id; `; // Get row count const countQuery = ` SELECT COUNT(*) AS row_count FROM ${normalizedTableName} `; // Get preview data const previewQuery = ` SELECT TOP ${limit} * FROM ${normalizedTableName} ORDER BY (SELECT NULL) `; // Execute all queries in parallel const [columnsResult, countResult, previewResult] = await Promise.all([ pool.request().input('table_name', normalizedTableName).query(columnsQuery), pool.request().query(countQuery), pool.request().query(previewQuery) ]); return { success: true, data: { preview_data: previewResult.recordset, column_count: columnsResult.recordset.length, row_count: countResult.recordset[0]?.row_count || 0, columns_info: columnsResult.recordset } }; } catch (error: any) { console.error(`Error in mcp_quick_data_analysis: ${error.message}`); return { success: false, error: error.message }; } };
  • src/tools.ts:118-136 (registration)
    MCP tool registration entry defining the name, description, and JSON input schema for mcp_quick_data_analysis in the MCP_MSQL_TOOLS array used by the server.
    { name: "mcp_quick_data_analysis", description: "Quick statistical analysis of a table including row count, column distributions, and top values", inputSchema: { type: "object", properties: { table_name: { type: "string", description: "Fully qualified table name (schema.table), e.g. \"dbo.Users\" or \"sales.OrderItems\"" }, sample_size: { type: "number", description: "Sample size for statistics calculation", default: 1000 } }, required: ["table_name"] } },
  • Export statement registering and re-exporting the mcp_quick_data_analysis handler from dataOperations.ts for use in consolidated tool handlers.
    export { mcp_preview_data, // Data preview with filters mcp_preview_data_enhanced, // Para compatibilidad con server.ts mcp_get_column_stats, // Column statistics mcp_get_column_stats_enhanced, // Para compatibilidad con server.ts mcp_quick_data_analysis, // Quick table analysis mcp_get_sample_values // Sample values from column } from './dataOperations.js';
  • src/server.ts:103-104 (registration)
    Server dispatch case that maps tool calls to the mcp_quick_data_analysis handler function.
    case 'mcp_quick_data_analysis': result = await toolHandlers.mcp_quick_data_analysis(input as any);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hendrickcastro/MCPQL'

If you have feedback or need assistance with the MCP directory API, please join our Discord server