MCP (Model Context Protocol) Server

by DrFloflo

260 downloads
Not rated
GitHub

About

Omni MCP protocol, chose the right tools for you.

Details

Author
DrFloflo
Downloads
260
Categories
Other

- Retrieve files and directory listings from GitHub repositories
- Monitor GitHub workflow runs and code search
- Run Kusto Query Language (KQL) queries on Azure Log Analytics
- Read PostgreSQL databases with read-only user support
- Search Google and YouTube, get YouTube video transcripts
- Analyze images via Azure Vision and generate responses via Azure OpenAI

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP (Model Context Protocol) Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies via pip install -r requirements.txt, create a .env file with required tokens (GitHub PAT, Azure credentials, etc.), then run python server.py. The server starts on http://0.0.0.0:6277 by default. Docker is also supported: build with docker build -t mcp-server . and run with docker run -p 6277:6277 --env-file .env mcp-server.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp (model context protocol) server": {
            "MCPo-Server": {
                "command": "python",
                "args": [
                    "server.py"
                ]
            }
        }
    }
}

McpServers

{
    "MCPo-Server": {
        "command": "python",
        "args": [
            "server.py"
        ]
    }
}

MCP (Model Context Protocol) Server

drawing

A MCP server that provides a unified interface for interacting with multiple services, currently supporting GitHub, Azure Log Analytics, Google, Azure OpenAI, Azure Vision, PostgreSQL, and more.

πŸ”§ Features

GitHub Integration

- File/Folder Access: Retrieve files or directory listings from GitHub repositories - Workflow Monitoring: Fetch recent workflow runs and their statuses - Code Search: Search for code across repositories - Repository Structure: Get the complete file structure of a repository - Commit History: View commit history with optional file filtering - Commit Diffs: Inspect file-level changes for specific commits

Azure Integration

- Log Analytics Querying: Run Kusto Query Language (KQL) queries against Azure Log Analytics workspaces - Secure Authentication: OAuth2 client credentials flow for secure API access

Utilities

- Timestamp Generation: Get current UTC timestamp with microsecond precision - Website Content: Get the content of a website in Markdown format

Database Integration

- Database Reading: Read a database from a PostgreSQL server

> ⚠️ Use a DB user with SELECT-only privileges

Google Integration

- Google Search: Search Google for a query - YouTube Search: Search YouTube for a query - YouTube Transcript: Get the transcript of a YouTube video

Azure Vision Integration

- Image Analysis: Get the analysis of an image

LLM Integration

- Azure OpenAI: Get a response from Azure OpenAI

πŸ“¦ Prerequisites

- Python 3.8+
- Docker (optional)
- Tokens & credentials:
- GitHub PAT (repo scope)
- Azure AD App: client ID, secret, tenant ID
- Azure OpenAI Key & Endpoint
- Azure Vision Key & Endpoint
- PostgreSQL credentials

Installation

1. Clone the repository:

   git clone https://github.com/DrFloflo/MCP-github.git

2. Install dependencies:

   pip install -r requirements.txt

3. Create a .env file in the project root with the following variables:

   # GitHub Configuration
GITHUB_TOKEN=your_github_token

# Azure Configuration
AZURE_CLIENT_ID=your_client_id
AZURE_CLIENT_SECRET=your_client_secret
AZURE_TENANT_ID=your_tenant_id

# Azure OpenAI Configuration
AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
AZURE_OPENAI_KEY=your_azure_openai_key
AZURE_OPENAI_API_VERSION=your_azure_openai_api_version

# Azure Vision Configuration
VISION_ENDPOINT=your_vision_endpoint
VISION_KEY=your_vision_key

# Database Configuration
POSTGRES_HOST=your_postgres_host
POSTGRES_PORT=your_postgres_port
POSTGRES_DB=your_postgres_db
POSTGRES_USER=your_postgres_user
POSTGRES_PASSWORD=your_postgres_password

πŸ” Token Setup

GitHub

1. Go to GitHub Personal Access Tokens
2. Generate a new token with the repo scope
3. Add this to your .env file:

Azure AD (Log Analytics)

1. Register a new app in Azure Active Directory
2. Copy the following:
- Tenant ID (Directory ID)
- Client ID (Application ID)
- Create and copy a new client secret (under Certificates & secrets)
3. Add to .env:

   AZURE_TENANT_ID=your_tenant_id
AZURE_CLIENT_ID=your_client_id
AZURE_CLIENT_SECRET=your_client_secret

Log Analytics Workspace

1. Go to your Log Analytics Workspace in Azure
2. Copy your Workspace ID
3. Ensure your Azure AD Application has access:
- Go to your app in Azure AD
- Navigate to API Permissions
- Click Add a permission
- Choose Microsoft Graph > Delegated permissions
- Select User.Read and confirm

Azure OpenAI

1. Go to your Azure OpenAI resource (or Foundry)
2. Copy the endpoint and key
3. Add this to .env:

   AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
AZURE_OPENAI_KEY=your_azure_openai_key
AZURE_OPENAI_API_VERSION=your_azure_openai_api_version

Azure Vision

1. Go to your Azure Vision resource (or Vision)
2. Copy the endpoint and key
3. Add this to .env:

   VISION_ENDPOINT=your_vision_endpoint
VISION_KEY=your_vision_key

PostgreSQL

1. Go to your PostgreSQL server
2. Copy the host, port, database, user, and password
3. Add this to .env:

   POSTGRES_HOST=your_postgres_host
POSTGRES_PORT=your_postgres_port
POSTGRES_DB=your_postgres_db
POSTGRES_USER=your_postgres_user
POSTGRES_PASSWORD=your_postgres_password

Usage

Running the Server

python server.py

The server will start on http://0.0.0.0:6277 by default.

Docker

Build the Docker image:

docker build -t mcp-server .

Run the container:

docker run -p 6277:6277 --env-file .env mcp-server

🧰 Available API Tools

GitHub Tools

- get_github_file_folder: Get file contents or list directories
- get_workflow_runs: Retrieve recent workflow runs
- search_codebase: Search code across repositories
- get_file_structure: Get complete repository structure
- get_commit_history: View commit history
- get_commit_diff: View file-level changes in a commit

Azure Tools

- run_log_analytics_query: Execute KQL queries against Azure Log Analytics

PostgreSQL Tools

- read_db: Query data from PostgreSQL

> ⚠️ Use a database user with read-only (SELECT) access

Google Tools

- search_google: Search Google for any query
- search_youtube: Search YouTube videos
- get_youtube_transcript: Get transcript from a YouTube video

Azure Vision Tools

- get_image_analysis: Analyze image content using Azure Vision

Azure OpenAI Tools

- get_azure_openai_response: Generate response using Azure OpenAI (LLM)

Utility Tools

- get_current_utc_timestamp: Get the current UTC timestamp
- get_website_content: Fetch and convert website HTML to Markdown

Code Tools

- execute_python_code: Execute a Python code snippet securely

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.