Get Server Information
get-server-infoRetrieve server information and list available tools for the MCP Firebird server to understand capabilities and configuration.
Instructions
Obtiene información sobre el servidor MCP Firebird y las herramientas disponibles
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/metadata.ts:35-81 (handler)Handler function for the get-server-info tool that returns server metadata including name, version, capabilities (available DB tools), and runtime info (Node version, platform, uptime, memory usage). Uses formatForClaude to format the response.
tools.set('get-server-info', { title: 'Get Server Information', description: 'Obtiene información sobre el servidor MCP Firebird y las herramientas disponibles', inputSchema: z.object({}), handler: async () => { try { const serverInfo = { name: pkg.name || 'MCP Firebird Server', version: pkg.version || '2.6.0-alpha.11', description: pkg.description || 'Servidor MCP para bases de datos Firebird', capabilities: { tools: Array.from(databaseTools.keys()), totalTools: databaseTools.size, features: [ 'SQL query execution', 'Database schema inspection', 'Performance analysis', 'Backup and restore', 'Database validation' ] }, runtime: { nodeVersion: process.version, platform: process.platform, uptime: process.uptime(), memoryUsage: process.memoryUsage() } }; return { content: [{ type: 'text', text: `Información del servidor MCP Firebird:\n\n${formatForClaude(serverInfo)}` }] }; } catch (error) { logger.error('Error getting server info:', { error }); return { content: [{ type: 'text', text: `Error obteniendo información del servidor: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } }); - src/tools/metadata.ts:38-38 (schema)Input schema for get-server-info: takes no arguments (empty Zod object).
inputSchema: z.object({}), - src/tools/metadata.ts:31-32 (registration)Registration of get-server-info within the setupMetadataTools function. The tool is registered in a Map under the name 'get-server-info'. setupMetadataTools is called from multiple server entry points (smithery-entry.ts, http-entry.ts, smithery.ts, create-server.ts, index.ts, mcp-server.ts).
export function setupMetadataTools(databaseTools: Map<string, any>): Map<string, ToolDefinition> { const tools = new Map<string, ToolDefinition>(); - src/utils/jsonHelper.ts:37-51 (helper)The formatForClaude helper used by the handler to pretty-print the server info object as JSON.
export const formatForClaude = (result: any): string => { try { // For simple strings, return them directly if (typeof result === 'string') { return result; } // For objects, convert them to a pretty JSON string return JSON.stringify(result, null, 2); } catch (error) { // Handle JSON.stringify errors console.error(`Error formatting for Claude: ${error instanceof Error ? error.message : String(error)}`); return `Error formatting result: ${error instanceof Error ? error.message : String(error)}`; } }; - src/tools/metadata.ts:21-24 (helper)Reads package.json at module load time to extract server name, version, and description used by the get-server-info handler.
const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const packageJsonPath = join(__dirname, '../../package.json'); const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));