Token导航 LogoToken导航

MCP Server · 开发工具

GitHub MCP Practice

一个基于FastAPI和LangGraph的GitHub MCP服务器与客户端项目,提供GitHub仓库管理工具和自然语言处理功能。

stdio官方级别未说明来源级核验工具 10
FastAPICursor自然语言处理

快速开始

作者 / 组织
J-nowcow
提供方
J-nowcow

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

GitHub MCP Practice 属于开发工具类 MCP Server,公开资料标注 10 个工具,通过stdio 本地进程接入,适配 Cursor,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

支持远程部署

安装与配置

安装命令

pip install -e .

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP GitHub+MCP Client项目

这个项目 GitHub MCP服务器哇 MCP客户端(FastAPI+语言图) 由两部分组成。

🏗️ 项目结构

├── mcp_github/          # GitHub MCP Server (fastMCP 기반)
└── mcp_client/          # MCP Client (FastAPI + LangGraph)

______________________________________________________________________

🚀 MCP GitHub服务器

使用fastMCP构建的GitHub MCP服务器。

设置

# 가상환경 활성화
source venv/bin/activate

# 개발 모드로 설치
pip install -e .

设置环境变量

GitHub API需要Personal Access Token:

  1. 在中创建新令牌
  2. 所需权限: repo, user
  3. 设置环境变量:
# .env 파일 생성 (프로젝트 루트에)
echo "GITHUB_TOKEN=your_token_here" > .env

# 또는 직접 환경변수 설정
export GITHUB_TOKEN=your_token_here

运行

# 가상환경 활성화
source venv/bin/activate

# MCP 서버 실행
python -m mcp_github.server

Cursor设置

要从Cursor连接MCP服务器,请使用以下设置:

{
  "mcpServers": {
    "github": {
      "command": "python",
      "args": ["-m", "mcp_github.server"],
      "cwd": "/Users/hyunwoo/Desktop/클테코/20250904_githubMCP",
      "env": {
        "PYTHUB_TOKEN": "your_github_token_here",
        "PYTHONPATH": "/Users/hyunwoo/Desktop/클테코/20250904_githubMCP"
      }
    }
  }
}

可用的工具

只读工具(Read Tools)

健康

检查服务器状态

{
  "status": "ok"
}
getRepo

查看GitHub存储库信息

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice"
}
listPullRequests

查看Pull Request列表

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "state": "open"
}
getPRDiff

Pull Request的diff查询

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "number": 1
}
getFile

查看存储库中的文件内容

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "path": "README.md",
  "ref": "main"
}

写入工具(Write Tools)

createOrUpdateFile

创建或修改文件

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "path": "new_file.txt",
  "content": "Hello, World!",
  "message": "Add new file",
  "branch": "main",
  "committer_name": "Your Name",
  "committer_email": "your.email@example.com"
}
\_删除文件

删除文件

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "path": "file_to_delete.txt",
  "message": "Delete file",
  "branch": "main"
}
createBranch

创建新分支

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "new_branch": "feature-branch",
  "base_branch": "main"
}
createCommitWithMultipleFiles

一次提交多个文件

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "files": [
    {
      "path": "file1.txt",
      "content": "Content 1",
      "operation": "create"
    },
    {
      "path": "file2.txt",
      "content": "Updated content",
      "operation": "update"
    }
  ],
  "message": "Multiple file changes",
  "branch": "main"
}
获取存储库状态

查看存储库状态和最新提交信息

{
  "owner": "J-nowcow",
  "repo": "github-MCP-practice",
  "ref": "main"
}

使用示例

创建和提交文件

  1. 创建新文件:
{
  "tool": "createOrUpdateFile",
  "arguments": {
    "owner": "J-nowcow",
    "repo": "github-MCP-practice",
    "path": "docs/new_feature.md",
    "content": "# New Feature\n\nThis is a new feature documentation.",
    "message": "Add new feature documentation"
  }
}
  1. 修改文件:
{
  "tool": "createOrUpdateFile",
  "arguments": {
    "owner": "J-nowcow",
    "repo": "github-MCP-practice",
    "path": "README.md",
    "content": "# Updated README\n\nUpdated content here.",
    "message": "Update README"
  }
}
  1. 在新分支中工作:
{
  "tool": "createBranch",
  "arguments": {
    "owner": "J-nowcow",
    "repo": "github-MCP-practice",
    "new_branch": "feature/new-ui",
    "base_branch": "main"
  }
}

______________________________________________________________________

🧠 MCP客户端(FastAPI+语言图)

连接Azure OpenAI+GitHub MCP Server MCP客户端(FastAPI+语言图) 项目。

🎯 项目概述

该项目允许用户使用REST API(/chat)发送自然语言请求:

  1. MCP服务器(GitHub) 连接→查看可用工具列表
  2. LangGraph重构代理 →使用Azure OpenAI模型制定工具执行计划
  3. MCP服务器 →运行实际工具并收集结果
  4. LangGraph워크플로우 →生成并返回最终响应

🏗️ 体系结构

FastAPI → LangGraph Agent → MCP Server → GitHub
    ↓           ↓              ↓
  /chat → ReAct Workflow → Tools Execution

🚀 快速入门

1.设置虚拟环境

# 가상 환경 생성
python -m venv venv

# 가상 환경 활성화
source venv/bin/activate  # macOS/Linux
# 또는
venv\Scripts\activate     # Windows

2.安装依赖性

pip install -r requirements.txt

3.设置环境变量

.env 在项目根目录中创建文件并添加以下内容:

# MCP Server
MCP_SERVER_URL=http://localhost:3000

# Azure OpenAI
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com/
AZURE_OPENAI_API_KEY=your_api_key_here
AZURE_OPENAI_DEPLOYMENT=gpt-4o
AZURE_OPENAI_API_VERSION=2025-01-01-preview
OPENAI_TEMPERATURE=0.1

# HTTP
HTTP_TIMEOUT_SEC=30

4.运行服务器

# 개발 모드로 실행
uvicorn mcp_client.main:app --reload --port 8081

📡 API端点

POST/聊天

处理用户问题并使用MCP工具生成响应。

请求:

{
  "query": "GitHub 이슈 생성해줘",
  "thread_id": "optional_thread_id"
}

回复:

{
  "response": "GitHub 이슈가 생성되었습니다",
  "used_tools": [
    {
      "name": "create_github_issue",
      "arguments": {"title": "...", "body": "..."},
      "result": {"url": "..."}
    }
  ],
  "status": "success",
  "trace": {
    "tool_names": ["create_github_issue"],
    "model_rounds": 2,
    "thread_id": "thread_123"
  }
}

GET/健康

检查服务状态。

回复:

{
  "status": "ok",
  "details": {
    "mcp_client": {"status": "connected", "tool_count": 5},
    "workflow": "ready",
    "tools_available": 5
  }
}

GET/工作流/信息

查看工作流信息。

回复:

{
  "status": "success",
  "workflow_info": {
    "model": "gpt-4o",
    "temperature": 0.1,
    "nodes": ["agent"],
    "checkpointer": "MemorySaver"
  }
}

🛠️ 核心组件

MCPClientManager(mcp_client/mcp_client.py)

  • langchain-mcp-adapters的 MultiServerMCPClient 包装类
  • 实施异步上下文管理器
  • 错误处理和重试逻辑

MCPAgent工作流程mcp_client/agent/workflow.py)

  • LangGraph의 StateGraph使用配置ReAct代理
  • Azure OpenAI模型与MCP工具集成
  • 执行工作流并处理结果

🔧 开发

项目结构

mcp_client/
├── __init__.py
├── main.py                 # FastAPI 엔트리포인트
├── config.py              # 환경변수 설정
├── schemas.py             # Pydantic 모델
├── mcp_client.py          # MCP 서버 연결 관리
└── agent/
    ├── __init__.py
    └── workflow.py        # LangGraph 워크플로우

运行测试

# 전체 테스트
pytest

# 특정 테스트
pytest tests/ -v

# 커버리지
pytest --cov=mcp_client

代码质量

# 린팅
ruff check .

# 포맷팅
ruff format .

# 타입 체크
mypy mcp_client/

📚 技术堆栈

  • Python 3.11+
  • 快速 API -Web框架
  • LangGraph -工作流编排
  • langchain mcp适配器 -MCP集成
  • 兰开夏 -Azure OpenAI통합
  • 派丹蒂克 -数据验证
  • 乌维科恩 -ASGI服务器

🔍 故障排除

常见问题

  1. MCP服务器连接失败

- 验证MCP服务器是否正在运行 - MCP_SERVER_URL 检查环境变量

  1. Azure OpenAI身份验证失败

- 验证API密钥和端点 - 验证部署名称和API版本

  1. Import错误

- 验证虚拟环境是否已激活 - pip install -r requirements.txt 运行

检查日志

运行服务器时,可以查看详细日志:

uvicorn mcp_client.main:app --reload --port 8081 --log-level debug

______________________________________________________________________

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

该项目在MIT许可下分发。

📞 支持

如果您遇到问题或有任何问题:

  1. 在GitHub Issues上注册问题
  2. 检查项目文档
  3. 联系开发团队

______________________________________________________________________

开发团队:MCP GitHub+MCP客户端团队\ 上次更新: 2025-09-04\ 版本: 0.1.0

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

GitHub管理Python本地部署自然语言处理FastAPILangGraph仓库工具

支持客户端

Cursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Cursor 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
GitHub MCP Practice

MCP World · 本页

10stdio有2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

GitHub MCP Practice 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

GitHub MCP Practice 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

GitHub MCP Practice 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

GitHub MCP Practice 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

GitHub MCP Practice 支持哪些客户端?

公开资料标注支持 Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP