Skip to main content
Glama
MCPCommand+CommanderMetadata.swift5.69 kB
import Commander extension MCPCommand.Serve: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( options: [ .commandOption( "transport", help: "Transport type (stdio, http, sse)", long: "transport" ), .commandOption( "port", help: "Port for HTTP/SSE transport", long: "port" ), ] ) } } extension MCPCommand.Call: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "server", help: "MCP server to connect to", isOptional: false), ], options: [ .commandOption( "tool", help: "Tool to call", long: "tool" ), .commandOption( "args", help: "Tool arguments as JSON", long: "args" ), ] ) } } extension MCPCommand.List: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( flags: [ .commandFlag( "skipHealthCheck", help: "Skip health checks (faster)", long: "skip-health-check" ), ] ) } } extension MCPCommand.Add: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "name", help: "Name for the MCP server", isOptional: false), .make(label: "command", help: "Command and arguments to run the MCP server", isOptional: false), ], options: [ OptionDefinition.make( label: "env", names: [.short("e"), .long("env")], help: "Environment variables (key=value)", parsing: .singleValue ), .commandOption( "header", help: "HTTP headers for HTTP/SSE (Key=Value)", long: "header", parsing: .upToNextOption ), .commandOption( "timeout", help: "Connection timeout in seconds", long: "timeout" ), .commandOption( "transport", help: "Transport type (stdio, http, sse)", long: "transport" ), .commandOption( "description", help: "Description of the server", long: "description" ), ], flags: [ .commandFlag( "disabled", help: "Disable the server after adding", long: "disabled" ), ] ) } } extension MCPCommand.Remove: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "name", help: "Name of the MCP server to remove", isOptional: false), ], flags: [ .commandFlag( "force", help: "Skip confirmation prompt", long: "force" ), ] ) } } extension MCPCommand.Test: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "name", help: "Name of the MCP server to test", isOptional: false), ], options: [ .commandOption( "timeout", help: "Connection timeout in seconds", long: "timeout" ), ], flags: [ .commandFlag( "showTools", help: "Show available tools", long: "show-tools" ), ] ) } } extension MCPCommand.Info: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "name", help: "Name of the MCP server", isOptional: false), ] ) } } extension MCPCommand.Enable: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "name", help: "Name of the MCP server to enable", isOptional: false), ] ) } } extension MCPCommand.Disable: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "name", help: "Name of the MCP server to disable", isOptional: false), ] ) } } extension MCPCommand.Inspect: CommanderSignatureProviding { static func commanderSignature() -> CommandSignature { CommandSignature( arguments: [ .make(label: "server", help: "Server to inspect", isOptional: 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/steipete/Peekaboo'

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