Mcp Github Repo Creator

Mcp Github Repo Creator

🚀 MCP GitHub仓库创建器

MCP(Model Context Protocol,模型上下文协议)服务器,为GitHub Copilot等AI应用提供工具,用于分析仓库并自动创建GitHub仓库。

🚀 快速开始

本项目提供了一个MCP服务器,可帮助AI应用分析本地git仓库并创建GitHub仓库。以下是使用前的准备步骤和启动方法:

  1. 克隆仓库
git clone https://github.com/flickleafy/mcp-github-repo-creator.git
cd mcp-github-repo-creator
  1. 运行设置脚本
bash setup.sh

此脚本将完成以下操作:

  • 创建Python虚拟环境。
  • 安装MCP SDK和依赖项。
  • 完成项目的初始化设置。
  1. 启动MCP服务器
# 激活虚拟环境
source venv/bin/activate

# 启动MCP服务器
python server.py

✨ 主要特性

  • 仓库分析:自动分析本地git仓库以提取元数据,支持传统和AI两种分析方法。
  • GitHub集成:可创建配置完善的私有GitHub仓库。
  • 主题管理:根据项目分析结果自动添加相关主题。
  • MCP兼容:可与任何支持MCP的AI客户端(如Copilot、Claude等)协同工作。
  • 自动化设置:实现从分析到创建GitHub仓库的完整工作流程。

📦 安装指南

克隆仓库

git clone https://github.com/flickleafy/mcp-github-repo-creator.git
cd mcp-github-repo-creator

运行设置脚本

bash setup.sh

此脚本会创建Python虚拟环境,安装MCP SDK和依赖项,并完成项目的初始化设置。

💻 使用示例

作为MCP服务器使用(推荐)

服务器为AI应用提供了以下工具:

  1. get_repo_analysis_instructions:获取仓库分析的详细说明。
  2. analyze_and_generate_metadata_file:分析仓库并生成元数据。
  3. create_github_repo_from_metadata:根据元数据JSON创建GitHub仓库。
  4. create_github_repository:使用现有的元数据文件创建仓库。
  5. full_repository_setup:完成完整的工作流程:分析 → 创建 → 连接。

启动MCP服务器

# 激活虚拟环境
source venv/bin/activate

# 启动MCP服务器
python server.py

服务器使用stdio传输协议,兼容以下MCP客户端:

  • GitHub Copilot
  • Claude Desktop
  • VS Code扩展
  • 自定义MCP客户端

MCP客户端集成

将MCP客户端配置为连接到本服务器:

{
"name": "github-repo-creator",
"command": "python",
"args": ["server.py"],
"cwd": "/path/to/mcp-github-repo-creator"
}

手动使用(备选)

你也可以直接使用底层功能:

# 激活虚拟环境
source venv/bin/activate

# 交互模式
python create_github_repo.py

# 直接创建仓库
python create_github_repo.py --create

# 仅管理主题
python create_github_repo.py --manage-topics

📚 详细文档

工作流程

  1. 分析:AI分析你的仓库结构、README文件、依赖项和代码。
  2. 元数据生成:创建包含仓库详细信息的github_repo_metadata.json文件。
  3. 仓库创建:使用GitHub CLI创建私有仓库。
  4. 配置:设置主题、启用功能并连接本地仓库。
  5. 推送:将本地代码推送到新的GitHub仓库。

详细工作流类型

MCP服务器支持三种主要的工作流方式:

🤝 交互式Copilot工作流(推荐)

这种方式让Copilot拥有更多控制权,并允许用户进行自定义设置:

  1. 请求分析说明:要求Copilot分析仓库。
    • Copilot使用get_repo_analysis_instructions获取详细的分析说明。
    • 分析你的仓库结构、README文件和代码。
  2. 生成元数据:Copilot创建元数据JSON。
    • 根据分析结果,Copilot生成仓库元数据。
    • 你可以在继续操作之前查看和修改元数据。
  3. 创建仓库:Copilot创建GitHub仓库。
    • 使用生成的元数据调用create_github_repo_from_metadata
    • 创建仓库、推送代码并配置设置。

示例对话

"请分析这个仓库并为其创建一个GitHub仓库。我想在你创建仓库之前查看元数据。"

⚡ 全自动化工作流

适用于无需交互的完全自动化场景:

  1. 单命令设置:使用full_repository_setup工具。
    • 自动分析仓库。
    • 生成元数据文件。
    • 创建GitHub仓库。
    • 连接并推送代码。
    • 一步完成所有操作。

示例对话

"使用全自动化方式在GitHub上设置这个项目。"

🛠️ 手动/分步工作流

适用于需要对每个步骤进行精细控制的场景:

  1. 生成元数据文件:使用analyze_and_generate_metadata_file
  2. 查看/编辑 生成的github_repo_metadata.json文件。
  3. 创建仓库:使用create_github_repository

示例对话

"首先,为这个仓库生成一个元数据文件。我想在创建GitHub仓库之前查看它。"

与Copilot的使用示例

配置完成后,你可以使用以下自然语言命令与Copilot交互:

分析仓库

"分析这个仓库并告诉我将为GitHub生成哪些元数据。"

生成元数据文件

"为这个仓库生成一个github_repo_metadata.json文件。"

创建GitHub仓库

"为这个本地项目创建一个GitHub仓库。首先分析它,生成元数据,然后创建GitHub仓库并连接所有内容。"

完整设置

"在GitHub上设置整个项目 - 分析代码,创建适当的元数据,并创建仓库。"

分步示例

"请为这个项目创建一个GitHub仓库。分析代码,生成适当的元数据,并在GitHub上设置仓库。"

Copilot将执行以下操作

  • 分析你的项目结构和代码。
  • 检测编程语言和框架。
  • 生成主题和描述。
  • 创建github_repo_metadata.json文件。
  • 创建GitHub仓库。
  • 将本地仓库连接到GitHub。
  • 推送你的代码。

Copilot集成与安装

Copilot集成的先决条件

  1. GitHub Copilot订阅(个人版、商业版或企业版)。
  2. 安装了GitHub Copilot扩展的VS Code
  3. 已安装并认证的GitHub CLI (gh)

方法1:VS Code Copilot集成(推荐)

  1. 安装GitHub CLI
# macOS
brew install gh

# Ubuntu/Debian
sudo apt install gh

# Windows(使用winget)
winget install GitHub.cli
  1. 认证GitHub CLI
gh auth login
  1. 克隆并设置本MCP服务器
git clone https://github.com/flickleafy/mcp-github-repo-creator.git
cd mcp-github-repo-creator
bash setup.sh
  1. 配置VS Code设置(添加到你的VS Code settings.json):
{
"github.copilot.enable": {
"*": true,
"mcp": true
},
"mcp.servers": {
"github-repo-creator": {
"command": "python",
"args": ["server.py"],
"cwd": "/full/path/to/mcp-github-repo-creator",
"env": {
"PATH": "/full/path/to/mcp-github-repo-creator/venv/bin:${env:PATH}"
}
}
}
}

方法2:Claude Desktop集成

  1. claude.ai安装Claude Desktop。
  2. 配置Claude Desktop(编辑~/.config/claude-desktop/config.json):
{
"mcpServers": {
"github-repo-creator": {
"command": "python",
"args": ["/full/path/to/mcp-github-repo-creator/server.py"],
"env": {
"PATH": "/full/path/to/mcp-github-repo-creator/venv/bin"
}
}
}
}
  1. 重启Claude Desktop并开始使用命令。

自动安装脚本

通过运行以下命令创建一个简单的安装脚本:

# 下载并运行自动安装器
curl -sSL https://raw.githubusercontent.com/flickleafy/mcp-github-repo-creator/main/install-copilot.sh | bash

或者在你的项目中手动创建安装脚本:

# 创建安装脚本
cat > install-copilot.sh << 'EOF'
#!/bin/bash
echo "🚀 正在为Copilot安装MCP GitHub仓库创建器..."

# 检查依赖项
command -v python3 >/dev/null 2>&1 || { echo "❌ 需要安装Python 3,但未找到。"; exit 1; }
command -v git >/dev/null 2>&1 || { echo "❌ 需要安装Git,但未找到。"; exit 1; }

# 如果未安装GitHub CLI,则进行安装
if ! command -v gh &> /dev/null; then
echo "📦 正在安装GitHub CLI..."
if [[ "$OSTYPE" == "darwin"* ]]; then
brew install gh
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
sudo apt update && sudo apt install gh
else
echo "⚠️ 请手动安装GitHub CLI:https://cli.github.com/"
exit 1
fi
fi

# 克隆仓库
INSTALL_DIR="$HOME/.mcp-servers/github-repo-creator"
echo "📁 正在安装到 $INSTALL_DIR..."
mkdir -p "$HOME/.mcp-servers"
git clone https://github.com/flickleafy/mcp-github-repo-creator.git "$INSTALL_DIR"

# 设置虚拟环境
cd "$INSTALL_DIR"
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# 创建VS Code配置
VSCODE_CONFIG="$HOME/.config/Code/User/settings.json"
echo "⚙️ 正在添加VS Code配置..."
# 将MCP服务器配置添加到VS Code设置中

echo "✅ 安装完成!"
echo "🔧 下一步操作:"
echo "1. 使用GitHub进行认证:gh auth login"
echo "2. 重启VS Code"
echo "3. 开始使用带有MCP命令的Copilot!"
EOF

chmod +x install-copilot.sh

测试集成

  1. 在VS Code中打开一个git仓库。
  2. 与Copilot开始对话并尝试以下命令:
"使用MCP GitHub仓库创建器分析这个仓库并为其创建一个GitHub仓库。"
  1. Copilot应该会回复仓库分析结果并提供创建GitHub仓库的选项。

要求

  • Python 3.8及以上版本。
  • 本地Git仓库。
  • 已安装并认证的GitHub CLI (gh)。
  • 用于调用GitHub API的互联网连接。

GitHub CLI设置

安装并认证GitHub CLI:

# 安装GitHub CLI(请参阅https://cli.github.com/)
# macOS
brew install gh

# Ubuntu/Debian
sudo apt install gh

# 认证
gh auth login

MCP集成

本服务器实现了模型上下文协议规范,使其与各种AI应用兼容:

可用工具

  • 仓库分析:自动提取项目元数据。
  • GitHub仓库创建:创建配置完善的仓库。
  • 主题管理:根据分析结果添加相关主题。
  • 完整工作流程:实现端到端的仓库设置。

支持的传输协议

  • stdio(默认):用于直接集成的标准输入/输出。
  • 与FastMCP框架兼容,便于部署。

项目结构

mcp-github-repo-creator/
├── server.py                    # 使用FastMCP的主MCP服务器
├── core/
│   ├── repository_analyzer.py  # 仓库分析逻辑
│   └── templates.py            # 消息和指令的字符串模板
├── create_github_repo.py       # 旧版独立脚本
├── demo.py                     # 演示MCP客户端
├── requirements.txt            # 包括MCP SDK的依赖项
├── setup.sh                   # 环境设置脚本
├── pyproject.toml             # 可选的项目元数据
├── .gitignore                 # Git忽略规则
└── README.md                  # 本文件

核心模块

  • server.py:向AI客户端提供工具的主MCP服务器。
  • core/repository_analyzer.py:包含RepositoryAnalyzer类,用于分析仓库结构并生成元数据。
  • core/templates.py:用于存储所有长字符串消息和指令的模板函数。
  • create_github_repo.py:旧版独立脚本(可直接使用)。
  • demo.py:展示如何与MCP服务器交互的示例客户端。

示例元数据结构

服务器生成的元数据格式如下:

{
"repository_name": "my-awesome-project",
"description": "🚀 用于自动创建GitHub仓库的强大工具",
"topics": ["python", "automation", "github", "mcp", "ai-tools"],
"created_date": "2025-01-01",
"project_type": "CLI工具",
"primary_language": "Python",
"license": "GPL-3.0",
"features": [
"命令行界面",
"GitHub集成",
"自动分析"
]
}

支持的项目类型

MCP服务器可自动检测并正确分类各种项目类型:

  • AI/ML项目:检测TensorFlow、PyTorch、scikit-learn、Transformers、Langchain。
  • Web应用:React、Vue、Angular、Svelte、Flask、Django、FastAPI、Express、Next.js。
  • CLI工具:命令行应用程序和实用工具。
  • API:RESTful服务、GraphQL和微服务。
  • 移动应用:React Native、Flutter、Ionic。
  • 桌面应用:Electron、Tauri、PyQt、Tkinter。
  • :软件包、框架和SDK。
  • 游戏开发:Unity、Godot、Pygame。
  • DevOps工具:Docker、Kubernetes、Terraform配置。
  • 数据科学:Jupyter笔记本、数据分析项目。

语言检测

自动检测并支持多种编程语言: 主要语言:Python、JavaScript、TypeScript、Java、C++、C#、Go、Rust、PHP、Ruby、Swift、Kotlin、Scala、R、Shell/Bash。 Web技术:HTML、CSS、Vue、React (JSX/TSX)、Svelte、SCSS/Sass、Less。 专业语言:SQL、YAML、TOML、JSON、Dockerfile、Makefile。 分析器通过检查文件扩展名、依赖项和项目结构来准确确定主要语言和技术栈。

安全与隐私

  • 安全认证:使用GitHub CLI进行安全的基于令牌的认证。
  • 默认私有:默认创建私有仓库以确保安全。
  • 无数据存储:元数据文件中不存储敏感数据。
  • 本地处理:仓库分析在本地机器上进行。
  • 遵循GitHub最佳实践:遵循GitHub的安全建议。
  • 最小权限令牌:通过GitHub CLI使用最小必要权限的令牌。

限制

  • 需要GitHub CLI:必须安装并认证GitHub CLI。
  • 需要Git仓库:必须在有提交记录的Git仓库中运行。
  • 仅支持私有仓库:默认创建私有仓库(创建后可手动更改)。
  • 受GitHub API限制:受GitHub API速率限制的影响。
  • 主题限制:仅支持符合GitHub主题要求的仓库(最多20个主题)。
  • 网络依赖:调用GitHub API需要互联网连接。

错误处理

MCP服务器提供了全面的错误处理机制,针对常见问题给出清晰的错误信息:

仓库错误

  • 缺少Git仓库:提供初始化Git仓库的明确说明。
  • 无提交记录:指导用户进行初始提交。
  • 有未跟踪文件:提示用户添加并提交文件。

认证错误

  • 未找到GitHub CLI:提供安装说明。
  • 未认证:提供认证设置指导。
  • 令牌过期:提供重新认证的步骤。

GitHub API错误

  • 仓库名称冲突:提供替代名称建议。
  • 权限问题:提供故障排除步骤。
  • 速率限制:建议等待时间。

故障排除

常见问题及解决方案

"Not a git repository"错误
# 初始化Git仓库
git init

# 添加文件并进行初始提交
git add .
git commit -m "Initial commit"
"GitHub CLI not authenticated"错误
# 检查认证状态
gh auth status

# 如果需要,重新认证
gh auth login
"Permission denied"错误

解决方案

  • 检查GitHub CLI认证状态:gh auth status
  • 确保你有在账户中创建仓库的权限。
  • 验证你的GitHub令牌具有适当的权限范围。
  • 对于组织仓库,检查组织权限。
"Repository name already exists"错误

解决方案

  • 选择不同的仓库名称。
  • 检查你的GitHub账户中是否已存在该仓库。
  • 使用错误消息中建议的替代名称。
  • 添加后缀或前缀以使名称唯一。
"GitHub API rate limit exceeded"错误

解决方案

  • 等待速率限制重置(通常为1小时)。
  • 使用认证请求(确保已完成gh auth login)。
  • 对于高频率使用场景,考虑遵循GitHub API速率限制的最佳实践。
"Invalid metadata format"错误

解决方案

  • 检查生成的github_repo_metadata.json文件是否存在语法错误。
  • 确保所有必需字段都存在。
  • 使用JSON验证器验证JSON格式。
  • 重新运行元数据生成工具。
"Network connectivity issues"错误

解决方案

  • 检查互联网连接。
  • 验证是否可以访问GitHub.com。
  • 检查防火墙或代理设置。
  • 在网络问题解决后重试。

🤝 贡献

  1. 如果你喜欢这个项目,请给仓库点个⭐。
  2. 创建一个功能分支,进行修改并提交拉取请求。
  3. 确保你的代码遵循项目的编码标准。
  4. 为新功能或错误修复添加测试。
  5. 根据需要更新文档。

📄 许可证

本项目采用GNU通用公共许可证v3.0,详情请参阅LICENSE文件。

🔗 链接


使用模型上下文协议精心打造 ❤️

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-27 03:06

相似服务问题

相关AI产品