AI Assistant Hub MCP Server
AI Assistant Hub is a production-ready Model Context Protocol (MCP) server that exposes a collection of tools (like Weather, GitHub, and Slack) to any MCP-compatible AI assistant or client.
Getting Started
Follow these steps to set up and run the server.
1. Set Up the Python Environment
First, create a virtual environment and install the required packages.
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows, use: .venv\Scripts\activate
# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
2. Configure API Keys with a .env File
The server needs API keys for the tools it provides. The recommended way to provide them is with a .env file.
- Create a new file named
.envin the root of the project (/home/harsh/Documents/MCPServer/ai-hub/.env). - Copy and paste the following into the
.envfile, replacing the placeholder values with your actual keys.
# --- API Keys and Secrets ---
# Weather (OpenWeatherMap)
TOOL_WEATHER_CONFIG__API_KEY=your-openweathermap-api-key
# GitHub Issues (optional for public repositories)
TOOL_GITHUB_ISSUES_CONFIG__TOKEN=ghp_your_token
# Slack
TOOL_SLACK_POST_MESSAGE_CONFIG__TOKEN=xoxb-your-slack-token
# --- Tool Toggles (all enabled by default) ---
TOOL_WEATHER_ENABLED=true
TOOL_GITHUB_ISSUES_ENABLED=true
TOOL_SLACK_POST_MESSAGE_ENABLED=true
3. Run the Server
Once the environment is set up and configured, run the server from your terminal:
ai-assistant-hub
or
python3 -m ai_assistant_hub.server.main
The server will start and wait for a client to connect. You should see output like:
MCP server started with stdio transport. Waiting for client...
Tools available: ['weather', 'github_issues', 'slack_post_message']
Connecting Your LLM Client
To use the tools, you need to connect your AI assistant or LLM client to this server. Most clients support connecting to an MCP server using a JSON configuration.
- Find your client's server configuration settings (e.g., "Tool Servers", "MCP Servers").
- Add a new server and provide the following JSON.
{
"mcpServers": {
"ai-hub": {
"command": "/home/harsh/Documents/MCPServer/ai-hub/.venv/bin/ai-assistant-hub",
"args": [],
"cwd": "/home/harsh/Documents/MCPServer/ai-hub",
"env": {
"TOOL_WEATHER_CONFIG__API_KEY": "your-openweathermap-api-key",
"TOOL_GITHUB_ISSUES_CONFIG__TOKEN": "ghp_your_token",
"TOOL_SLACK_POST_MESSAGE_CONFIG__TOKEN": "xoxb-your-slack-token"
}
}
}
}
Important:
- Make sure the
commandandcwdpaths in the JSON match the location of your project. - The
envblock in the JSON is an alternative way to provide the API keys if you prefer not to use a.envfile. You don't need to fill it out if you've already created a.envfile.
- Save and activate the new server. Your client can now use the tools.
---
Project Details
Features
- ✅ Built on the official MCP server runtime from Hugging Face.
- ✅ Modular tools for Weather, GitHub Issues, and Slack.
- ✅ Resilient HTTP clients with built-in retries.
- ✅ Centralised configuration via
.envfiles or environment variables.
Architecture
The project is structured to be modular and extensible.
ai_assistant_hub/server/main.py: The main entrypoint that starts the server.ai_assistant_hub/tools/: Contains the definition for each tool.ai_assistant_hub/integrations/: Contains the logic for communicating with third-party APIs (like OpenWeatherMap).
Adding New Tools
- Create an "adapter" in
ai_assistant_hub/integrations/to handle the external API communication. - Define a new tool in
ai_assistant_hub/tools/that uses the adapter. - Enable your new tool and provide its configuration in your
.envfile.
---
Need help or want to add more adapters? Open an issue or submit a pull request!






