northflank
Inspect and control your Northflank projects, services, jobs, and builds from your AI assistant.
我该使用它吗
质量与安全性
发现(1)
- LOW在 northflank_trigger_service_build 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `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#"
}社区
证据