Skip to main content
Glama
managementTools.ts2.69 kB
/** * Internal MCP tool management creators * * This module contains factory functions for creating management-related internal MCP tools * including enable/disable, list, status, edit, and reload operations. */ import { Tool } from '@modelcontextprotocol/sdk/types.js'; import { McpDisableOutputSchema, McpDisableToolSchema, McpEditOutputSchema, McpEditToolSchema, McpEnableOutputSchema, McpEnableToolSchema, McpListOutputSchema, McpListToolSchema, McpReloadOutputSchema, McpReloadToolSchema, McpStatusOutputSchema, McpStatusToolSchema, } from '@src/core/tools/internal/schemas/index.js'; import { zodToInputSchema, zodToOutputSchema } from '@src/utils/schemaUtils.js'; /** * Create enable tool definition */ export function createEnableTool(): Tool { return { name: 'mcp_enable', description: 'Enable an MCP server', inputSchema: zodToInputSchema(McpEnableToolSchema) as Tool['inputSchema'], outputSchema: zodToOutputSchema(McpEnableOutputSchema) as Tool['outputSchema'], }; } /** * Create disable tool definition */ export function createDisableTool(): Tool { return { name: 'mcp_disable', description: 'Disable an MCP server', inputSchema: zodToInputSchema(McpDisableToolSchema) as Tool['inputSchema'], outputSchema: zodToOutputSchema(McpDisableOutputSchema) as Tool['outputSchema'], }; } /** * Create list tool definition */ export function createListTool(): Tool { return { name: 'mcp_list', description: 'List MCP servers', inputSchema: zodToInputSchema(McpListToolSchema) as Tool['inputSchema'], outputSchema: zodToOutputSchema(McpListOutputSchema) as Tool['outputSchema'], }; } /** * Create status tool definition */ export function createStatusTool(): Tool { return { name: 'mcp_status', description: 'Get MCP server status', inputSchema: zodToInputSchema(McpStatusToolSchema) as Tool['inputSchema'], outputSchema: zodToOutputSchema(McpStatusOutputSchema) as Tool['outputSchema'], }; } /** * Create edit tool definition */ export function createEditTool(): Tool { return { name: 'mcp_edit', description: 'Edit MCP server configuration', inputSchema: zodToInputSchema(McpEditToolSchema) as Tool['inputSchema'], outputSchema: zodToOutputSchema(McpEditOutputSchema) as Tool['outputSchema'], }; } /** * Create reload tool definition */ export function createReloadTool(): Tool { return { name: 'mcp_reload', description: 'Reload MCP server or configuration', inputSchema: zodToInputSchema(McpReloadToolSchema) as Tool['inputSchema'], outputSchema: zodToOutputSchema(McpReloadOutputSchema) as Tool['outputSchema'], }; }

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/1mcp-app/agent'

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