MCP Recommender
# MCP Recommender
A smart MCP (Model Context Protocol) server that provides intelligent recommendations for other MCP servers based on your development needs.
## Features
- š **Smart Search**: Find MCP servers using natural language queries
- š **Rich Database**: Access to 874+ curated MCP servers across 36+ categories
- šÆ **Intelligent Matching**: Advanced scoring algorithm for relevant recommendations
- š·ļø **Category Filtering**: Filter by specific categories and programming languages
- š **Easy Integration**: Simple setup with uv package manager
- š§ **Multiple Interfaces**: Support for both CLI and MCP client integration
## Installation
### Using uv (Recommended)
```bash
# Clone the repository
git clone https://github.com/mcp-team/mcp-recommender.git
cd mcp-recommender
# Install with uv
uv sync
# Test the installation
uv run -m mcp_recommender --test
```
### Using pip
```bash
pip install mcp-recommender
```
## Usage
### Command Line Interface
```bash
# Test mode - verify installation and see sample recommendations
uv run -m mcp_recommender --test
# Server mode - start the MCP server
uv run -m mcp_recommender --server
# Debug mode - detailed diagnostic information
uv run -m mcp_recommender --debug
```
### MCP Client Integration
Add to your MCP client configuration:
```json
{
"mcpServers": {
"mcp-recommender": {
"isActive": true,
"name": "mcp-recommender",
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-recommender",
"run",
"-m",
"mcp_recommender"
]
}
}
}
```
### Available Tools
Once integrated, you can use these tools in your MCP client:
#### `recommend_mcp`
Get intelligent MCP server recommendations based on your needs.
**Parameters:**
- `query` (string): Description of functionality you need
- `limit` (integer, optional): Maximum number of recommendations (default: 5)
- `category` (string, optional): Filter by specific category
- `language` (string, optional): Filter by programming language
**Example:**
```
recommend_mcp("database operations with SQLite", limit=3)
```
#### `list_categories`
List all available MCP categories with counts.
#### `get_functional_keywords`
Show functional keyword mappings for better search results.
## Categories
The recommender covers 36+ categories including:
- **Developer Tools** (120+ servers)
- **Databases** (79+ servers)
- **Search & Data Extraction** (69+ servers)
- **Cloud Platforms** (39+ servers)
- **Security** (39+ servers)
- **Communication** (36+ servers)
- **Browser Automation** (23+ servers)
- **Knowledge & Memory** (22+ servers)
- And many more...
## Development
### Setup Development Environment
```bash
# Clone and setup
git clone https://github.com/mcp-team/mcp-recommender.git
cd mcp-recommender
# Install development dependencies
uv sync --dev
# Run tests
uv run pytest
# Build package
uv build
```
### Project Structure
```
mcp-recommender/
āāā mcp_recommender/ # Main package
ā āāā __init__.py
ā āāā __main__.py # CLI entry point
ā āāā server.py # MCP server implementation
ā āāā data/ # MCP database and keywords
ā āāā mcp_database.json
ā āāā functional_keywords.json
āāā tests/ # Test suite
āāā LICENSE # MIT License
āāā README.md # This file
āāā pyproject.toml # Package configuration
```
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with [FastMCP](https://github.com/jlowin/fastmcp) framework
- MCP database curated from the awesome MCP community
- Powered by the [Model Context Protocol](https://modelcontextprotocol.io/)
## Support
- š [Documentation](https://github.com/mcp-team/mcp-recommender#readme)
- š [Issue Tracker](https://github.com/mcp-team/mcp-recommender/issues)
- š¬ [Discussions](https://github.com/mcp-team/mcp-recommender/discussions)
---
Made with ā¤ļø by the MCP communityTDQS
Scored across 3 tools
Each tool has a clearly distinct purpose with no overlap: get_functional_keywords provides keyword mappings, list_categories shows available categories, and recommend_mcp generates server recommendations based on user needs. The tools target different aspects of the recommendation system and cannot be confused.
The naming follows a consistent verb_noun pattern (get_functional_keywords, list_categories, recommend_mcp) with clear, descriptive names. The minor deviation is that 'recommend_mcp' uses a verb-object structure rather than verb_noun, but this is still readable and maintains overall consistency.
With only 3 tools, the set feels thin for a server named 'MCP Recommender' that aims to help users find MCP servers. While the core functionality is covered, additional tools like filtering or detailed server information could enhance the scope. The count is borderline but workable.
The tool surface covers the essential workflows: exploring keywords and categories, and getting recommendations. Minor gaps exist, such as no tool to get detailed information about a specific server or to save/favorite recommendations, but agents can work around these with the provided tools.