MCP (Model Context Protocol) Server
LocalAbout MCP (Model Context Protocol) Server
A multi-service MCP server for developers and AI clients, bringing GitHub, Azure, Google, PostgreSQL, and other integrations behind one interface. It also provides website extraction, image analysis, and Python execution tools.
Key features
- 01Browse and search GitHub repository content
- 02Query Azure Log Analytics
- 03Read PostgreSQL data
- 04Search Google and YouTube, retrieve transcripts
- 05Analyze images and call Azure OpenAI
- 06Fetch website content and execute Python
Use cases
- 01Inspect repository files, workflows, and commits
- 02Run KQL queries to investigate Azure logs
- 03Query data in PostgreSQL
- 04Find videos and retrieve YouTube transcripts
MCP support
It runs as an MCP server and exposes tools for GitHub, Azure, Google, PostgreSQL, and other integrations to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP (Model Context Protocol) Server
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 (
reposcope) - Azure AD App: client ID, secret, tenant ID
- Azure OpenAI Key & Endpoint
- Azure Vision Key & Endpoint
- PostgreSQL credentials
- GitHub PAT (
Installation
-
Clone the repository:
git clone https://github.com/DrFloflo/MCP-github.git -
Install dependencies:
pip install -r requirements.txt -
Create a
.envfile 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
- Go to GitHub Personal Access Tokens
- Generate a new token with the
reposcope - Add this to your
.envfile:
Azure AD (Log Analytics)
- Register a new app in Azure Active Directory
- Copy the following:
- Tenant ID (Directory ID)
- Client ID (Application ID)
- Create and copy a new client secret (under Certificates & secrets)
- Add to
.env:AZURE_TENANT_ID=your_tenant_id AZURE_CLIENT_ID=your_client_id AZURE_CLIENT_SECRET=your_client_secret
Log Analytics Workspace
- Go to your Log Analytics Workspace in Azure
- Copy your Workspace ID
- 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.Readand confirm
Azure OpenAI
- Go to your Azure OpenAI resource (or Foundry)
- Copy the endpoint and key
- 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
- Go to your Azure Vision resource (or Vision)
- Copy the endpoint and key
- Add this to
.env:VISION_ENDPOINT=your_vision_endpoint VISION_KEY=your_vision_key
PostgreSQL
- Go to your PostgreSQL server
- Copy the host, port, database, user, and password
- 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 directoriesget_workflow_runs: Retrieve recent workflow runssearch_codebase: Search code across repositoriesget_file_structure: Get complete repository structureget_commit_history: View commit historyget_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 querysearch_youtube: Search YouTube videosget_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 timestampget_website_content: Fetch and convert website HTML to Markdown
Code Tools
execute_python_code: Execute a Python code snippet securely
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.