Skip to main content
Glama

list-available-tools

Discover available tools in the MCP Firebird server to access, analyze, and manipulate Firebird SQL databases through natural language.

Instructions

Lista todas las herramientas disponibles en el servidor MCP

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryNoFiltrar por categoría (database, metadata)

Implementation Reference

  • The core handler function that lists all available database and metadata tools, optionally filtered by 'category' (database or metadata), and returns formatted text output.
    handler: async (args: { category?: string }) => { try { const allTools = new Map([...databaseTools, ...tools]); let toolsList = Array.from(allTools.entries()); if (args.category) { if (args.category === 'database') { toolsList = Array.from(databaseTools.entries()); } else if (args.category === 'metadata') { toolsList = Array.from(tools.entries()); } } const toolsInfo = toolsList.map(([name, tool]) => ({ name, title: tool.title || name, description: tool.description, category: databaseTools.has(name) ? 'database' : 'metadata' })); return { content: [{ type: 'text', text: `Herramientas disponibles${args.category ? ` (categoría: ${args.category})` : ''}:\n\n${formatForClaude(toolsInfo)}` }] }; } catch (error) { logger.error('Error listing tools:', { error }); return { content: [{ type: 'text', text: `Error listando herramientas: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } }
  • Zod schema defining the optional 'category' input parameter for filtering tools.
    inputSchema: z.object({ category: z.string().optional().describe('Filtrar por categoría (database, metadata)') }),
  • Registers the 'list-available-tools' tool definition (including inline handler and schema) in the metadata tools Map returned by setupMetadataTools.
    tools.set('list-available-tools', { title: 'List Available Tools', description: 'Lista todas las herramientas disponibles en el servidor MCP', inputSchema: z.object({ category: z.string().optional().describe('Filtrar por categoría (database, metadata)') }), handler: async (args: { category?: string }) => { try { const allTools = new Map([...databaseTools, ...tools]); let toolsList = Array.from(allTools.entries()); if (args.category) { if (args.category === 'database') { toolsList = Array.from(databaseTools.entries()); } else if (args.category === 'metadata') { toolsList = Array.from(tools.entries()); } } const toolsInfo = toolsList.map(([name, tool]) => ({ name, title: tool.title || name, description: tool.description, category: databaseTools.has(name) ? 'database' : 'metadata' })); return { content: [{ type: 'text', text: `Herramientas disponibles${args.category ? ` (categoría: ${args.category})` : ''}:\n\n${formatForClaude(toolsInfo)}` }] }; } catch (error) { logger.error('Error listing tools:', { error }); return { content: [{ type: 'text', text: `Error listando herramientas: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } });

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/PuroDelphi/mcpFirebird'

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