northflank
Inspect and control your Northflank projects, services, jobs, and builds from your AI assistant.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWnorthflank_trigger_service_build에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"northflank": {
"url": "https://northflank.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://northflank.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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).
입력 스키마
{
"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}.
입력 스키마
{
"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.
입력 스키마
{
"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}.
입력 스키마
{
"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.
입력 스키마
{
"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}.
입력 스키마
{
"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.
입력 스키마
{
"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}.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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#"
}커뮤니티
증거