Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ai.shipeasy/mcp

NPM · @SHIPEASY/MCP · 2 COMPONENTS

Feature flags, A/B experiments, kill switches, dynamic config & i18n — Shipeasy MCP server.

0 this week 94 Trust /100

Last scanned (14 hours ago)

Scores higher than 97% of npm servers

Category Developer Tools

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to shipeasy-ai/shipeasy). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 41944 tokens (~233/item across 180 items; 180 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • Stability check failed: the tool surface changed between 2.8.0 and 2.16.0: 0 tool removals, 1 breaking changes, 65 additions. See how to fix → Fail
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 95% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 17 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 180 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Schema quality: 32639 → 41944 ▼ functional
    • Package version: 2.15.0 → 2.16.0 functional
  • 3 Nov 26 0
    • Package version: 2.14.0 → 2.15.0 functional
  • 1 Nov 26 +25
    • Malware scan: unverified → pass ▲ security
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 0.86 ▲ functional
    • Package version: 2.13.0 → 2.14.0 functional
  • 31 Oct 26 −25
    • Known CVEs: pass → unverified ▼ security
    • Malware scan: pass → unverified ▼ security
    • Schema quality: 28716 → 31766 ▼ functional
    • Dependency health: 0.86 → unverified ▼ functional
    • Package version: 2.10.0 → 2.13.0 functional
    • Package version: 2.10.0 → 2.12.1 functional
    • Package version: 2.10.0 → 2.12.0 functional
  • 29 Oct 26 0
    • Package version: 2.9.0 → 2.10.0 functional
  • 27 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 26 Oct 26 −16
    • Malware scan: pass → unverified ▼ security
    • Stability: pass → fail ▼ security
    • Schema quality: 194 → 219 ▼ functional
    • Package version: 2.8.0 → 2.9.0 functional
  • 21 Oct 26 +1
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/@shipeasy/mcp@2.16.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo shipeasy-ai/shipeasy
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/shipeasy-ai/shipeasy/.github/workflows/publish-mcp.yml@refs/heads/main
Rekor log index 3692077079
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:c36cf6859854f870be363435a95b68c6d35240e2de58a1b8a5964cb153e7cc7a120d77001328ef46020b4d8be7035fa1b0d36c81b493fe0d0112b13e0

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 180 exposed · ~41,944 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
trails_attribute ~186

Attribute an item to a trail. Record that an error, alert or bug was caused by the trail after it merged. Errors carry no release or commit SHA, so attribution is a judgement: compare the stack frames and the error's subject against each candidate trail's changed files (`trails get --files`) and resources,…

NameTypeReqDescription
confidencestringyesHow sure an attribution is. `high` and `medium` attach the item to the trail; `low` records a suspect for a person to confirm or reject.
evidencestringyesConcrete evidence: a stack frame in a changed file, the failing call touching a resource of the trail, or a guard metric of the trail.
handlestringyesThe trail's handle (`T-12`) or its id.
itemstringyesThe error, alert or bug to attribute (number or id).

No output schema declared.

No examples provided.

trails_close ~122

Close a trail. Close a trail by hand — abandoned, superseded, or shipped with discovered items still open. A trail also closes on its own once it is `shipped` with no discovered item open at `high` priority or above. Closing never merges or closes pull requests. A trail closed with nothing m…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
reasonstring–Why the trail is being closed, e.g. `abandoned` or `superseded by T-14`.

No output schema declared.

No examples provided.

trails_confirm_suspect ~136

Confirm a suspected regression. Confirm a suspect: the item goes onto the trail with source `post_merge` and the suspect's evidence is kept. A person's call — the restricted ops key cannot confirm.

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
suspectIdstringyesA resource path identifier — an opaque `xxx_<ULID>` id (~30 chars) or the resource's `name`/`key`. 1–128 characters; the upper bound matches the longest name/key any resource accepts, so an over-long…

No output schema declared.

No examples provided.

trails_create ~540

Create a trail. Creates a trail in `planning`. A trail is created on purpose — nothing makes one implicitly. Create one from scratch with a `title` and a `body` (the outcome and the acceptance criteria), or press **Ship this** on a queue item with `originItem`: the item's description seeds th…

NameTypeReqDescription
autopilotobject–Turn a trail's autopilot on or off, and set the limits it acts inside. Turning it ON needs the `autopilot` capability (admins have it) and a person's identity — a dashboard session or a signed-in CLI…
bodystring–The intent in markdown — the outcome and the acceptance criteria.
goal––The metric the trail is meant to move, or `null` for none.
health––A health a person sets, or `null` (the default) to have it derived.
intakeobject–What the creation dialog already decided — each field is a plan question answered in advance. The plan run asks only what is left out. Omitted entirely, the plan asks everything ("let the plan ask me…
listTokenstring–REQUIRED. The `listToken` returned by the most recent `trails_list` call. It proves you listed existing trails and confirmed this one doesn't already exist before creating it. Call `trails_list` firs…
originItemstring–Ship this: a queue item (number or id) to create the trail from. Its description seeds `body` when that is omitted, and it becomes the trail's first item with source `origin`.
ownerConnectorId––The agent connector to own the trail, or `null`.
ownerId––The `users.id` of the person to own the trail, or `null`.
priority––Initial triage priority, or `null`.
reposarray–Repos (`owner/repo`) the trail may open changes in.
startDate––The calendar day work starts (`YYYY-MM-DD`), or `null`.
targetDate––The calendar day the trail is meant to ship by (`YYYY-MM-DD`), or `null`.
titlestringyesOne-line statement of the intent.
typestring–What a trail is shipping. A `feature` trail is held to the rollback and measured release gates.

No output schema declared.

No examples provided.

trails_get ~125

Show a trail. A trail followed from intent to release: its phase, every change (each a pull request) with its latest push, merge gates, CI checks, each review agent's eval next to its last five, every finding (open first, worst first, `stale` when raised on an earlier push), approvals and p…

NameTypeReqDescription
filesboolean–Include each merged change's full `changedFiles` list. Omitted, `changedFiles` is `null`.
handlestringyesThe trail's handle (`T-12`) or its id.

No output schema declared.

No examples provided.

trails_items_add ~161

Put an existing item on a trail. Attach an existing queue item to the trail, recorded with source `attached`, optionally into a milestone (`milestoneId`). An item is on at most one trail; one already on another trail is refused with `409`. To file a *new* item on a trail, use `ops bug --trail` or `ops feature…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
itemstringyesThe queue item to put on the trail (number or id). An item is on at most one trail.
milestoneIdstring–The milestone to put the item in (`TrailMilestone.id`). Omitted, the item is in no milestone.

No output schema declared.

No examples provided.

trails_items_move ~161

Move an item to a milestone. Move an item on the trail into a milestone, or out of every milestone with `milestoneId: null`. The item stays on the trail and keeps its discovery record; only the milestone it counts toward changes. An item that is not on the trail is `404`, and so is a milestone of another …

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
itemHandlestringyesA queue item's per-project number (e.g. `12`, `#12` also accepted) or its full id.
milestoneId–yesThe milestone to move the item into (`TrailMilestone.id`), or `null` to take it out of every milestone.

No output schema declared.

No examples provided.

trails_items_remove ~104

Take an item off a trail. Detach a queue item from the trail. The item stays in the queue; only its link to the trail and its discovery record go. The trail's origin item cannot be detached.

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
itemHandlestringyesA queue item's per-project number (e.g. `12`, `#12` also accepted) or its full id.

No output schema declared.

No examples provided.

trails_link_pr ~146

Link a pull request to a trail. Link a pull request to the trail as one of its *changes*. From then on the GitHub webhook records its pushes, the project's review agents score each push, and the merge gates read it. Linking a pull request the trail already has is a no-op; a pull request that belongs to a dif…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
itemstring–The queue item whose run opened the PR (number or id), when there is one. Omitted, the change belongs to the trail itself.
prUrlstringyesThe pull request's URL.

No output schema declared.

No examples provided.

trails_list ~913

List the project's trails — the unit of shipping (an outcome with its items, milestones, pull requests and release tools; each row carries its lead, start and target dates, health and progress). LIST BEFORE YOU CREATE: check no trail already ships this. PAGING: `limit` (1–200) is REQUIRED; pass the previous `next_cursor` as `cursor` for the next page. FILTERS (optional, ANDed, applied in SQL): `scope` = mine | reviewing | ready | releasing | shipped | closed | all (default all); `phase` = planning | building | reviewing | ready | releasing | shipped | closed; `type` = feature | bug | task; `health` = on_track | at_risk | off_track; `owner` = a person or agent (the lead); `q` = substring of title or body. SORT (optional): `sort` = number | title | phase | priority | owner | health | progress | target | changes | findings | items | released | updated | created, `-` prefixed for descending (default `-updated`). ATTRIBUTION: `mergedSince` (ISO-8601) with `touches` (a file path or a resource key) lists the trails that merged in a window and changed a path or link a resource — the candidates for an error or alert that started after a release.

NameTypeReqDescription
cursorstring–Opaque cursor returned in the previous page's `next_cursor`. Omit for the first page.
fstring–The table's filter conditions: a JSON array of `{ "f", "o", "v" }` objects, ANDed. See the operation description for the fields.
healthstring–A trail's effective health — the one a person set, or else the derived one. Derived, first match wins: `off_track` when the target date has passed and the trail has not shipped, or a rollout is `fixi…
limitintegeryesPage size (1–200). A page shorter than `limit` is the last one.
mergedSincestring–ISO-8601 timestamp. Narrow to trails with a change merged at or after it.
ownerstring–Narrow to trails owned by one person OR one agent — a `users.id`, email or display name, or a connector id, display name or handle. Case-insensitive exact match.
phasestring–Where a trail is, derived from its changes and its release resources — `planning` (no change and no open run), `building` (no change yet, a run is working), `reviewing` (a change is open and not ever…
qstring–Case-insensitive substring filter across the trail's title and body.
scopestring–A dashboard tab: `mine` (owned by the caller), `reviewing`, `ready`, `releasing`, `shipped`, `closed`, or `all` (the default, no narrowing).
sortstring–A column id, `-` prefixed for descending (`-updated`). An unknown column is a `400`.
touchesstring–A file path (or path prefix) a merged change changed, or a resource key the trail links. Narrow to trails that touch it.
typestring–What a trail is shipping. A `feature` trail is held to the rollback and measured release gates.
viewstring–`table` answers the dashboard table read (`f`, `sort`, `cursor`, `limit`, `section_counts`, `grouped`). Omitted, `f` and `sort` are still honoured and the envelope is `{ data, next_cursor }`.

No output schema declared.

No examples provided.

trails_milestones_add ~182

Add a milestone to a trail. Add a named stage to the trail, with an optional description and target date. Milestones are ordered: omit `position` to add it last, or pass one to insert it there and move the rest down. Progress is counted per milestone, and the build works the trail milestone by milestone …

NameTypeReqDescription
description––What the milestone delivers, or `null`.
handlestringyesThe trail's handle (`T-12`) or its id.
namestringyesThe milestone's name.
positioninteger–Where to put it in the trail's order, from `0`; the milestones at and after it move down one. Omitted, it goes last.
targetDate––The calendar day it is meant to be done by (`YYYY-MM-DD`), or `null`.

No output schema declared.

No examples provided.

trails_milestones_remove ~85

Remove a milestone from a trail. Remove a milestone. Its items stay on the trail, in no milestone; the milestones after it move up one. Nothing else on the trail changes.

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
milestoneIdstringyesThe milestone's id (`TrailMilestone.id`).

No output schema declared.

No examples provided.

trails_milestones_update ~178

Change a milestone. Rename a milestone, change its description or target date, or move it in the trail's order with `position` (the others shift to make room). Pass at least one field; the rest are left as they are.

NameTypeReqDescription
description––What the milestone delivers; `null` clears it.
handlestringyesThe trail's handle (`T-12`) or its id.
milestoneIdstringyesThe milestone's id (`TrailMilestone.id`).
namestring–The milestone's name.
positioninteger–Move it to this place in the trail's order, from `0`; the others shift to make room.
targetDate––The calendar day it is meant to be done by (`YYYY-MM-DD`); `null` clears it.

No output schema declared.

No examples provided.

trails_pause_autopilot ~113

Pause a trail's autopilot. Stop autopilot on a trail: it answers no more plan questions, approves no plan and merges nothing until a person resumes it. Whatever it already merged or ramped stays; the release controller keeps its own breach policy. Safe to call at any time, and for anyone who can write t…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
reasonstring–Why — shown on the timeline and to the owner.

No output schema declared.

No examples provided.

trails_pause_rollout ~144

Pause a trail's rollout. Pause the release controller on a trail: it stops stepping the flag and watching the guards until the rollout is resumed. The flag stays wherever it is. A trail that ships behind several flags has a rollout per flag; pass `resource` (the flag's trail-resource id or its key) to…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
reasonstring–Why — shown on the release timeline.
resourcestring–The flag to pause — its trail-resource id (`TrailResource.id`) or its key. Omitted, every flag on the trail is paused.

No output schema declared.

No examples provided.

trails_plan_revisions ~99

List a trail's plan revisions. Every approved revision of the trail's plan, newest first: the plan as it was approved, who approved it and when, and what changed since the revision before. A plan is revised by a `replan` run, which re-reads the goal metric, the items' outcomes and project memory and drafts …

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.

No output schema declared.

No examples provided.

trails_promote_finding ~228

Promote a finding to a queue item. Move a finding that is real but out of scope onto the queue. It creates a bug (or a feature request, with `type`) whose description quotes the finding, its path and line, and its push. The new item lands on the trail with source `finding`, and the finding is dismissed as `move…

NameTypeReqDescription
findingIdstringyesA resource path identifier — an opaque `xxx_<ULID>` id (~30 chars) or the resource's `name`/`key`. 1–128 characters; the upper bound matches the longest name/key any resource accepts, so an over-long…
handlestringyesThe trail's handle (`T-12`) or its id.
reasonstringyesWhy the finding is out of scope for this trail. Recorded on the finding.
titlestring–A title for the new item. Defaults to the finding's title.
typestring–What to file the finding as. Defaults to `bug`.

No output schema declared.

No examples provided.

trails_reject_suspect ~139

Reject a suspected regression. Reject a suspect: the item stays where it is, off the trail, and the suspect leaves the trail's suspected regressions. A person's call — the restricted ops key cannot reject.

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
suspectIdstringyesA resource path identifier — an opaque `xxx_<ULID>` id (~30 chars) or the resource's `name`/`key`. 1–128 characters; the upper bound matches the longest name/key any resource accepts, so an over-long…

No output schema declared.

No examples provided.

trails_release_facts ~131

Read a trail's release facts. What the numbers say about how the trail can ship, before anyone picks an approach: the traffic reaching the surface (distinct units a day over the last 28 days), its tier, whether a 50/50 experiment would reach significance within 28 days at the lift the goal asks for (or 5%)…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
proxystring–What to read the traffic from — `metric:<key>`, `event:<name>` or `flag:<key>`.

No output schema declared.

No examples provided.

trails_reopen ~59

Reopen a trail. Reopen a closed trail so its changes can be reviewed and merged again. Its phase is recomputed from its changes and resources.

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.

No output schema declared.

No examples provided.

trails_resources_add ~265

Link a resource to a trail. Link a product entity to the trail with a *role* — what it is for: `ships_behind` (the flag the code ships behind), `rollback` (the kill switch that undoes it), `measures` (the experiment or metric that judges it), `guards` (an alert rule that watches it), `copy` (an i18n key)…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
kindstringyesThe product entities a trail can ship or depend on. `gate` is a feature flag.
resourceKeystringyesThe entity's key (a gate or metric name, an experiment name, an i18n key). It must exist.
rolestring–What a resource is for on the trail — `ships_behind` (the flag the code ships behind), `rollback` (the kill switch that undoes it), `measures` (the experiment or metric that judges it), `guards` (an…

No output schema declared.

No examples provided.

trails_resources_list ~99

List a trail's resources. The flags, configs, kill switches, experiments, metrics, alert rules, events and i18n keys the trail ships or depends on, each with its role and its live state (a flag's prod rollout, an experiment's status and decision, a kill switch's position, an alert's firing state, wheth…

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.

No output schema declared.

No examples provided.

trails_resources_remove ~131

Unlink a resource from a trail. Remove a resource from the trail. The entity itself is untouched; only the trail's link to it goes, and the release gates stop counting it.

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
idstringyesA resource path identifier — an opaque `xxx_<ULID>` id (~30 chars) or the resource's `name`/`key`. 1–128 characters; the upper bound matches the longest name/key any resource accepts, so an over-long…

No output schema declared.

No examples provided.

trails_review ~132

Run the review agents. Launch the project's review agents on a change's latest push now, instead of waiting for the next push. Each agent's eval reads `pending` until its run submits. Agents sharing a coding-agent trigger are reviewed in one run. Review runs spend your own agent quota, not Shipeasy …

NameTypeReqDescription
agentKeysarray–Which review agents to run. Omitted, every enabled one.
handlestringyesThe trail's handle (`T-12`) or its id.
prUrlstring–The change to review. Omitted, the trail's primary change.

No output schema declared.

No examples provided.

trails_start ~286

Start an agent on a trail. Fire the project's coding-agent trigger on the trail. While the trail has no approved plan, this fires a read-only **plan** run: it reads the trail, asks the person how it should ship (straight to main, behind a flag, flag and experiment, kill switch, flag and kill switch) and…

NameTypeReqDescription
agentstring–Which coding agent to fire — `claude`, `cursor`, `copilot` or `jules`. Omitted, the project's coding-agent trigger.
connectorIdstring–A specific trigger connector to fire. Overrides `agent`.
handlestringyesThe trail's handle (`T-12`) or its id.
kindstring–Which run to fire. Omitted, the server picks — `plan` while the trail has no approved plan, else `build`. Asking for `build` before the plan is approved is refused with `409`, and so is asking for `p…
promptstring–Extra instructions appended to the trail prompt.

No output schema declared.

No examples provided.

trails_submit_eval ~352

Submit a review agent's eval. Record one review agent's result on one push of a change: a `value` (0–100 for a score agent, 1/0 for a boolean one), a short `rationale`, and any `findings`. The verdict (pass / warn / fail) is computed from the agent's threshold and polarity. Submitting again for the same pu…

NameTypeReqDescription
agentstring–Your agent type, when you are the review agent.
agentKeystringyesThe review agent's key (from `ops review-agents list`).
findingsarray–Issues to fix, each with a severity, and a file and line when there is one.
handlestringyesThe trail's handle (`T-12`) or its id.
headShastring–The commit reviewed. Omitted, the change's latest push. A sha that is not the latest push is recorded against that push, as history.
prUrlstring–The change reviewed. Omitted, the trail's primary change.
rationalestringyesOne or two sentences on the evidence behind the value.
resourcesarray–Product resources the reviewed diff uses (`getFlag("x")`, `getExperiment("y")`, `t("key")`). They are linked to the trail as detected. A key that does not exist yet becomes a finding.
sessionIdstring–Your session id, so the eval can deep-link to the review run.
valuenumberyes0–100 for a score agent; 1 (yes) or 0 (no) for a boolean one.

No output schema declared.

No examples provided.

trails_submit_plan ~335

Submit a trail's plan. A plan run submits what it worked out: the plan in markdown, the `release` block (how the trail ships, why, and the exact flags, kill switches, experiments and tracking — events, metrics, alert rules — the build will create; no release tool for `straight_to_main`), the `breakd…

NameTypeReqDescription
breakdownobject–The milestones and items a plan breaks the trail into. Nothing is filed while the plan is a draft; approving creates the milestones and files the items. `workKind` defaults to `code`.
handlestringyesThe trail's handle (`T-12`) or its id.
marketingobject–The plan's marketing strategy — tracked, never executed. Every channel is also a breakdown item of the same title with `workKind` `marketing`, so it has an owner, a status and a place on the timeline.
planstringyesThe plan in markdown — the approach, the files and repos it touches, the order of the work, how each acceptance criterion is met, and the risks.
releaseobjectyesHow the trail ships. The person answers this while the plan is made; the build run creates exactly the resources listed (none for `straight_to_main`), and the Plan gate checks they exist.
sourcesarray–What the plan rests on in project memory (`ops memory search`) and earlier tickets and trails, each with what it settled.
summarystring–For a replan, what changed since the last approved revision. Recorded on the revision.

No output schema declared.

No examples provided.

trails_timeline ~149

Read a trail's timeline. Everything that happened on the trail, newest first: created, plans approved, questions asked and answered (on the trail and on its items), runs, items filed and done, pull requests opened, approved and merged, every rollout step, pull-back and autopilot action, the goal watch…

NameTypeReqDescription
beforestring–ISO-8601 time; only events strictly before it (the `next` of the previous page).
decisionsboolean–Only the decisions.
handlestringyesThe trail's handle (`T-12`) or its id.
limitinteger–Most events to return (1-200). Defaults to 50.

No output schema declared.

No examples provided.

trails_unlink_pr ~91

Unlink a pull request from a trail. Detach a pull request from the trail. Its recorded pushes, evals, findings and approvals stay in history but no longer count toward the trail's gates. A merged change cannot be unlinked.

NameTypeReqDescription
handlestringyesThe trail's handle (`T-12`) or its id.
prUrlstringyesThe pull request's URL.

No output schema declared.

No examples provided.

trails_update ~374

Change a trail. Change a trail's title, intent, type, priority, owner (the lead), repo scope, start and target dates, health, goal or autopilot. Pass at least one field; the rest are left as they are. Changing the type changes which release gates apply.

NameTypeReqDescription
autopilotobject–Turn a trail's autopilot on or off, and set the limits it acts inside. Turning it ON needs the `autopilot` capability (admins have it) and a person's identity — a dashboard session or a signed-in CLI…
bodystring––
goal––Replaces the trail's goal; `null` clears it.
handlestringyesThe trail's handle (`T-12`) or its id.
health––Set the health by hand; `null` goes back to the derived health.
ownerConnectorId––The agent connector owner; `null` unassigns.
ownerId––The `users.id` of the person owner; `null` unassigns.
priority––Triage priority; `null` clears it.
reposarray–Replaces the trail's repo scope.
startDate––The calendar day work starts (`YYYY-MM-DD`); `null` clears it.
targetDate––The calendar day the trail is meant to ship by (`YYYY-MM-DD`); `null` clears it.
titlestring––
typestring–What a trail is shipping. A `feature` trail is held to the rollback and measured release gates.

No output schema declared.

No examples provided.

trails_update_finding ~254

Resolve or dismiss a finding. Set a finding's status — `resolved` (it was fixed; say how in `reason`), `dismissed` (it is not a problem; say why), or back to `open`. A finding that is real but out of scope is not dismissed: promote it with `trails promote-finding`.

NameTypeReqDescription
agentstring–Your agent type, when an agent is resolving the finding.
findingIdstringyesA resource path identifier — an opaque `xxx_<ULID>` id (~30 chars) or the resource's `name`/`key`. 1–128 characters; the upper bound matches the longest name/key any resource accepts, so an over-long…
handlestringyesThe trail's handle (`T-12`) or its id.
reasonstring–Why — the fixing commit, or why it is not a problem.
statusstringyesA finding stays `open` until it is `resolved` (fixed) or `dismissed` (not a problem). A finding raised on an earlier push is reported `stale` but stays open until somebody decides.

No output schema declared.

No examples provided.

trails_update_plan ~252

Edit a trail's plan. A person edits the plan text, the release block (strategy, reason, the resources to create) or the breakdown (milestones and items). Pass at least one field. Any edit puts the plan back to `drafted`, so it needs approving again; a trail with no plan yet gets one this way. Not …

NameTypeReqDescription
breakdownobject–The milestones and items a plan breaks the trail into. Nothing is filed while the plan is a draft; approving creates the milestones and files the items. `workKind` defaults to `code`.
handlestringyesThe trail's handle (`T-12`) or its id.
marketingobject–The plan's marketing strategy — tracked, never executed. Every channel is also a breakdown item of the same title with `workKind` `marketing`, so it has an owner, a status and a place on the timeline.
planstring–The plan in markdown.
releaseobject–How the trail ships. The person answers this while the plan is made; the build run creates exactly the resources listed (none for `straight_to_main`), and the Plan gate checks they exist.

No output schema declared.

No examples provided.

whoami ~57

Show the current project. Returns the project the caller's auth header resolves to — plan, status, billing, and which modules are enabled. The server reads the project from the credential, so there is no id parameter. Powers `whoami`.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Install

How do I install the ai.shipeasy/mcp server?

ai.shipeasy/mcp runs locally as an npm package, launched with npx -y @shipeasy/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @shipeasy/mcp

# add to Claude Code
claude mcp add ai-shipeasy-mcp -- npx -y @shipeasy/mcp
Common questions

What is the ai.shipeasy/mcp server?

ai.shipeasy/mcp is listed in the public MCP registry as ai.shipeasy/mcp. Feature flags, A/B experiments, kill switches, dynamic config & i18n, Shipeasy MCP server. This page covers its npm package (@shipeasy/mcp).

Is the ai.shipeasy/mcp server safe to use?

ai.shipeasy/mcp scores 94 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ai.shipeasy/mcp server expose?

ai.shipeasy/mcp exposes 180 tools: projects_upsert, auth_check, auth_login, auth_logout, api_keys_create, and 175 more. Their descriptions and schemas cost roughly 41,944 tokens of context every time the server is loaded.

Is the ai.shipeasy/mcp server still maintained?

ai.shipeasy/mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the ai.shipeasy/mcp server under?

ai.shipeasy/mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.