MCP-Agg logo

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.

View on GitHub

Last updated: N/A

MCP-Agg: Multi-Channel Platform Aggregator

FastAPI

FastAPI

License: MIT

License: MIT

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

  1. Clone the repository:
git clone https://github.com/moosh3/mcp-agg.git
cd mcp-agg
  1. 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
  1. Create a .env file based on the .env.example template:
cp .env.example .env
# Edit .env with your configuration settings
  1. 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:

  1. Register and log in to the MCP-Agg service
  2. Connect your accounts for each supported platform (GitHub, Slack, etc.)
  3. Navigate to the MCP URL generator endpoint
  4. 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some 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 file for details.

๐Ÿ“ž Contact

Project maintainer: moosh3


Built with โค๏ธ using FastAPI and Python