suitecrm-mcp-server
Version:
Model Context Protocol server for SuiteCRM integration with natural language SQL reporting
54 lines • 1.4 kB
TypeScript
/**
* SQL query execution service for SuiteCRM
*/
import { QueryRequest, QueryResponse } from '../types';
export declare class QueryService {
private httpClient;
private maxQueryRows;
private readonly maxQueryLength;
constructor(baseUrl: string, maxQueryRows?: number, timeout?: number);
/**
* Execute SQL query against SuiteCRM
*/
executeQuery(accessToken: string, request: QueryRequest): Promise<QueryResponse>;
/**
* Execute a simple SELECT query
*/
executeSelect(accessToken: string, sql: string, limit?: number): Promise<QueryResponse>;
/**
* Execute a count query
*/
executeCount(accessToken: string, sql: string): Promise<number>;
/**
* Validate query security
*/
private validateQuerySecurity;
/**
* Apply query limits and safety measures
*/
private applyQueryLimits;
/**
* Ensure query is a SELECT query
*/
private ensureSelectQuery;
/**
* Convert query to COUNT query
*/
private convertToCountQuery;
/**
* Mask sensitive data in SQL for logging
*/
private maskSensitiveData;
/**
* Get query statistics
*/
getQueryStats(): {
maxRows: number;
maxLength: number;
};
/**
* Set maximum query rows
*/
setMaxQueryRows(maxRows: number): void;
}
//# sourceMappingURL=query.d.ts.map