Skip to main content
Glama

MCP Hub MCP Server

types.ts3.44 kB
import { z } from "zod"; export const ConnectMcpParamsSchema = z.object({ // For stdio servers command: z .string() .describe("Command to run the MCP server") .optional(), args: z .array(z.string()) .optional() .describe("Command arguments"), // For HTTP servers type: z .enum(["stdio", "http"]) .optional() .describe("Server transport type"), url: z .string() .describe("URL for HTTP-based MCP server") .optional(), headers: z .record(z.string()) .optional() .describe("HTTP headers for authentication"), // Environment variables (applies to both) env: z .record(z.string()) .optional() .describe("Environment variables"), }); export type ConnectMcpParams = z.infer< typeof ConnectMcpParamsSchema >; export const ListToolsParamsSchema = z.object({ serverName: z .string() .describe("Name of the MCP server to list tools from"), }); export type ListToolsParams = z.infer< typeof ListToolsParamsSchema >; export const CallToolParamsSchema = z.object({ serverName: z .string() .describe("Name of the MCP server to call tool from"), toolName: z.string().describe("Name of the tool to call"), toolArgs: z .record(z.unknown()) .describe("Arguments to pass to the tool"), }); export type CallToolParams = z.infer< typeof CallToolParamsSchema >; export const FindToolsParamsSchema = z.object({ pattern: z .string() .describe("Regex pattern to search for in tool names and descriptions"), searchIn: z .enum(["name", "description", "both"]) .optional() .default("both") .describe("Where to search: in tool names, descriptions, or both"), caseSensitive: z .boolean() .optional() .default(false) .describe("Whether the search should be case-sensitive"), }); export type FindToolsParams = z.infer< typeof FindToolsParamsSchema >; export const GetToolParamsSchema = z.object({ serverName: z .string() .describe("Name of the MCP server containing the tool"), toolName: z .string() .describe("Exact name of the tool to retrieve"), }); export type GetToolParams = z.infer< typeof GetToolParamsSchema >; export const ListToolsInServerParamsSchema = z.object({ serverName: z .string() .describe("Name of the MCP server to list tools from"), }); export type ListToolsInServerParams = z.infer< typeof ListToolsInServerParamsSchema >; export const FindToolsInServerParamsSchema = z.object({ serverName: z .string() .describe("Name of the MCP server to search tools in"), pattern: z .string() .describe("Regex pattern to search for in tool names and descriptions"), searchIn: z .enum(["name", "description", "both"]) .default("both") .describe("Where to search: in tool names, descriptions, or both"), caseSensitive: z .boolean() .default(false) .describe("Whether the search should be case-sensitive"), }); export type FindToolsInServerParams = z.infer< typeof FindToolsInServerParamsSchema >; // MCP configuration file interface (claude_desktop_config.json format) export interface McpServerConfig { // For stdio servers command?: string; args?: string[]; env?: Record<string, string>; // For HTTP servers type?: "stdio" | "http"; url?: string; headers?: Record<string, string>; } export interface McpConfig { mcpServers: Record<string, McpServerConfig>; }

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/warpdev/mcp-hub-mcp'

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