Skip to main content
Glama

mcp_execute_procedure

Execute SQL Server stored procedures with specified parameters and retrieve results efficiently using MCPQL server capabilities.

Instructions

Execute a SQL Server stored procedure with parameters and return results

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsNoParameters to pass to the stored procedure as key-value pairs
sp_nameYesFully qualified stored procedure name (schema.name), e.g. "api.usp_BusquedaByIdUnico_v2"

Implementation Reference

  • Core implementation of the mcp_execute_procedure tool. Validates permissions, executes the stored procedure using the database pool with optional parameters, and returns results or error messages.
    export const mcp_execute_procedure = async (args: { sp_name: string; params?: object }): Promise<ToolResult<any[]>> => { const { sp_name, params } = args; console.log('Executing mcp_execute_procedure with:', args); // Security validation for stored procedure execution const permission = validateStoredProcedurePermission(sp_name); if (!permission.allowed) { return { success: false, error: permission.message || 'Stored procedure execution not allowed' }; } try { const pool = getPool(); const request = pool.request(); if (params) { for (const [key, value] of Object.entries(params)) { request.input(key, value); } } const result = await request.execute(sp_name); return { success: true, data: result.recordset }; } catch (error: any) { console.error(`Error in mcp_execute_procedure for SP ${sp_name}: ${error.message}`); return { success: false, error: error.message }; } };
  • Tool definition including name, description, and input schema for mcp_execute_procedure in the MCP_MSQL_TOOLS array.
    { name: "mcp_execute_procedure", description: "Execute a SQL Server stored procedure with parameters and return results", inputSchema: { type: "object", properties: { sp_name: { type: "string", description: "Fully qualified stored procedure name (schema.name), e.g. \"api.usp_BusquedaByIdUnico_v2\"" }, params: { type: "object", description: "Parameters to pass to the stored procedure as key-value pairs" } }, required: ["sp_name"] } },
  • src/server.ts:64-66 (registration)
    Registers the ListTools request handler which returns the MCP_MSQL_TOOLS array, making the mcp_execute_procedure tool discoverable.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: MCP_MSQL_TOOLS }));
  • Re-exports the handler function from dataOperations.ts, allowing it to be imported as part of the tool namespace in the server.
    export { mcp_execute_procedure, // Execute stored procedure mcp_execute_query // Execute SQL query } from './dataOperations.js';

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