About MB_MCP (Model Context Protocol)
MB_MCP is a Python package for using services such as Slack, Google Drive, GitHub, Atlassian, and PostgreSQL with Claude and other LLMs through MCP. It includes a web dashboard and programmatic connectors.
Key features
- 01Connectors for Slack and Google Drive
- 02Connectors for GitHub and Atlassian
- 03PostgreSQL and Brave Search connectors
- 04Web dashboard for service queries
- 05Environment-based credential configuration
Use cases
- 01Query connected services from the web dashboard
- 02Build applications using service connectors
- 03Use Slack or GitHub data with LLMs
MCP support
The package integrates service connectors with Claude and other LLMs using MCP. It also includes MCP server implementations, including a local text-formatting server.
Details
From the project READMEMB_MCP (Model Context Protocol)
A Python package for integrating various services with Claude and other LLMs using the Model Context Protocol (MCP).
Overview
MB_MCP provides connectors for various services like Slack, Google Drive, GitHub, Atlassian, PostgreSQL, and more. It allows you to build applications that leverage these services through a unified interface, making it easy to create powerful AI-powered applications.
Features
-
Multiple Service Connectors:
- Slack
- Google Drive
- GitHub
- Atlassian (Confluence & Jira)
- PostgreSQL
- Brave Search
- Formatter
-
Web Dashboard: A simple web interface for querying the services
-
Environment-based Configuration: All API keys and credentials are stored in a
.envfile for security
Installation
Prerequisites
- Python 3.8 or higher
- Docker (for running some of the services)
Setup
-
Clone the repository:
git clone https://github.com/bigmb/mb_mcp.git cd mb_mcp -
Install the package:
pip install -e . -
Set up environment variables:
cp .env.example .envEdit the
.envfile and add your API keys and credentials.
Configuration
The following environment variables need to be set in the .env file:
API Keys
ANTHROPIC_API_KEY=your_anthropic_api_key
OPENAI_API_KEY=your_openai_api_key
GOOGLE_API_KEY=your_google_api_key
Slack Configuration
SLACK_BOT_TOKEN=your_slack_bot_token
SLACK_APP_TOKEN=your_slack_app_token
SLACK_TEAM_ID=your_slack_team_id
PostgreSQL Configuration
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres
PG_CONNECTION_STRING=postgresql://host.docker.internal:5432/mydb
Google Drive Configuration
GDRIVE_CREDENTIALS_PATH=/path/to/your/gdrive/credentials.json
GitHub Configuration
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token
Atlassian Configuration
# For Confluence Cloud
CONFLUENCE_URL=https://your-domain.atlassian.net/wiki
[email protected]
CONFLUENCE_API_TOKEN=your_api_token
# For Jira Cloud
JIRA_URL=https://your-domain.atlassian.net
[email protected]
JIRA_API_TOKEN=your_api_token
Brave Search Configuration
BRAVE_API_KEY=your_brave_api_key
Usage
Running the Web Dashboard
python -m mb_mcp.app
This will start a Flask server on http://localhost:5000 where you can interact with the services.
Using the Connectors Programmatically
import asyncio
from mb_mcp.slack_connecter import run_app as run_slack_app
async def main():
question = "Provide the recent updates in the channel in proper format: <channel_id>"
result = await run_slack_app(question)
print(result['messages'][-1].content)
if __name__ == "__main__":
asyncio.run(main())
Development
Project Structure
mb_mcp/: Main package directoryapp.py: Flask web application*_connecter.py: Connector modules for different servicesformatter_server.py: Local MCP server for text formatting
query_dashboard/: Web dashboard frontendservers/: MCP server implementations. From here, the docker image is built. mcp_servers (Anthropic MCP's servers)
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.