northflank

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
99%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

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

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,887Tokens (Tool-Definitionen)
~1.3 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.26% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (17)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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).

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet17 Tools