Skip to main content
Glama

list_servers

Retrieve a list of available MCP servers filtered by category, such as cloud, database, or developer, to streamline server selection and installation processes.

Instructions

List available MCP servers by category

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryYesServer category to list (e.g., 'browser', 'cloud', 'command_line', 'communication', 'database', 'developer', 'filesystem', 'search', 'all')

Implementation Reference

  • Handler function that executes the 'list_servers' tool. It takes a category argument, formats and returns a list of MCP servers from the serverCategories object, with special handling for 'all' category.
    if (name === "list_servers" && args) {
      const category = (args.category as string).toLowerCase();
      const categoryEmojis: Record<string, string> = {
        browser: "📂",
        cloud: "☁️",
        command_line: "🖥️",
        communication: "💬",
        customer_data: "👤",
        database: "🗄️",
        developer: "🛠️",
        data_science: "🧮",
        filesystem: "📂",
        finance: "💰",
        knowledge: "🧠",
        location: "🗺️",
        monitoring: "📊",
        search: "🔎",
        security: "🔐",
        compliance: "🔒",
        travel: "🚆",
        version_control: "🔄",
        other: "🛠️"
      };
      
      if (category === "all") {
        const allServers = Object.entries(serverCategories)
          .map(([cat, servers]) => {
            const emoji = categoryEmojis[cat] || "📦";
            const formattedCategory = cat
              .split('_')
              .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
              .join(' ');
            
            const serverList = servers
              .map(server => `- ${server}`)
              .join('\n');
    
            return `\n## ${emoji} ${formattedCategory}\n\n${serverList}`;
          })
          .join('\n');
        
        return {
          content: [{
            type: "text",
            text: `# Available MCP Servers by Category${allServers}`
          }]
        };
      }
    
      const servers = serverCategories[category];
      if (!servers) {
        return {
          content: [{
            type: "text",
            text: `Unknown category: "${category}". Available categories: ${Object.keys(serverCategories).join(", ")}`
          }]
        };
      }
    
      const emoji = categoryEmojis[category] || "📦";
      const formattedCategory = category
        .split('_')
        .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
        .join(' ');
    
      return {
        content: [{
          type: "text",
          text: `# ${emoji} ${formattedCategory} Servers\n\n${servers.map(server => `- ${server}`).join('\n')}`
        }]
      };
    }
  • Schema definition for the 'list_servers' tool, specifying the input parameter 'category' with allowed enum values.
    {
      name: "list_servers",
      description: "List available MCP servers by category",
      inputSchema: {
        type: "object",
        properties: {
          category: {
            type: "string",
            description: "Server category to list (e.g., 'browser', 'cloud', 'command_line', 'communication', 'database', 'developer', 'filesystem', 'search', 'all')",
            enum: ["browser", "cloud", "command_line", "communication", "customer_data", "database", "developer", "data_science", "filesystem", "finance", "knowledge", "location", "monitoring", "search", "security", "compliance", "travel", "version_control", "other", "all"]
          }
        },
        required: ["category"]
      }
    }
  • src/index.ts:255-303 (registration)
    Registration of available tools via ListToolsRequestHandler, including the 'list_servers' tool in the returned tools list.
    server.setRequestHandler(ListToolsRequestSchema, async () => {
      return {
        tools: [
          {
            name: "explain_concept",
            description: "Get a beginner-friendly explanation of an MCP concept",
            inputSchema: {
              type: "object",
              properties: {
                concept: {
                  type: "string",
                  description: "The MCP concept to explain (e.g., 'tools', 'resources', 'prompts', 'server', 'client', 'server_types', 'frameworks', 'clients')",
                }
              },
              required: ["concept"]
            }
          },
          {
            name: "show_example",
            description: "Show a practical example of an MCP feature",
            inputSchema: {
              type: "object",
              properties: {
                feature: {
                  type: "string",
                  description: "The MCP feature to demonstrate (e.g., 'tool_call', 'resource_read', 'prompt_template')",
                }
              },
              required: ["feature"]
            }
          },
          {
            name: "list_servers",
            description: "List available MCP servers by category",
            inputSchema: {
              type: "object",
              properties: {
                category: {
                  type: "string",
                  description: "Server category to list (e.g., 'browser', 'cloud', 'command_line', 'communication', 'database', 'developer', 'filesystem', 'search', 'all')",
                  enum: ["browser", "cloud", "command_line", "communication", "customer_data", "database", "developer", "data_science", "filesystem", "finance", "knowledge", "location", "monitoring", "search", "security", "compliance", "travel", "version_control", "other", "all"]
                }
              },
              required: ["category"]
            }
          }
        ]
      };
    });
  • Data structure containing categorized lists of available MCP servers, used by the list_servers tool.
    const serverCategories: Record<string, string[]> = {
      "browser": [
        "@automatalabs/mcp-server-playwright - Browser automation with Playwright",
        "@browserbase/mcp-server-browserbase - Browser automation and web interaction",
        "@browserbasehq/mcp-stagehand - Cloud browser automation capabilities",
        "@executeautomation/playwright-mcp-server - Browser automation and webscraping",
        "@it-beard/exa-server - Intelligent code search using Exa API",
        "@kimtaeyoon83/mcp-server-youtube-transcript - YouTube subtitles and transcripts",
        "@kimtth/mcp-aoai-web-browsing - Azure OpenAI and web browsing integration",
        "@modelcontextprotocol/server-puppeteer - Browser automation for web scraping",
        "@recursechat/mcp-server-apple-shortcuts - Apple Shortcuts integration"
      ],
      "cloud": [
        "@aws/kb-retrieval-mcp - Retrieval from AWS Knowledge Base using Bedrock Agent Runtime",
        "@cloudflare/mcp-server-cloudflare - Integration with Cloudflare services",
        "@flux159/mcp-server-kubernetes - Kubernetes operations for pods and services",
        "@rishikavikondala/mcp-server-aws - AWS resource operations using LLM",
        "@SmallCloudCo/smallcloud-mcp-server - Cloud service integration demonstration",
        "@strowk/mcp-k8s-go - Kubernetes cluster operations through MCP"
      ],
      "command_line": [
        "@g0t4/mcp-server-commands - Run any command with run_command and run_script tools",
        "@mladensu/cli-mcp-server - Command line interface with secure execution",
        "@PhialsBasement/CMD-MCP-Server - Secure command execution with analytics",
        "@simonb97/win-cli-mcp-server - Windows-specific CLI operations",
        "@tumf/mcp-shell-server - Secure shell command execution"
      ],
      "communication": [
        "@enescinr/twitter-mcp - Interact with Twitter API",
        "@hannesrudolph/imessage-query-fastmcp - iMessage database access and search",
        "@keturiosakys/bluesky-context-server - Bluesky integration with feed search",
        "@markelaugust74/mcp-google-calendar - Google Calendar event management",
        "@markuspfundstein/mcp-gsuite - Gmail and Google Calendar integration",
        "@modelcontextprotocol/server-bluesky - Bluesky instance integration",
        "@modelcontextprotocol/server-slack - Slack workspace integration",
        "@vidhupv/x-mcp - Create and manage X/Twitter posts"
      ],
      "customer_data": [
        "@ivo-toby/contentful-mcp - Content management in Contentful spaces",
        "@opendatamcp/opendatamcp - Connect Open Data to LLMs",
        "@sergehuber/inoyu-mcp-unomi-server - Apache Unomi CDP integration",
        "@tinybirdco/mcp-tinybird - Tinybird Workspace interaction"
      ],
      "database": [
        "@aekanun2020/mcp-server - MSSQL database integration",
        "@benborla/mcp-server-mysql - MySQL database integration (NodeJS)",
        "@cyanheads/atlas-mcp-server - Atlas database integration",
        "@designcomputer/mysql_mcp_server - MySQL database integration",
        "@ergut/mcp-bigquery-server - Google BigQuery integration",
        "@isaacwasserman/mcp-snowflake-server - Snowflake database integration",
        "@joshuarileydev/supabase-mcp-server - Supabase integration",
        "@kashiwabyte/vikingdb-mcp-server - VikingDB vector store integration",
        "@kiliczsh/mcp-mongo-server - MongoDB integration server",
        "@ktanaka101/mcp-server-duckdb - DuckDB integration",
        "@lucashild/mcp-server-bigquery - BigQuery integration",
        "@modelcontextprotocol/server-postgres - PostgreSQL integration",
        "@modelcontextprotocol/server-sqlite - SQLite operations",
        "@neo4j-contrib/mcp-neo4j - Neo4j graph database integration",
        "@quantgeekdev/mongo-mcp - MongoDB LLM integration",
        "@qdrant/mcp-server-qdrant - Qdrant vector database",
        "@surrealdb/surrealist-mcp - SurrealDB database integration",
        "@tinybirdco/mcp-tinybird - Tinybird integration"
      ],
      "developer": [
        "@Alec2435/python_mcp - Run Python code locally",
        "@dabouelhassan/mcp-server-example-v2 - FastAPI example server",
        "@e2b-dev/mcp-server - Code execution with E2B",
        "@emiryasar/mcp_code_analyzer - Code analysis tools",
        "@ggoodman/mcp - CLI and UI for MCP servers",
        "@jetbrains/mcpproxy - JetBrains IDE integration",
        "@joshuarileydev/ios-simulator-controller - iOS simulator control",
        "@joshrutkowski/applescript-mcp - macOS AppleScript integration",
        "@justjoehere/mcp_gradio_client - Gradio integration",
        "@mcp-get/server-curl - HTTP request interface",
        "@mcp-get/server-llm-txt - LLM.txt content search",
        "@mcp-get/server-macos - macOS system operations",
        "@mkearl/dependency-mcp - Dependency graph analysis",
        "@nguyenvanduocit/all-in-one-devtools - Development tools collection",
        "@oatpp/oatpp-mcp - C++ MCP integration",
        "@quantgeekdev/docker-mcp - Docker management",
        "@rmrf2020/decision-mind - Decision making demo",
        "@seanivore/mcp-code-analyzer - Python code analysis",
        "@shanejonas/openrpc-mpc-server - JSON-RPC API integration",
        "@snaggle-ai/openapi-mcp-server - OpenAPI integration",
        "@szeider/mcp-solver - MiniZinc constraint solving",
        "@tumf/mcp-text-editor - Text editor integration",
        "@vijayk-213/model-context-protocol - LLaMA integration",
        "@zeparhyfar/mcp-datetime - DateTime handling"
      ],
      "data_science": [
        "@reading-plus-ai/mcp-server-data-exploration - CSV data exploration",
        "@vivekvells/mcp-pandoc - Document format conversion"
      ],
      "filesystem": [
        "@apeyroux/mcp-xmind - XMind file operations",
        "@isaacphi/mcp-gdrive - Google Drive integration",
        "@kazuph/mcp-pocket - Pocket articles integration",
        "@mark3labs/mcp-filesystem-server - Golang filesystem implementation",
        "@modelcontextprotocol/server-filesystem - Local filesystem access",
        "@modelcontextprotocol/server-google-drive - Google Drive integration",
        "@RafalWilinski/mcp-apple-notes - Apple Notes RAG integration"
      ],
      "finance": [
        "@9nate-drake/mcp-yfinance - Yahoo Finance integration",
        "@Alec2435/amazon-fresh-server - Amazon Fresh integration",
        "@anjor/coinmarket-mcp-server - Coinmarket API integration",
        "@calvernaz/alphavantage - AlphaVantage market data",
        "@quantgeekdev/coincap-mcp - CoinCap cryptocurrency data",
        "@sammcj/bybit-mcp - Bybit exchange integration"
      ],
      "knowledge": [
        "@chemiguel23/memorymesh - Enhanced graph-based memory",
        "@modelcontextprotocol/server-memory - Knowledge graph system",
        "@run-llama/mcp-server-llamacloud - LlamaCloud integration",
        "@shaneholloman/mcp-knowledge-graph - Local knowledge graph",
        "@Synaptic-Labs-AI/claudesidian - Second brain integration",
        "@topoteretes/cognee-mcp-server - GraphRAG memory server"
      ],
      "location": [
        "@modelcontextprotocol/server-google-maps - Google Maps integration",
        "@mstfe/google-task-mcp - Google Tasks integration"
      ],
      "monitoring": [
        "@macrat/mcp-ayd-server - Ayd monitoring service",
        "@metoro-io/metoro-mcp-server - Kubernetes monitoring",
        "@modelcontextprotocol/server-raygun - Raygun monitoring",
        "@modelcontextprotocol/server-sentry - Sentry.io integration",
        "@ruchernchong/mcp-server-google-analytics - Analytics integration",
        "@Sladey01/mcp-snyk - Snyk security scanning",
        "@sunsetcoder/flightradar24-mcp-server - Flight tracking",
        "@tevonsb/homeassistant-mcp - Home Assistant control"
      ],
      "search": [
        "@ac3xx/mcp-servers-kagi - Kagi search integration",
        "@ahonn/mcp-server-gsc - Google Search Console access",
        "@andybrandt/mcp-simple-arxiv - ArXiv paper search",
        "@andybrandt/mcp-simple-pubmed - PubMed paper search",
        "@angheljf/nyt - NYTimes article search",
        "@apify/mcp-server-rag-web-browser - Web content search",
        "@blazickjp/arxiv-mcp-server - ArXiv research papers",
        "@dmayboroda/minima - Local RAG implementation",
        "@exa-labs/exa-mcp-server - Exa AI Search",
        "@fatwang2/search1api-mcp - Search1API integration",
        "@it-beard/tavily-server - Tavily AI search",
        "@laksh-star/mcp-server-tmdb - Movie and TV data",
        "@modelcontextprotocol/server-brave-search - Brave Search",
        "@modelcontextprotocol/server-fetch - Web content fetching",
        "@mzxrai/mcp-webresearch - Google search integration",
        "@secretiveshell/searxng-search - SearXNG integration",
        "@tomatio13/mcp-server-tavily - Tavily search API",
        "@vrknetha/mcp-server-firecrawl - Web scraping",
        "@wong2/mcp-jina-reader - URL to Markdown conversion"
      ],
      "security": [
        "@axiomhq/mcp-server-axiom - Axiom platform integration",
        "@burtthecoder/maigret - OSINT username search",
        "@burtthecoder/shodan - Shodan security search",
        "@burtthecoder/virustotal - VirusTotal analysis"
      ],
      "compliance": [
        "@dynamicendpoints/bod-25-01-cisa-mcp - CISA security requirements"
      ],
      "travel": [
        "@r-huijts/ns-mcp-server - Dutch Railways information"
      ],
      "version_control": [
        "@block/goose-mcp - GitHub operations automation",
        "@modelcontextprotocol/server-git - Git operations",
        "@modelcontextprotocol/server-github - GitHub API integration",
        "@modelcontextprotocol/server-gitlab - GitLab integration"
      ],
      "other": [
        "@aliargun/mcp-server-gemini - Google Gemini integration",
        "@amidabuddha/unichat-mcp-server - Multi-provider LLM integration",
        "@anaisbetts/mcp-installer - MCP server installer",
        "@anaisbetts/mcp-youtube - YouTube subtitles",
        "@andybrandt/mcp-simple-openai-assistant - OpenAI assistants",
        "@andybrandt/mcp-simple-timeserver - Time service",
        "@baba786/phabricator-mcp-server - Phabricator integration",
        "@bartolli/mcp-llm-bridge - OpenAI-compatible LLMs",
        "@calclavia/mcp-obsidian - Markdown notes",
        "@ccabanillas/notion-mcp - Notion API integration",
        "@chatmcp/mcp-server-chatsum - Chat analysis",
        "@danhilse/notion_mcp - Notion API integration",
        "@dgormly/mcp-financial-advisor - Financial advisory",
        "@DMontgomery40/mcp-canvas-lms - Canvas LMS integration",
        "@domdomegg/airtable-mcp-server - Airtable integration",
        "@evalstate/mcp-miro - MIRO whiteboard access",
        "@felores/airtable-mcp - Airtable integration",
        "@future-audiences/wikimedia-enterprise-mcp - Wikipedia lookup",
        "@isaacwasserman/mcp-vegalite-server - Data visualization",
        "@jerhadf/linear-mcp-server - Linear project management",
        "@jimpick/fireproof-todo-mcp - Fireproof todo list",
        "@joshuarileydev/app-store-connect - App Store integration",
        "@lightconetech/mcp-gateway - SSE Server gateway",
        "@llmindset/mcp-hfspace - HuggingFace Spaces",
        "@markuspfundstein/mcp-obsidian - Obsidian REST API",
        "@MCP-Club/mcpm - MCP server manager",
        "@mikeskarl/mcp-prompt-templates - Analysis templates",
        "@modelcontextprotocol/server-everything - MCP features demo",
        "@mrjoshuak/godoc-mcp - Go documentation",
        "@mzxrai/mcp-openai - OpenAI chat integration",
        "@navisbio/clinicaltrials-mcp - ClinicalTrials.gov data",
        "@patruff/claude-mcp-setup - Windows MCP setup",
        "@patruff/ollama-mcp-bridge - Ollama LLM integration",
        "@pierrebrunelle/mcp-server-openai - OpenAI integration",
        "@pyroprompts/any-chat-completions-mcp - OpenAI API",
        "@reeeeemo/ancestry-mcp - Genealogy data",
        "@rusiaaman/wcgw - Shell execution (Mac)",
        "@sammcj/package-version - Package management",
        "@sirmews/apple-notes-mcp - Apple Notes access",
        "@sirmews/mcp-pinecone - Pinecone vector DB",
        "@skydeckai/mcp-server-rememberizer - Knowledge retrieval",
        "@smithery-ai/mcp-obsidian - Obsidian vault integration",
        "@sooperset/mcp-atlassian - Confluence integration",
        "@suekou/mcp-notion-server - Notion integration",
        "@tanigami/mcp-server-perplexity - Perplexity API",
        "@v-3/notion-server - Notion management",
        "@varunneal/spotify-mcp - Spotify playback",
        "@wong2/litemcp - TypeScript MCP framework",
        "@wong2/mcp-cli - MCP testing tool",
        "@zueai/mcp-manager - MCP server management UI"
      ]
    };
  • Mapping of categories to emojis for formatting the output of list_servers tool.
    const categoryEmojis: Record<string, string> = {
      browser: "📂",
      cloud: "☁️",
      command_line: "🖥️",
      communication: "💬",
      customer_data: "👤",
      database: "🗄️",
      developer: "🛠️",
      data_science: "🧮",
      filesystem: "📂",
      finance: "💰",
      knowledge: "🧠",
      location: "🗺️",
      monitoring: "📊",
      search: "🔎",
      security: "🔐",
      compliance: "🔒",
      travel: "🚆",
      version_control: "🔄",
      other: "🛠️"
    };
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool lists servers by category but doesn't describe what the output includes (e.g., server names, statuses, details), whether it's a read-only operation, potential rate limits, or error conditions. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action ('List available MCP servers') and includes the key constraint ('by category'). Every part of the sentence contributes to understanding, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't cover what the output looks like (e.g., list format, data included), error handling, or behavioral traits like whether it's safe or has side effects. For a tool that likely returns structured data, more context is needed to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'by category', which aligns with the single parameter 'category' in the input schema. Since schema description coverage is 100% (the parameter has a clear description and enum values), the description adds minimal value beyond what the schema provides. It doesn't explain the semantics of categories (e.g., what 'all' means) or usage nuances, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('available MCP servers'), specifying they are organized 'by category'. It distinguishes the tool's purpose from its siblings (explain_concept, show_example) by focusing on listing servers rather than explaining concepts or showing examples. However, it doesn't specify what 'available' means (e.g., installed, running, or discoverable), keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for selecting categories, or how it differs from potential sibling tools in usage scenarios. The agent must infer usage based solely on the tool name and description without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Related Tools

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/qpd-v/mcp-guide'

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