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.
- 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
npm install -g @atonomus/mcp-servers-search
git clone https://github.com/atonomus/mcp-servers-search.git
cd mcp-servers-search
npm install
# Run directly with npx
npx @atonomus/mcp-servers-search
# Or if installed globally
mcp-servers-search
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json
on macOS):
{
"mcpServers": {
"servers-search": {
"command": "npx",
"args": ["@atonomus/mcp-servers-search"]
}
}
}
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 descriptionlimit
(optional): Maximum number of results (default: 20)
Example:
{
"name": "list_servers",
"arguments": {
"category": "official",
"search": "database",
"limit": 10
}
}
Get detailed information about a specific MCP server.
Parameters:
name
(required): The name of the MCP server
Example:
{
"name": "get_server_details",
"arguments": {
"name": "GitHub"
}
}
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:
{
"name": "search_servers_by_feature",
"arguments": {
"feature": "blockchain",
"limit": 5
}
}
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:
{
"name": "get_random_servers",
"arguments": {
"count": 3,
"category": "community"
}
}
Force refresh the cached list of MCP servers from GitHub.
Example:
{
"name": "refresh_server_list",
"arguments": {}
}
# Install dependencies
npm install
# Run normally
npm start
# Run tests
npm test
The project includes a comprehensive Mocha test suite that tests the README parsing functionality. The tests cover:
- Standard format entries:
[Name](link) - description
- Bold format entries:
**[Name](link)** - description
- List format entries:
- [Name](link) - description
- Author extraction:
(by AuthorName)
- Category detection (reference, official, community)
- Description cleaning (removing embedded links)
- Special character handling (preserving backticks)
Run tests with:
npm test
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"
// Example of using the server programmatically
import { MCPToolsQueryServer } from '@atonomus/mcp-servers-search';
const server = new MCPToolsQueryServer();
await server.run();
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
MIT - see LICENSE file for details
- Built on the Model Context Protocol SDK
- Data sourced from the official MCP Servers Repository