Northflank MCP by usefulapi
Server Details
Inspect and control your Northflank projects, services, jobs, and builds from your AI assistant.
- Status
- Healthy
- Uptime
- 70.1% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 17 tools
Each tool targets a distinct resource-action pair: specific getters for addons, jobs, projects, and services; listers for the same resources plus domains, secret groups, and service builds; and focused mutating operations like pause, restart, resume, scale, and trigger build. There is no overlap in purpose—even list_service_builds and trigger_service_build are clearly separated into history vs. action. An agent can reliably select the correct tool for any given intent.
All tools follow a uniform 'northflank_verb_noun' pattern, with verbs consistently using get, list, or action words (pause, restart, resume, scale, trigger) and nouns always in plural for lists and singular for getters. Snake_case is used throughout without exceptions. The naming is predictable and easy to derive.
17 tools is slightly above the typical 3-15 range, but given the broad scope of the Northflank platform (projects, services, addons, jobs, domains, metrics, secrets, builds), the count feels justified rather than bloated. Each tool covers a distinct aspect, and the set is not overwhelming; however, a few redundant or consolidatable tools (e.g., separate list and get for every resource) could have been merged.
The tool surface is heavily biased toward read operations and operational actions (pause, restart, scale, trigger build) but lacks any create, update, or delete capabilities for projects, services, addons, jobs, or domains. This means an agent cannot perform basic lifecycle management—a core expectation for a deployment platform. The absence of mutation endpoints beyond operational controls leaves significant gaps that will cause agent failures when attempting to provision or tear down resources.
Available Tools
17 toolsnorthflank_get_addonGet addonRead-onlyInspect
Get details and status of a single addon. GET /v1/projects/{projectId}/addons/{addonId}.
| Name | Required | Description | Default |
|---|---|---|---|
| addonId | Yes | Addon id (from northflank_list_addons). | |
| projectId | Yes | Project id. |
northflank_get_jobGet jobRead-onlyInspect
Get details of a single job, including build/deploy config and cron schedule. GET /v1/projects/{projectId}/jobs/{jobId}.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | Job id (from northflank_list_jobs). | |
| projectId | Yes | Project id. |
northflank_get_projectGet projectRead-onlyInspect
Get details of a single project, including region, cluster and associated services/jobs/addons. GET /v1/projects/{projectId}.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id (from northflank_list_projects). |
northflank_get_serviceGet serviceRead-onlyInspect
Get details and current status of a single service. GET /v1/projects/{projectId}/services/{serviceId}.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id. | |
| serviceId | Yes | Service id (from northflank_list_services). |
northflank_get_service_metricsGet service metricsRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | Point-in-time for queryType=single. | |
| endTime | No | Range end. | |
| duration | No | Range duration in seconds (alternative to startTime/endTime). | |
| projectId | Yes | Project id. | |
| queryType | No | single = point-in-time (default), range = time series. | |
| serviceId | Yes | Service id. | |
| startTime | No | Range start (unix ms/seconds per API). | |
| metricTypes | No | Which metrics to return; defaults to all if omitted. |
northflank_list_addonsList addonsRead-onlyInspect
List addons (managed databases / services) in a project with their status. GET /v1/projects/{projectId}/addons.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to access. | |
| cursor | No | Cursor from a previous page's pagination.cursor to fetch the next page. | |
| per_page | No | Results per page (max 100). | |
| projectId | Yes | Project id. |
northflank_list_domainsList domainsRead-onlyInspect
List custom domains for the account (or a team), with verification status. GET /v1/domains (team: GET /v1/teams/{teamId}/domains).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to access. | |
| cursor | No | Cursor from a previous page's pagination.cursor to fetch the next page. | |
| teamId | No | Optional team id to scope to a team's domains. | |
| per_page | No | Results per page (max 100). |
northflank_list_jobsList jobsRead-onlyInspect
List jobs (manual / cron) in a project. GET /v1/projects/{projectId}/jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to access. | |
| cursor | No | Cursor from a previous page's pagination.cursor to fetch the next page. | |
| per_page | No | Results per page (max 100). | |
| projectId | Yes | Project id. |
northflank_list_projectsList projectsRead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to access. | |
| cursor | No | Cursor from a previous page's pagination.cursor to fetch the next page. | |
| teamId | No | Optional team id to scope to a team's projects. | |
| per_page | No | Results per page (max 100). |
northflank_list_secret_groupsList secret groupsRead-onlyInspect
List a project's secret groups — METADATA ONLY (id, name, type, priority, restrictions). Does NOT return secret values. GET /v1/projects/{projectId}/secrets.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to access. | |
| cursor | No | Cursor from a previous page's pagination.cursor to fetch the next page. | |
| per_page | No | Results per page (max 100). | |
| projectId | Yes | Project id. |
northflank_list_service_buildsList service buildsRead-onlyInspect
List a build service's build runs / history (branch, sha, status, timestamps). GET /v1/projects/{projectId}/services/{serviceId}/build.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to access. | |
| cursor | No | Cursor from a previous page's pagination.cursor to fetch the next page. | |
| per_page | No | Results per page (max 100). | |
| projectId | Yes | Project id. | |
| serviceId | Yes | Service id of a build/combined service. |
northflank_list_servicesList servicesRead-onlyInspect
List services in a project (build / deployment / combined) with their build+deployment status. GET /v1/projects/{projectId}/services.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to access. | |
| cursor | No | Cursor from a previous page's pagination.cursor to fetch the next page. | |
| per_page | No | Results per page (max 100). | |
| projectId | Yes | Project id. |
northflank_pause_servicePause service (mutates infra)DestructiveInspect
MUTATING: pause a service, scaling it to zero running instances. POST /v1/projects/{projectId}/services/{serviceId}/pause.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id. | |
| serviceId | Yes | Service id. |
northflank_restart_serviceRestart service (mutates infra)DestructiveInspect
MUTATING: restart all running containers of a service. POST /v1/projects/{projectId}/services/{serviceId}/restart.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id. | |
| serviceId | Yes | Service id. |
northflank_resume_serviceResume service (mutates infra)DestructiveInspect
MUTATING: resume a paused service. Optionally set the instance count and CI/CD/autoscaling state to restore. POST /v1/projects/{projectId}/services/{serviceId}/resume.
| Name | Required | Description | Default |
|---|---|---|---|
| instances | No | Instances to scale to on resume. | |
| projectId | Yes | Project id. | |
| serviceId | Yes | Service id. | |
| disabledCD | No | Whether CD should be disabled after resume. | |
| disabledCI | No | Whether CI should be disabled after resume. | |
| enableAutoscaling | No | Restore autoscaling (defaults to the state captured when paused). |
northflank_scale_serviceScale service (mutates infra)DestructiveInspect
MUTATING: set the number of running instances (replicas) for a service. POST /v1/projects/{projectId}/services/{serviceId}/scale.
| Name | Required | Description | Default |
|---|---|---|---|
| instances | Yes | Desired number of instances / replicas. | |
| projectId | Yes | Project id. | |
| serviceId | Yes | Service id. |
northflank_trigger_service_buildTrigger service build (mutates infra)DestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | Specific commit SHA to build from the branch. | |
| branch | No | Branch to build (defaults to the service's linked branch). | |
| projectId | Yes | Project id. | |
| serviceId | Yes | Build/combined service id. | |
| pullRequestId | No | Build the latest commit of this pull request's branch. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
- Changed
northflank_get_addon1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_get_job1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_get_project1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_get_service1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_get_service_metrics1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_list_addons1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_list_domains1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_list_jobs1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_list_projects1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_list_secret_groups1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_list_service_builds1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_list_services1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_pause_service1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_restart_service1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_resume_service1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_scale_service1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
northflank_trigger_service_build1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
17 tool updates
- First observed
northflank_get_addon - First observed
northflank_get_job - First observed
northflank_get_project - First observed
northflank_get_service - First observed
northflank_get_service_metrics - First observed
northflank_list_addons - First observed
northflank_list_domains - First observed
northflank_list_jobs - First observed
northflank_list_projects - First observed
northflank_list_secret_groups - First observed
northflank_list_service_builds - First observed
northflank_list_services - First observed
northflank_pause_service - First observed
northflank_restart_service - First observed
northflank_resume_service - First observed
northflank_scale_service - First observed
northflank_trigger_service_build
Related MCP Connectors
Deploy and manage your apps, databases, storage, and scheduled jobs from your AI agent
Plan Salesforce deploys, open pull requests and trigger pipelines from your AI client.
Deploy and manage Jade Hosting projects from AI clients. Jade account and OAuth required.
Manage Laravel Forge servers, sites, and deployments from your AI assistant.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceDeploy, manage, and scale applications directly from your AI assistant.5-
- AlicenseAqualityDmaintenanceEnables management of Railway.app infrastructure through natural language, including deploying services, managing environment variables, monitoring deployments, and controlling project resources.36363 npmMIT
- AlicenseAqualityDmaintenanceEnables management of Railway.app infrastructure through natural language, including deploying services, managing environment variables, monitoring deployments, and handling databases and volumes.36363 npmMIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to manage cloud infrastructure through natural language by providing a unified interface to the Dokploy platform. Supports Docker containers, applications, databases, domains, monitoring, and deployment operations through conversational commands.27 npm1-
Glama MCP Gateway
Add one secure layer between your agents and this server.