关于 MCP (Model Context Protocol) Server
这是一个面向 MCP 客户端的多服务集成 MCP 服务,统一提供 GitHub、Azure、Google、PostgreSQL 等服务的访问工具。它还支持网站内容提取、图像分析和 Python 代码执行。
主要功能
- 01浏览和搜索 GitHub 仓库内容
- 02查询 Azure Log Analytics
- 03读取 PostgreSQL 数据
- 04搜索 Google 和 YouTube 并获取字幕
- 05分析图像并调用 Azure OpenAI
- 06提取网页内容及执行 Python 代码
适用场景
- 01检查仓库文件、工作流和提交记录
- 02运行 KQL 查询排查 Azure 日志
- 03查询 PostgreSQL 中的数据
- 04搜索视频并读取 YouTube 字幕
MCP 相关
该项目作为 MCP 服务运行,向 MCP 客户端提供 GitHub、Azure、Google、PostgreSQL 等集成工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP(Model Context Protocol)服务
一个 MCP 服务,提供与多种服务交互的统一接口,目前支持 GitHub、Azure Log Analytics、Google、Azure OpenAI、Azure Vision、PostgreSQL 等。
🔧 功能
GitHub 集成
- 文件/文件夹访问:从 GitHub 仓库获取文件或目录列表
- 工作流监控:获取最近的工作流运行记录及其状态
- 代码搜索:跨仓库搜索代码
- 仓库结构:获取仓库的完整文件结构
- 提交历史:查看提交历史,并可按文件筛选
- 提交差异:检查特定提交中的文件级变更
Azure 集成
- Log Analytics 查询:针对 Azure Log Analytics 工作区运行 Kusto Query Language(KQL)查询
- 安全认证:使用 OAuth2 客户端凭据流安全访问 API
实用工具
- 时间戳生成:获取精确到微秒的当前 UTC 时间戳
- 网站内容:以 Markdown 格式获取网站内容
数据库集成
- 数据库读取:读取 PostgreSQL 服务中的数据库
⚠️ 请使用仅具有
SELECT权限的数据库用户
Google 集成
- Google 搜索:在 Google 中搜索查询内容
- YouTube 搜索:在 YouTube 中搜索查询内容
- YouTube 字幕稿:获取 YouTube 视频的字幕稿
Azure Vision 集成
- 图像分析:获取图像分析结果
大模型集成
- Azure OpenAI:获取 Azure OpenAI 的响应
📦 前置条件
- Python 3.8+
- Docker(可选)
- 令牌和凭据:
- GitHub PAT(
repo范围) - Azure AD 应用:客户端 ID、密钥、租户 ID
- Azure OpenAI 密钥和终结点
- Azure Vision 密钥和终结点
- PostgreSQL 凭据
- GitHub PAT(
安装
-
克隆仓库:
git clone https://github.com/DrFloflo/MCP-github.git -
安装依赖项:
pip install -r requirements.txt -
在项目根目录中创建
.env文件,并添加以下变量:# 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
🔐 令牌设置
GitHub
- 前往 GitHub Personal Access Tokens
- 生成一个具有
repo范围的新令牌 - 将其添加到
.env文件中:
Azure AD(Log Analytics)
- 在 Azure Active Directory 中注册一个新应用
- 复制以下内容:
- 租户 ID(目录 ID)
- 客户端 ID(应用程序 ID)
- 创建并复制新的客户端密钥(位于 证书和机密 下)
- 添加到
.env:AZURE_TENANT_ID=your_tenant_id AZURE_CLIENT_ID=your_client_id AZURE_CLIENT_SECRET=your_client_secret
Log Analytics 工作区
- 前往 Azure 中的 Log Analytics 工作区
- 复制 Workspace ID
- 确保 Azure AD 应用有权访问:
- 前往 Azure AD 中的应用
- 导航至 API 权限
- 点击 添加权限
- 选择 Microsoft Graph > 委派的权限
- 选择
User.Read并确认
Azure OpenAI
- 前往 Azure OpenAI 资源(或 Foundry)
- 复制终结点和密钥
- 将其添加到
.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
- 前往 Azure Vision 资源(或 Vision)
- 复制终结点和密钥
- 将其添加到
.env文件中:VISION_ENDPOINT=your_vision_endpoint VISION_KEY=your_vision_key
PostgreSQL
- 前往 PostgreSQL 服务
- 复制主机、端口、数据库、用户和密码
- 将其添加到
.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
使用方法
运行服务
python server.py
服务默认会在 http://0.0.0.0:6277 上启动。
Docker
构建 Docker 镜像:
docker build -t mcp-server .
运行容器:
docker run -p 6277:6277 --env-file .env mcp-server
🧰 可用的 API 工具
GitHub 工具
get_github_file_folder:获取文件内容或列出目录get_workflow_runs:获取最近的工作流运行记录search_codebase:跨仓库搜索代码get_file_structure:获取完整的仓库结构get_commit_history:查看提交历史get_commit_diff:查看提交中的文件级变更
Azure 工具
run_log_analytics_query:针对 Azure Log Analytics 执行 KQL 查询
PostgreSQL 工具
read_db:从 PostgreSQL 查询数据
⚠️ 使用具有只读(
SELECT)访问权限的数据库用户
Google 工具
search_google:在 Google 上搜索任意内容search_youtube:搜索 YouTube 视频get_youtube_transcript:获取 YouTube 视频的文字记录
Azure Vision 工具
get_image_analysis:使用 Azure Vision 分析图像内容
Azure OpenAI 工具
get_azure_openai_response:使用 Azure OpenAI(LLM)生成回复
实用工具
get_current_utc_timestamp:获取当前 UTC 时间戳get_website_content:获取网站 HTML 并转换为 Markdown
代码工具
execute_python_code:安全地执行 Python 代码片段
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。