A curated collection of production-ready MCP servers. Plug-and-play tools for Claude, Cursor, Windsurf & more.
Stop writing MCP servers from scratch. Ship in seconds, not hours.
π¦ 20+ ready-to-use MCP servers
β‘ One-line install
π Works with Claude Desktop, Cursor, Windsurf, Zed & more
π οΈ Customizable & extensible
pip install mcp-hubAdd to your claude_desktop_config.json:
{
"mcpServers": {
"weather": {
"command": "python",
"args": ["-m", "mcp_hub.server_weather"]
}
}
}{
"mcp": {
"servers": {
"weather": {
"command": "python",
"args": ["-m", "mcp_hub.server_weather"]
}
}
}
}Restart your editor. That's it. π
| Server | Description | Install |
|---|---|---|
| π€οΈ Weather | Real-time weather & forecasts | mcp_hub.server_weather |
| π Web Search | Search the web with multiple engines | mcp_hub.server_web_search |
| π GitHub | Repo management, issues, PRs, code search | mcp_hub.server_github |
| π° Crypto | Live prices, charts, market data | mcp_hub.server_crypto |
| π₯οΈ System | System info, processes, file ops | mcp_hub.server_system |
| π³ Docker | Container management & monitoring | mcp_hub.server_docker |
| ποΈ Database | SQL queries, schema inspection | mcp_hub.server_database |
| π§ Email | Send & read emails via SMTP/IMAP | mcp_hub.server_email |
| π Calendar | Google Calendar integration | mcp_hub.server_calendar |
| π Notes | Obsidian/Markdown note management | mcp_hub.server_notes |
| π HTTP | Make HTTP requests, scrape pages | mcp_hub.server_http |
| π CSV | Analyze & transform CSV/Excel files | mcp_hub.server_csv |
| πΊοΈ Maps | Geocoding, routes, places | mcp_hub.server_maps |
| π¦ Twitter | Post tweets, search, get profiles | mcp_hub.server_twitter |
| π¬ Slack | Send messages, read channels | mcp_hub.server_slack |
| π΅ Spotify | Search tracks, playlists, playback | mcp_hub.server_spotify |
| πΈ Screenshot | Take webpage screenshots | mcp_hub.server_screenshot |
| π Passwords | Bitwarden/1Password integration | mcp_hub.server_passwords |
| π Files | Advanced file operations & search | mcp_hub.server_files |
| β° Reminder | Set reminders & notifications | mcp_hub.server_reminder |
Get current weather and forecasts for any location worldwide.
# Tools available:
- get_current_weather(location: str) -> dict
- get_forecast(location: str, days: int = 5) -> list
- get_air_quality(lat: float, lon: float) -> dictExample prompt: "What's the weather in Tokyo right now?"
Search the web using DuckDuckGo. No API key required.
# Tools available:
- web_search(query: str, count: int = 5) -> list
- fetch_url(url: str) -> str
- extract_text(url: str) -> strExample prompt: "Search for the latest news about AI agents"
Full GitHub integration β repos, issues, PRs, code search, and more.
# Tools available:
- list_repos(username: str) -> list
- get_repo(owner: str, repo: str) -> dict
- list_issues(owner: str, repo: str, state: str) -> list
- create_issue(owner: str, repo: str, title: str, body: str) -> dict
- search_code(query: str) -> list
- get_file_content(owner: str, repo: str, path: str) -> strExample prompt: "Show me open issues in the react repo"
Live cryptocurrency prices, market data, and charts.
# Tools available:
- get_price(symbol: str) -> dict
- get_market_data(symbol: str) -> dict
- get_trending() -> list
- get_price_history(symbol: str, days: int) -> listExample prompt: "What's the current price of Bitcoin?"
System information, process monitoring, and file operations.
# Tools available:
- get_system_info() -> dict
- list_processes(sort_by: str) -> list
- get_disk_usage() -> dict
- get_network_info() -> dict
- run_command(cmd: str) -> strManage Docker containers, images, and volumes.
# Tools available:
- list_containers(all: bool) -> list
- get_container_logs(name: str, tail: int) -> str
- get_container_stats(name: str) -> dict
- list_images() -> list
- inspect_container(name: str) -> dictQuery and inspect SQL databases (SQLite, PostgreSQL, MySQL).
# Tools available:
- execute_query(connection: str, query: str) -> list
- list_tables(connection: str) -> list
- describe_table(connection: str, table: str) -> dict
- get_schema(connection: str) -> dict| Variable | Description | Required |
|---|---|---|
GITHUB_TOKEN |
GitHub personal access token | For GitHub server |
OPENWEATHER_API_KEY |
OpenWeatherMap API key | For Weather server |
BRAVE_API_KEY |
Brave Search API key | Optional for Web Search |
COINMARKETCAP_API_KEY |
CoinMarketCap API key | Optional for Crypto |
SMTP_HOST |
SMTP server host | For Email server |
SLACK_TOKEN |
Slack bot token | For Slack server |
{
"mcpServers": {
"weather": {
"command": "python",
"args": ["-m", "mcp_hub.server_weather"]
},
"search": {
"command": "python",
"args": ["-m", "mcp_hub.server_web_search"]
},
"github": {
"command": "python",
"args": ["-m", "mcp_hub.server_github"],
"env": {
"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
}
},
"crypto": {
"command": "python",
"args": ["-m", "mcp_hub.server_crypto"]
}
}
}MCP Hub servers follow a simple pattern:
from mcp.server import Server
from mcp.types import Tool, TextContent
server = Server("my-server")
@server.list_tools()
async def list_tools():
return [
Tool(
name="my_tool",
description="Does something cool",
inputSchema={
"type": "object",
"properties": {
"input": {"type": "string"}
},
"required": ["input"]
}
)
]
@server.call_tool()
async def call_tool(name: str, arguments: dict):
if name == "my_tool":
result = do_something(arguments["input"])
return [TextContent(type="text", text=result)]
# Run with stdio transport
from mcp.server.stdio import stdio_server
async def main():
async with stdio_server() as (read_stream, write_stream):
await server.run(read_stream, write_stream, server.create_initialization_options())
if __name__ == "__main__":
import asyncio
asyncio.run(main())| Feature | MCP Hub | Building from scratch |
|---|---|---|
| Time to deploy | β‘ Seconds | π’ Hours/Days |
| Production-ready | β Yes | β Needs work |
| Multiple services | β 20+ servers | β One at a time |
| Documentation | β Complete | β DIY |
| Maintenance | β Community | β All on you |
- 30+ MCP servers
- GUI configuration tool
- Docker Compose for all servers
- Server marketplace & discovery
- Plugin system for custom servers
- MCP Inspector integration
- Server health monitoring dashboard
Contributions welcome! Add your own MCP server in 3 steps:
- Create
mcp_hub/server_yourname.py - Follow the template
- Open a PR
See CONTRIBUTING.md for details.
If you find MCP Hub useful, please give it a star! It helps others discover the project.
MIT Β© 4Artursmith
Made with β€οΈ for the MCP community