Multi-MCPs
# Multi-MCPs
Multi-MCPs is a Model Context Protocol (MCP) server that aggregates multiple third-party APIs and exposes them as unified MCP tools. It ships with out-of-the-box support for the top 10 commonly used external services: OpenWeather, Google Maps/Places, NewsAPI, GitHub, Notion, Trello, Spotify, Twilio, Unsplash, and CoinGecko.
## Install
```bash
npm i
```
## Run
Build:
```bash
npm run build
```
Run as an MCP server (stdio):
```bash
npx @modelcontextprotocol/inspector build/index.js
```
## Configuration
Provide credentials via environment variables or `config/api-configs.json`. Environment variables take precedence over file values.
Example `config/api-configs.json`:
```json
{
"OPENWEATHER_API_KEY": "...",
"GOOGLE_API_KEY": "...",
"NEWS_API_KEY": "...",
"GITHUB_TOKEN": "...",
"NOTION_TOKEN": "...",
"TRELLO_KEY": "...",
"TRELLO_TOKEN": "...",
"SPOTIFY_CLIENT_ID": "...",
"SPOTIFY_CLIENT_SECRET": "...",
"TWILIO_ACCOUNT_SID": "...",
"TWILIO_AUTH_TOKEN": "...",
"UNSPLASH_ACCESS_KEY": "..."
}
```
You can also point to a custom config file with:
```bash
export MUTI_MCPS_CONFIG=/abs/path/to/api-configs.json
```
## Available Tools (selection)
- Weather: `get_current_weather`, `get_weather_forecast`, `get_weather_alerts`
- Maps: `search_places`, `get_directions`, `geocode_address`
- News: `get_top_headlines`, `search_news`, `get_sources`
- GitHub: `search_repositories`, `get_repository_info`, `create_issue`, `list_commits`
- Notion: `query_database`, `create_page`, `update_page`, `search_pages`
- Trello: `get_boards`, `create_card`, `update_card`, `get_board_cards`
- Spotify: `search_tracks`, `get_track_info`, `create_playlist`, `add_tracks_to_playlist`
- Twilio: `send_sms`, `make_call`, `get_message_history`
- Unsplash: `search_photos`, `get_random_photo`, `get_photo_details`
- CoinGecko: `get_coin_price`, `get_trending_coins`, `get_market_data`
Note: Tools are listed even if credentials are missing; calls will fail with a clear error if the required credentials are not configured.
## License
This project is licensed under the MIT License. See `LICENSE` for details.TDQS
Scored across 34 tools
Most tools have distinct purposes across different domains (e.g., Trello, GitHub, weather), but there is some overlap within domains, such as 'get_weather_forecast' and 'get_current_weather' potentially confusing agents about which to use for basic weather needs. Descriptions help clarify, but the broad scope introduces minor ambiguity.
Tool names largely follow a consistent verb_noun pattern (e.g., 'create_card', 'get_boards', 'search_photos'), with minor deviations like 'geocode_address' (verb_noun but not a common verb) and 'make_call' (less structured). Overall, the naming is predictable and readable across the set.
With 34 tools, the count is borderline high for a single server, as it aggregates multiple unrelated domains (e.g., Trello, GitHub, weather, crypto). This feels heavy and could overwhelm agents, though each tool individually serves a purpose. A more modular approach might be better suited.
For the broad multi-domain scope, coverage is reasonably complete with CRUD operations in some areas (e.g., Trello: create/update card, get boards; Notion: create/update page, query database). Minor gaps exist, such as no delete operations for Trello cards or GitHub issues, but agents can work around these with available tools.