使用说明
项目简介
Project Hub MCP 服务器是一个应用后端,旨在通过 Model Context Protocol (MCP) 为 LLM 客户端提供项目管理和 GitHub 集成能力。它可以帮助用户管理本地项目,跟踪代码变更,并将项目与 GitHub 仓库进行同步,为 LLM 应用提供强大的项目上下文管理能力。
主要功能点
- 项目创建和管理:支持创建、查找、列出、更新和删除项目。项目管理功能包括项目名称搜索(支持大小写不敏感和部分匹配)、项目类型、项目路径和描述等详细信息的管理。
- 变更跟踪和版本控制:能够记录项目中的变更,例如功能添加、缺陷修复等,并跟踪这些变更的状态。可以获取待提交的变更列表和清除已提交的变更记录。
- GitHub 仓库集成:深度集成了 GitHub 仓库管理功能,允许用户通过工具创建、获取、更新、删除、重命名、列出、Fork 和转移 GitHub 仓库。
- 文件管理:支持从 GitHub 仓库中获取指定文件的内容,方便 LLM 应用访问项目仓库中的代码或文档。
- 提交管理:提供了完整的 GitHub 提交管理能力,包括创建包含多文件变更的提交、列出仓库中的提交记录、获取特定提交的详细信息以及回滚指定的提交。
- 分支管理:支持 GitHub 仓库的分支管理操作,如创建新分支、删除分支、列出所有分支、获取分支信息以及合并分支。
- Pull Request 管理:允许用户创建 GitHub Pull Request,方便进行代码审查和合并。
- 工具列表:提供 'list_tools' 工具,可以列出 Project Hub MCP 服务器提供的所有可用工具及其详细信息。
总而言之,Project Hub MCP 服务器旨在成为 LLM 应用在软件开发和项目管理领域的强大助手,通过 MCP 协议提供标准化的接口,简化 LLM 与项目上下文的交互。
安装步骤
-
克隆仓库:
git clone https://github.com/peterparker57/project-hub-mcp-server.git -
进入项目目录:
cd project-hub-mcp-server -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
要将 Project Hub MCP 服务器添加到 MCP 客户端,您需要在 MCP 客户端的配置文件(通常是 JSON 格式)中添加服务器的配置信息。以下是一个配置示例,您需要根据您的实际环境进行调整:
{ "mcpServers": { "project-hub": { // 服务器名称,在 MCP 客户端中通过此名称引用 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件 "args": ["path/to/project-hub-mcp-server/dist/index.js"], // 命令参数,指向编译后的服务器入口文件。请将 "path/to/project-hub-mcp-server" 替换为实际的项目路径 "env": { // 环境变量配置 "DEFAULT_OWNER": "your-github-username", // 默认 GitHub 用户名,用于 GitHub 操作。请替换为您的 GitHub 用户名 "GITHUB_TOKEN_your-github-username": "your-github-token" // GitHub 个人访问令牌 (PAT)。请替换为您的 GitHub PAT,并确保该 PAT 具有操作仓库的权限 } } } }
配置参数说明:
- 'server name': 'project-hub',这是您为该 MCP 服务器定义的名称,在 MCP 客户端调用工具时会用到。
- 'command': 'node',指定用于运行服务器的命令,这里假设您已安装 Node.js 并将其添加到 PATH 环境变量中。
- 'args': '["path/to/project-hub-mcp-server/dist/index.js"]',启动命令的参数,指向 Project Hub MCP 服务器编译后的入口文件。请务必将 'path/to/project-hub-mcp-server' 替换为您的本地项目路径。 例如,如果您的项目完整路径是 '/Users/yourname/project-hub-mcp-server',则 'args' 应该配置为 '["/Users/yourname/project-hub-mcp-server/dist/index.js"]'。
- 'env': 环境变量配置,用于服务器运行时读取。
- 'DEFAULT_OWNER': 您的 GitHub 用户名,用于指定默认的 GitHub 仓库所有者。
- 'GITHUB_TOKEN_your-github-username': 您的 GitHub 个人访问令牌,用于进行 GitHub API 认证。请将 'your-github-username' 替换为您的 GitHub 用户名,并将 'your-github-token' 替换为您的实际 PAT。 您需要在 GitHub 上生成具有 'repo' 权限的 PAT。
请注意:
- 您需要根据实际的项目路径和 GitHub 账户信息修改上述配置。
- 确保您的 MCP 客户端能够正确读取并应用此配置文件。
基本使用方法
配置完成后,您可以使用 MCP 客户端通过 'mcp.use' 方法调用 Project Hub MCP 服务器提供的工具。以下是一些基本的使用示例(假设您已经配置好 MCP 客户端并成功连接到 Project Hub MCP 服务器):
// 创建新项目 await mcp.use("project-hub", "create_project", { name: "my-project", path: "./projects/my-project", type: "typescript", description: "一个 TypeScript 项目" }); // 查找项目(通过项目名称) await mcp.use("project-hub", "find_project", { name: "my-project" }); // 记录项目变更 await mcp.use("project-hub", "record_change", { project_name: "my-project", description: "添加了新功能", type: "feature", files: ["src/feature.ts"] }); // 扫描项目文件 await mcp.use("project-hub", "scan_source_files", { project_name: "my-project" }); // 创建 GitHub 仓库 await mcp.use("project-hub", "create_repository", { name: "my-project", description: "我的新项目仓库", isPrivate: true }); // 克隆 GitHub 仓库到本地 await mcp.use("project-hub", "clone_repository", { repo: "my-project", targetFolder: "./projects/my-project", branch: "main" });
请参考仓库 'README.md' 文件中的 "Usage Examples" 部分,了解更多工具的使用方法和参数说明。您还可以使用 'list_tools' 工具查看所有可用的工具及其详细信息。
// 列出所有可用工具 const tools = await mcp.use("project-hub", "list_tools"); console.log(tools);
通过上述步骤,您应该能够成功安装、配置和使用 Project Hub MCP 服务器,为您的 LLM 应用提供强大的项目管理和 GitHub 集成能力。
信息
分类
开发者工具