Skip to main content
Glama

MCP Harbor

by nomagicln

Puerto MCP

Licencia: MIT Mecanografiado Node.js

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

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

  1. Clonar el repositorio:

    git clone https://github.com/nomagicln/mcp-harbor.git
  2. Navegue hasta el directorio del proyecto:

    cd mcp-harbor
  3. Instalar dependencias:

    npm install
  4. Construir el proyecto:

    npm run build
  5. Iniciar la aplicación:

    npm start

Configuración

Variables de entorno

Cree un archivo .env en el directorio raíz con las siguientes variables:

# Required HARBOR_URL=https://your-harbor-instance.com HARBOR_USERNAME=your_username HARBOR_PASSWORD=your_password # Optional PORT=3000 # Server port (default: 3000) LOG_LEVEL=info # Logging level (default: info) ENABLE_HTTPS=false # Enable HTTPS (default: false) SSL_CERT_PATH=/path/to/cert.pem # Required if ENABLE_HTTPS=true SSL_KEY_PATH=/path/to/key.pem # Required if ENABLE_HTTPS=true

Archivo de configuración

Se pueden configurar opciones de configuración adicionales en src/config/harbor.config.ts :

{ timeout: 30000, // API request timeout in milliseconds retryAttempts: 3, // Number of retry attempts for failed requests cacheEnabled: true, // Enable response caching cacheTTL: 300 // Cache TTL in seconds }

Puntos finales de API

Proyectos

  • GET /projects - Listar todos los proyectos

  • GET /projects/:id - Obtener detalles del proyecto

  • POST /projects - Crear un nuevo proyecto

  • DELETE /projects/:id - Eliminar un proyecto

Repositorios

  • GET /projects/:projectId/repositories - Lista los repositorios en un proyecto

  • DELETE /projects/:projectId/repositories/:repositoryName - Eliminar un repositorio

Etiquetas

  • GET /projects/:projectId/repositories/:repositoryName/tags - Lista de etiquetas en un repositorio

  • DELETE /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 proyecto

  • GET /projects/:projectId/charts/:chartName/versions - Lista de versiones de un gráfico de Helm

  • DELETE /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

npm run dev

Ejecución de pruebas

# Run all tests npm test # Run tests with coverage npm run test:coverage # Run specific test file npm test -- test/harbor.test.ts

Herramientas de depuración

El proyecto incluye herramientas de depuración en el directorio tools :

# Test Harbor connection npm run test:connection # Start debug server npm run debug:server

Estructura del proyecto

mcp-harbor ├── src │ ├── app.ts # Main application entry point (MCP server) │ ├── config │ │ └── harbor.config.ts # Harbor configuration │ ├── controllers │ │ └── harbor.controller.ts # REST API controllers │ ├── services │ │ └── harbor.service.ts # Harbor service implementation │ ├── models │ │ └── harbor.model.ts # Data models │ ├── routes │ │ └── harbor.routes.ts # API route definitions │ └── types │ └── index.ts # TypeScript type definitions ├── test │ └── harbor.test.ts # Tests for Harbor service ├── tools │ ├── debug-server.ts # Debug server implementation │ └── test-connection.ts # Connection testing utility ├── .env.example # Example environment variables ├── .gitignore # Git ignore file ├── package.json # Project dependencies ├── tsconfig.json # TypeScript configuration └── README.md # Project documentation

Solución de problemas

Problemas comunes

  1. Conexión fallida

    Error: Unable to connect to Harbor instance
    • 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

  2. Falló la autenticación

    Error: Invalid credentials
    • Verifique que HARBOR_USERNAME y HARBOR_PASSWORD sean correctos

    • Comprobar si el usuario tiene los permisos necesarios

  3. Errores de compilación

    Error: TypeScript compilation failed
    • 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

Modo de depuración

Habilite el registro de depuración configurando:

LOG_LEVEL=debug

Apoyo

Para obtener ayuda adicional:

  1. Compruebe el archivo DEBUG.md

  2. Ejecute la prueba de conexión: npm run test:connection

  3. 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Tabla de contenido
    1. Características
      1. Prerrequisitos
        1. Instalación
          1. Configuración
            1. Variables de entorno
            2. Archivo de configuración
          2. Puntos finales de API
            1. Proyectos
            2. Repositorios
            3. Etiquetas
            4. Cartas de timón
          3. Herramientas MCP
            1. Desarrollo
              1. Ejecutando en modo de desarrollo
              2. Ejecución de pruebas
              3. Herramientas de depuración
            2. Estructura del proyecto
              1. Solución de problemas
                1. Problemas comunes
                2. Modo de depuración
                3. Apoyo
              2. Licencia

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  A 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 -
                  7
                  5
                  MIT License
                • A
                  security
                  F
                  license
                  A
                  quality
                  A comprehensive Model Context Protocol server that enables users to interact with the ShipStation API for managing orders, shipments, carriers, warehouses, products, customers, stores, webhooks, and fulfillments through structured tools.
                  Last updated -
                  39
                  2
                • A
                  security
                  F
                  license
                  A
                  quality
                  A comprehensive server that enables interaction with the ShipHero API through the Model Context Protocol, providing tools for managing orders, products, inventory, shipping, warehouses, vendors, and webhooks.
                • A
                  security
                  F
                  license
                  A
                  quality
                  A Model Context Protocol server implementation that provides endpoints for wallet-based authentication, cluster management, and name registration services.
                  Last updated -
                  1

                View all related MCP servers

                MCP directory API

                We provide all the information about MCP servers via our MCP API.

                curl -X GET 'https://glama.ai/api/mcp/v1/servers/nomagicln/mcp-harbor'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server