trackmcp
Back to directory
atonomus

mcp-servers-search

View on GitHub

An MCP server that provides tools for querying and discovering other MCP servers

2 stars JavaScriptSearch & Data Retrieval Updated Aug 7, 2025
mcp-servermcp-serversmcp-servers-directorymcp-tools

Documentation

MCP Servers Search

An MCP (Model Context Protocol) server that provides tools for querying and discovering available MCP servers from the official modelcontextprotocol/servers repository.

547 MCP servers as of June 2025.

Features

  • List Servers: Browse all available MCP servers with filtering by category
  • Search: Find servers by name, description, or author
  • Feature Search: Discover servers that provide specific capabilities
  • Random Discovery: Get random server suggestions for exploration
  • Caching: Efficient caching to minimize GitHub API calls

Installation

Using npm

bash
npm install -g @atonomus/mcp-servers-search

From source

bash
git clone https://github.com/atonomus/mcp-servers-search.git
cd mcp-servers-search
npm install

Usage

Standalone

bash
# Run directly with npx
npx @atonomus/mcp-servers-search

# Or if installed globally
mcp-servers-search

With Claude Desktop

Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

json
{
  "mcpServers": {
    "servers-search": {
      "command": "npx",
      "args": ["-y", "@atonomus/mcp-servers-search"]
    }
  }
}

Available Tools

1. list_servers

List all available MCP servers with optional filtering.

Parameters:

  • `category` (optional): Filter by category - "reference", "official", "community", or "all" (default)
  • `search` (optional): Search servers by name or description
  • `limit` (optional): Maximum number of results (default: 20)

Example:

json
{
  "name": "list_servers",
  "arguments": {
    "category": "official",
    "search": "database",
    "limit": 10
  }
}

2. get_server_details

Get detailed information about a specific MCP server.

Parameters:

  • `name` (required): The name of the MCP server

Example:

json
{
  "name": "get_server_details",
  "arguments": {
    "name": "GitHub"
  }
}

3. search_servers_by_feature

Search for servers that provide specific features or capabilities.

Parameters:

  • `feature` (required): The feature to search for (e.g., "database", "api", "blockchain")
  • `limit` (optional): Maximum number of results (default: 10)

Example:

json
{
  "name": "search_servers_by_feature",
  "arguments": {
    "feature": "blockchain",
    "limit": 5
  }
}

4. get_random_servers

Get a random selection of MCP servers for discovery.

Parameters:

  • `count` (optional): Number of random servers (default: 5)
  • `category` (optional): Filter by category (default: "all")

Example:

json
{
  "name": "get_random_servers",
  "arguments": {
    "count": 3,
    "category": "community"
  }
}

5. refresh_server_list

Force refresh the cached list of MCP servers from GitHub.

Example:

json
{
  "name": "refresh_server_list",
  "arguments": {}
}

Development

Setup

bash
# Install dependencies
npm install

# Run normally
npm start

# Run tests
npm test

Testing

The project includes a comprehensive Mocha test suite that tests the README parsing functionality. The tests cover:

  • Standard format entries: `Name - description`
  • Bold format entries: `**Name** - description`
  • List format entries: `- Name - description`
  • Author extraction: `(by AuthorName)`
  • Category detection (reference, official, community)
  • Description cleaning (removing embedded links)
  • Special character handling (preserving backticks)

Run tests with:

bash
npm test

Examples

Using with Claude Desktop

Once configured, you can ask Claude:

  • "What MCP servers are available for database operations?"
  • "Show me all official MCP servers"
  • "Find MCP servers related to AI or machine learning"
  • "Give me 5 random community servers to explore"
  • "Tell me more about the GitHub MCP server"

Programmatic Usage

javascript
// Example of using the server programmatically
import { MCPToolsQueryServer } from '@atonomus/mcp-servers-search';

const server = new MCPToolsQueryServer();
await server.run();

Caching

The server caches the list of available MCP servers for 1 hour to minimize API calls to GitHub. You can force a refresh using the `refresh_server_list` tool.

Contributing

1. Fork the repository

2. Create your feature branch (`git checkout -b feature/amazing-feature`)

3. Commit your changes (`git commit -m 'Add some amazing feature'`)

4. Push to the branch (`git push origin feature/amazing-feature`)

5. Open a Pull Request

License

MIT - see LICENSE file for details

Acknowledgments

Frequently asked questions

What is mcp-servers-search?

mcp-servers-search is An MCP server that provides tools for querying and discovering other MCP servers

How do I install mcp-servers-search?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-servers-search open source?

Yes — it is hosted on GitHub at https://github.com/atonomus/mcp-servers-search and has 2 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP