MCP-Agg
by moosh3
MCP-Agg is a powerful API service that provides unified access to multiple tools and platforms through a single, consistent interface. It enables seamless integration with various services like GitHub, Slack, and more, simplifying workflow automation and enhancing productivity.
Last updated: N/A
MCP-Agg: Multi-Channel Platform Aggregator
MCP-Agg is a powerful API service that provides unified access to multiple tools and platforms through a single, consistent interface. It enables seamless integration with various services like GitHub, Slack, and more, simplifying workflow automation and enhancing productivity.
๐ Features
- Unified Tool Interface: Access tools from multiple platforms through a standardized API
- Authentication & Authorization: Secure access to each integrated service
- Extensible Architecture: Easily add new tools and platforms
- MCP Client Support: Generate unique URLs for MCP client access
- Comprehensive Documentation: Well-documented API with Swagger UI
๐ ๏ธ Supported Platforms
GitHub
- List repositories
- Get repository details
- Manage issues and pull requests
- Access user profiles
Slack
- List channels
- Post messages
- Reply to threads
- Add reactions
- Access channel history
- Retrieve user profiles
๐ Requirements
- Python 3.12+
- PostgreSQL database
- uv package manager
๐ง Installation
- Clone the repository:
git clone https://github.com/moosh3/mcp-agg.git
cd mcp-agg
- Set up a virtual environment and install dependencies using uv:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt
- Create a
.env
file based on the.env.example
template:
cp .env.example .env
# Edit .env with your configuration settings
- Run database migrations:
alembic upgrade head
๐ Running the Application
Development Mode
uvicorn api.main:app --reload --port 8000
Production Mode
uvicorn api.main:app --host 0.0.0.0 --port 8000
Using Docker
docker-compose up -d
๐ API Documentation
Once the application is running, access the interactive API documentation at:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
๐ Using the MCP Client
To access all your tools through an MCP client:
- Register and log in to the MCP-Agg service
- Connect your accounts for each supported platform (GitHub, Slack, etc.)
- Navigate to the MCP URL generator endpoint
- Use the generated URL in your MCP client configuration
๐งช Testing
Run tests using pytest:
python -m pytest
For coverage information:
python -m pytest --cov=api
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- 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
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Contact
Project maintainer: moosh3
Built with โค๏ธ using FastAPI and Python