使用说明

项目简介

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 与项目上下文的交互。

安装步骤

  1. 克隆仓库

    git clone https://github.com/peterparker57/project-hub-mcp-server.git
  2. 进入项目目录

    cd project-hub-mcp-server
  3. 安装依赖

    npm install
  4. 构建项目

    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 集成能力。

信息

分类

开发者工具