northflank

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
99%
이름 품질
79%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'northflank_trigger_service_build' name length outside 3-30 rangenorthflank_trigger_service_build에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,887토큰 (도구 정의)
~1.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.26%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

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

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 17개