northflank
Inspect and control your Northflank projects, services, jobs, and builds from your AI assistant.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen northflank_trigger_service_build
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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-httpQué puede hacer
Inventario de herramientas
Herramientas (17)
🟢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
Evidencia