Skip to main content
Glama
raeseoklee

MCP Workbench MCP Server

by raeseoklee

inspect_server

Connect to an MCP server to inspect its capabilities, version, and supported features for testing and validation purposes.

Instructions

Connect to an MCP server and inspect its capabilities, version, and supported features.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
transportYesTransport type to use for connecting to the server
urlNoServer URL (required for streamable-http transport)
commandNoCommand to launch the server (required for stdio transport)
argsNoArguments to pass to the server command
headersNoHTTP headers to send (e.g. Authorization)
timeoutMsNoTimeout in milliseconds (default: 30000)

Implementation Reference

  • The core implementation of the inspect_server tool, which runs CLI commands to inspect an MCP server.
    export async function inspectServer(
      input: InspectServerInput,
    ): Promise<InspectServerOutput> {
      const args = buildArgs(input);
      const result = await runCli(args, { timeoutMs: input.timeoutMs });
    
      const session: NegotiatedSession = JSON.parse(result.stdout);
    
      const caps = session.serverCapabilities;
      const capabilities = {
        tools: "tools" in caps,
        resources: "resources" in caps,
        prompts: "prompts" in caps,
        completions: "completions" in caps,
        logging: "logging" in caps,
      };
    
      const structured: InspectServerOutput["structured"] = {
        serverName: session.serverInfo.name,
        serverVersion: session.serverInfo.version,
        protocolVersion: session.protocolVersion,
        capabilities,
      };
      if (session.serverInstructions) {
        structured.instructions = session.serverInstructions;
      }
    
      const capLines = (
        ["tools", "resources", "prompts", "completions", "logging"] as const
      )
        .map((c) => `  ${capabilities[c] ? "\u2713" : "\u25CB"} ${c}`)
        .join("\n");
    
      const text = [
        `Server: ${structured.serverName} v${structured.serverVersion}`,
        `Protocol: ${structured.protocolVersion}`,
        "",
        "Capabilities:",
        capLines,
      ].join("\n");
    
      return { text, structured };
    }
  • Input and output interface definitions for the inspect_server tool.
    export interface InspectServerInput {
      transport: "stdio" | "streamable-http";
      url?: string;
      command?: string;
      args?: string | string[];
      headers?: Record<string, string>;
      timeoutMs?: number;
    }
  • src/server.ts:221-228 (registration)
    The request handler registration where inspect_server is mapped to its execution function.
    case "inspect_server": {
      const output = await inspectServer(
        args as unknown as Parameters<typeof inspectServer>[0],
      );
      return {
        content: [{ type: "text" as const, text: output.text }],
      };
    }

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/raeseoklee/mcp-workbench-mcp-server'

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