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.
Puerto MCP
MCP Harbor es una aplicación Node.js que proporciona un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con el registro de contenedores de Harbor. También incluye una API REST para las operaciones de Harbor.
Tabla de contenido
- Puerto MCP
Características
- Servidor MCP : expone herramientas para interactuar con Harbor a través del Protocolo de Contexto de Modelo
- API REST : proporciona puntos finales RESTful para operaciones portuarias
- Operaciones portuarias : admite operaciones para proyectos, repositorios, etiquetas y gráficos de Helm
- TypeScript : escrito en TypeScript para una mejor seguridad de tipos y experiencia del desarrollador.
- Pruebas automatizadas : conjunto completo de pruebas para una funcionalidad confiable
Prerrequisitos
Antes de instalar MCP Harbor, asegúrese de tener:
- Node.js 18.x o superior
- npm 8.x o superior
- Acceso a una instancia de registro de Harbor
- Git (para clonar el repositorio)
Instalación
- Clonar el repositorio:Copy
- Navegue hasta el directorio del proyecto:Copy
- Instalar dependencias:Copy
- Construir el proyecto:Copy
- Iniciar la aplicación:Copy
Configuración
Variables de entorno
Cree un archivo .env
en el directorio raíz con las siguientes variables:
Archivo de configuración
Se pueden configurar opciones de configuración adicionales en src/config/harbor.config.ts
:
Puntos finales de API
Proyectos
GET /projects
- Listar todos los proyectosGET /projects/:id
- Obtener detalles del proyectoPOST /projects
- Crear un nuevo proyectoDELETE /projects/:id
- Eliminar un proyecto
Repositorios
GET /projects/:projectId/repositories
- Lista los repositorios en un proyectoDELETE /projects/:projectId/repositories/:repositoryName
- Eliminar un repositorio
Etiquetas
GET /projects/:projectId/repositories/:repositoryName/tags
- Lista de etiquetas en un repositorioDELETE /projects/:projectId/repositories/:repositoryName/tags/:tag
- Eliminar una etiqueta
Cartas de timón
GET /projects/:projectId/charts
- Enumera los gráficos de Helm en un proyectoGET /projects/:projectId/charts/:chartName/versions
- Lista de versiones de un gráfico de HelmDELETE /projects/:projectId/charts/:chartName/versions/:version
- Eliminar una versión del gráfico de Helm
Herramientas MCP
El servidor MCP expone las siguientes herramientas:
Nombre de la herramienta | Descripción | Parámetros |
---|---|---|
list_projects | Listado de todos los proyectos en Harbor | Ninguno |
get_project | Obtener detalles del proyecto por ID | id: number |
create_project | Crear un nuevo proyecto | name: string, public?: boolean |
delete_project | Eliminar un proyecto | id: number |
list_repositories | Listar repositorios en un proyecto | projectId: number |
delete_repository | Eliminar un repositorio | projectId: number, repoName: string |
list_tags | Enumerar etiquetas en un repositorio | projectId: number, repoName: string |
delete_tag | Eliminar una etiqueta | projectId: number, repoName: string, tag: string |
list_charts | Lista de gráficos de Helm | projectId: number |
list_chart_versions | Versiones del gráfico de listas | projectId: number, chartName: string |
delete_chart | Eliminar la versión del gráfico | projectId: number, chartName: string, version: string |
Desarrollo
Ejecutando en modo de desarrollo
Ejecución de pruebas
Herramientas de depuración
El proyecto incluye herramientas de depuración en el directorio tools
:
Estructura del proyecto
Solución de problemas
Problemas comunes
- Conexión fallidaCopy
- Verifique que HARBOR_URL sea correcto y accesible
- Comprobar la conectividad de la red
- Asegúrese de que la instancia de Harbor se esté ejecutando
- Falló la autenticaciónCopy
- Verifique que HARBOR_USERNAME y HARBOR_PASSWORD sean correctos
- Comprobar si el usuario tiene los permisos necesarios
- Errores de compilaciónCopy
- Ejecute
npm install
para asegurarse de que todas las dependencias estén instaladas - Comprobar la compatibilidad de la versión de TypeScript
- Limpiar el directorio
dist
y reconstruir
- Ejecute
Modo de depuración
Habilite el registro de depuración configurando:
Apoyo
Para obtener ayuda adicional:
- Compruebe el archivo DEBUG.md
- Ejecute la prueba de conexión:
npm run test:connection
- Revise los registros de la aplicación en el directorio
logs/
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
This server cannot be installed
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.
Una aplicación Node.js que proporciona un servidor de protocolo de contexto de modelo para interactuar con el registro de contenedores Harbor y respaldar operaciones para proyectos, repositorios, etiquetas y gráficos de Helm.
Related MCP Servers
- -securityFlicense-qualityA Node.js implementation of the Model Context Protocol server using SQLite, providing a npx-based alternative for environments lacking Python's UVX runner.Last updated -1142JavaScript
- -securityFlicense-qualityProvides a scalable, containerized infrastructure for deploying and managing Model Context Protocol servers with monitoring, high availability, and secure configurations.Last updated -
- AsecurityFlicenseAqualityA Node.js server that provides advanced video and image processing capabilities through the Model Context Protocol, enabling operations like conversion, compression, editing, and effects application.Last updated -1013JavaScript
- AsecurityAlicenseAqualityA comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.Last updated -72JavaScriptMIT License