tools.ts•3.21 kB
import { Tool } from "@modelcontextprotocol/sdk/types.js";
/**
 * MCP MSSQL Server Tool Definitions
 * Includes only core database management features
 */
export const tools: Tool[] = [
  {
    name: "execute_query",
    description: "Execute SQL queries",
    inputSchema: {
      type: "object",
      properties: {
        query: {
          type: "string",
          description: "SQL query to execute",
        },
        parameters: {
          type: "array",
          items: { type: "string" },
          description: "Query parameters (optional)",
        },
      },
      required: ["query"],
    },
  },
  {
    name: "get_schema",
    description: "Get database schema information",
    inputSchema: {
      type: "object",
      properties: {
        include_system_tables: {
          type: "boolean",
          description: "Whether to include system tables (default: false)",
        },
      },
    },
  },
  {
    name: "list_tables",
    description: "Get list of database tables",
    inputSchema: {
      type: "object",
      properties: {
        pattern: {
          type: "string",
          description: "Table name pattern (optional)",
        },
      },
    },
  },
  {
    name: "describe_table",
    description: "Get structure of a specific table",
    inputSchema: {
      type: "object",
      properties: {
        table_name: {
          type: "string",
          description: "Name of the table to describe",
        },
      },
      required: ["table_name"],
    },
  },
  {
    name: "get_connection_pool_status",
    description: "Get database connection pool status",
    inputSchema: {
      type: "object",
      properties: {},
    },
  },
  {
    name: "start_performance_monitoring",
    description: "Start performance monitoring",
    inputSchema: {
      type: "object",
      properties: {
        interval: {
          type: "number",
          description: "Monitoring interval (milliseconds, default: 5000)",
          default: 5000,
        },
      },
    },
  },
  {
    name: "start_batch_processing",
    description: "Process multiple queries in batch",
    inputSchema: {
      type: "object",
      properties: {
        queries: {
          type: "array",
          items: { type: "string" },
          description: "List of queries to execute",
        },
      },
      required: ["queries"],
    },
  },
  {
    name: "generate_performance_report",
    description: "Generate performance analysis report",
    inputSchema: {
      type: "object",
      properties: {
        period: {
          type: "string",
          enum: ["1h", "24h", "7d"],
          description: "Analysis period (default: 1h)",
          default: "1h",
        },
      },
    },
  },
  {
    name: "get_query_stats",
    description: "Get query execution statistics",
    inputSchema: {
      type: "object",
      properties: {},
    },
  },
  {
    name: "get_schema_statistics",
    description: "Get schema statistics information",
    inputSchema: {
      type: "object",
      properties: {},
    },
  },
  {
    name: "clear_caches",
    description: "Initialize cache data",
    inputSchema: {
      type: "object",
      properties: {},
    },
  },
];