remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides tools for interacting with Harbor container registry, enabling operations on projects, repositories, tags, and Helm charts such as listing, creating, and deleting resources.
Enables management of Helm charts within Harbor registry, including listing available charts, viewing chart versions, and deleting chart versions.
MCP 港
MCP Harbor 是一个 Node.js 应用,它提供了一个模型上下文协议 (MCP) 服务器,用于与 Harbor 容器注册表进行交互。它还包含一个用于 Harbor 操作的 REST API。
目录
特征
- MCP 服务器:通过模型上下文协议公开与 Harbor 交互的工具
- REST API :为 Harbor 操作提供 RESTful 端点
- Harbor Operations :支持项目、存储库、标签和 Helm 图表的操作
- TypeScript :用 TypeScript 编写,以获得更好的类型安全性和开发人员体验
- 自动化测试:全面的测试套件,确保可靠的功能
先决条件
在安装 MCP Harbor 之前,请确保您已:
- Node.js 18.x 或更高版本
- npm 8.x 或更高版本
- 访问 Harbor 注册表实例
- Git(用于克隆存储库)
安装
- 克隆存储库:Copy
- 导航到项目目录:Copy
- 安装依赖项:Copy
- 构建项目:Copy
- 启动应用程序:Copy
配置
环境变量
在根目录中创建一个.env
文件,其中包含以下变量:
配置文件
可以在src/config/harbor.config.ts
中设置其他配置选项:
API 端点
项目
GET /projects
- 列出所有项目GET /projects/:id
- 获取项目详细信息POST /projects
- 创建新项目DELETE /projects/:id
- 删除项目
存储库
GET /projects/:projectId/repositories
- 列出项目中的存储库DELETE /projects/:projectId/repositories/:repositoryName
- 删除存储库
标签
GET /projects/:projectId/repositories/:repositoryName/tags
- 列出存储库中的标签DELETE /projects/:projectId/repositories/:repositoryName/tags/:tag
- 删除标签
Helm Charts
GET /projects/:projectId/charts
- 列出项目中的 Helm 图表GET /projects/:projectId/charts/:chartName/versions
- 列出 Helm chart 的版本DELETE /projects/:projectId/charts/:chartName/versions/:version
- 删除 Helm 图表版本
MCP 工具
MCP 服务器公开以下工具:
工具名称 | 描述 | 参数 |
---|---|---|
list_projects | 列出 Harbor 中的所有项目 | 没有任何 |
get_project | 通过ID获取项目详细信息 | id: number |
create_project | 创建新项目 | name: string, public?: boolean |
delete_project | 删除项目 | id: number |
list_repositories | 列出项目中的存储库 | projectId: number |
delete_repository | 删除存储库 | projectId: number, repoName: string |
list_tags | 列出存储库中的标签 | projectId: number, repoName: string |
delete_tag | 删除标签 | projectId: number, repoName: string, tag: string |
list_charts | 列出 Helm 图表 | projectId: number |
list_chart_versions | 列出图表版本 | projectId: number, chartName: string |
delete_chart | 删除图表版本 | projectId: number, chartName: string, version: string |
发展
以开发模式运行
运行测试
调试工具
该项目在tools
目录中包含调试工具:
项目结构
故障排除
常见问题
- 连接失败Copy
- 验证 HARBOR_URL 是否正确且可访问
- 检查网络连接
- 确保 Harbor 实例正在运行
- 身份验证失败Copy
- 验证 HARBOR_USERNAME 和 HARBOR_PASSWORD 是否正确
- 检查用户是否具有所需的权限
- 构建错误Copy
- 运行
npm install
以确保所有依赖项都已安装 - 检查 TypeScript 版本兼容性
- 清除
dist
目录并重建
- 运行
调试模式
通过设置启用调试日志记录:
支持
如需更多帮助:
- 检查DEBUG.md文件
- 运行连接测试:
npm run test:connection
- 查看
logs/
目录中的应用程序日志
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
This server cannot be installed
一个 Node.js 应用程序,提供用于与 Harbor 容器注册表交互的模型上下文协议服务器,支持项目、存储库、标签和 Helm 图表的操作。