northflank

Inspect and control your Northflank projects, services, jobs, and builds from your AI assistant.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
99%
Calidad de los nombres
79%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'northflank_trigger_service_build' name length outside 3-30 rangeen northflank_trigger_service_build

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,887Tokens (definiciones de herramientas)
~1.3 KBTamaño de respuesta típico
Impacto significativo en la atención (2.26% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "northflank": {
      "url": "https://northflank.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://northflank.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (17)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢northflank_list_projects(teamId, per_page, page, cursor)

List projects for the authenticated token (or a specific team). Good first call to discover project ids. GET /v1/projects (team: GET /v1/teams/{teamId}/projects).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "teamId": {
      "description": "Optional team id to scope to a team's projects.",
      "type": "string"
    },
    "per_page": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number to access.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "Cursor from a previous page's pagination.cursor to fetch the next page.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_get_project(projectId)

Get details of a single project, including region, cluster and associated services/jobs/addons. GET /v1/projects/{projectId}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id (from northflank_list_projects)."
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_list_services(projectId, per_page, page, cursor)

List services in a project (build / deployment / combined) with their build+deployment status. GET /v1/projects/{projectId}/services.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "per_page": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number to access.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "Cursor from a previous page's pagination.cursor to fetch the next page.",
      "type": "string"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_get_service(projectId, serviceId)

Get details and current status of a single service. GET /v1/projects/{projectId}/services/{serviceId}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Service id (from northflank_list_services)."
    }
  },
  "required": [
    "projectId",
    "serviceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_list_jobs(projectId, per_page, page, cursor)

List jobs (manual / cron) in a project. GET /v1/projects/{projectId}/jobs.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "per_page": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number to access.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "Cursor from a previous page's pagination.cursor to fetch the next page.",
      "type": "string"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_get_job(projectId, jobId)

Get details of a single job, including build/deploy config and cron schedule. GET /v1/projects/{projectId}/jobs/{jobId}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "jobId": {
      "type": "string",
      "description": "Job id (from northflank_list_jobs)."
    }
  },
  "required": [
    "projectId",
    "jobId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_list_addons(projectId, per_page, page, cursor)

List addons (managed databases / services) in a project with their status. GET /v1/projects/{projectId}/addons.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "per_page": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number to access.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "Cursor from a previous page's pagination.cursor to fetch the next page.",
      "type": "string"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_get_addon(projectId, addonId)

Get details and status of a single addon. GET /v1/projects/{projectId}/addons/{addonId}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "addonId": {
      "type": "string",
      "description": "Addon id (from northflank_list_addons)."
    }
  },
  "required": [
    "projectId",
    "addonId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_list_service_builds(projectId, serviceId, per_page, page, cursor)

List a build service's build runs / history (branch, sha, status, timestamps). GET /v1/projects/{projectId}/services/{serviceId}/build.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Service id of a build/combined service."
    },
    "per_page": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number to access.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "Cursor from a previous page's pagination.cursor to fetch the next page.",
      "type": "string"
    }
  },
  "required": [
    "projectId",
    "serviceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_get_service_metrics(projectId, serviceId, queryType, metricTypes, duration, ...)

Get CPU / memory metrics for a service's containers. GET /v1/projects/{projectId}/services/{serviceId}/metrics. Use queryType=single (default) for a current snapshot or queryType=range with duration/startTime/endTime.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Service id."
    },
    "queryType": {
      "description": "single = point-in-time (default), range = time series.",
      "type": "string",
      "enum": [
        "single",
        "range"
      ]
    },
    "metricTypes": {
      "description": "Which metrics to return; defaults to all if omitted.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cpu",
          "memory"
        ]
      }
    },
    "duration": {
      "description": "Range duration in seconds (alternative to startTime/endTime).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "startTime": {
      "description": "Range start (unix ms/seconds per API).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "endTime": {
      "description": "Range end.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "time": {
      "description": "Point-in-time for queryType=single.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "projectId",
    "serviceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_list_secret_groups(projectId, per_page, page, cursor)

List a project's secret groups — METADATA ONLY (id, name, type, priority, restrictions). Does NOT return secret values. GET /v1/projects/{projectId}/secrets.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "per_page": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number to access.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "Cursor from a previous page's pagination.cursor to fetch the next page.",
      "type": "string"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢northflank_list_domains(teamId, per_page, page, cursor)

List custom domains for the account (or a team), with verification status. GET /v1/domains (team: GET /v1/teams/{teamId}/domains).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "teamId": {
      "description": "Optional team id to scope to a team's domains.",
      "type": "string"
    },
    "per_page": {
      "description": "Results per page (max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number to access.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "cursor": {
      "description": "Cursor from a previous page's pagination.cursor to fetch the next page.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴northflank_trigger_service_build(projectId, serviceId, branch, sha, pullRequestId)

MUTATING: start a new build for a build/combined service. With an empty body it builds the latest commit on the linked branch; optionally target a branch, a specific commit sha, or a pull request. POST /v1/projects/{projectId}/services/{serviceId}/build.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Build/combined service id."
    },
    "branch": {
      "description": "Branch to build (defaults to the service's linked branch).",
      "type": "string"
    },
    "sha": {
      "description": "Specific commit SHA to build from the branch.",
      "type": "string"
    },
    "pullRequestId": {
      "description": "Build the latest commit of this pull request's branch.",
      "type": "string"
    }
  },
  "required": [
    "projectId",
    "serviceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴northflank_restart_service(projectId, serviceId)

MUTATING: restart all running containers of a service. POST /v1/projects/{projectId}/services/{serviceId}/restart.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Service id."
    }
  },
  "required": [
    "projectId",
    "serviceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴northflank_scale_service(projectId, serviceId, instances)

MUTATING: set the number of running instances (replicas) for a service. POST /v1/projects/{projectId}/services/{serviceId}/scale.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Service id."
    },
    "instances": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Desired number of instances / replicas."
    }
  },
  "required": [
    "projectId",
    "serviceId",
    "instances"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴northflank_pause_service(projectId, serviceId)

MUTATING: pause a service, scaling it to zero running instances. POST /v1/projects/{projectId}/services/{serviceId}/pause.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Service id."
    }
  },
  "required": [
    "projectId",
    "serviceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴northflank_resume_service(projectId, serviceId, instances, disabledCI, disabledCD, ...)

MUTATING: resume a paused service. Optionally set the instance count and CI/CD/autoscaling state to restore. POST /v1/projects/{projectId}/services/{serviceId}/resume.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project id."
    },
    "serviceId": {
      "type": "string",
      "description": "Service id."
    },
    "instances": {
      "description": "Instances to scale to on resume.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "disabledCI": {
      "description": "Whether CI should be disabled after resume.",
      "type": "boolean"
    },
    "disabledCD": {
      "description": "Whether CD should be disabled after resume.",
      "type": "boolean"
    },
    "enableAutoscaling": {
      "description": "Restore autoscaling (defaults to the state captured when paused).",
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "serviceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada17 herramientas