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 · SCANNED SEP 21

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

Available components

0 this week 93 Trust /100
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
  • 31 of 98 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 55 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
  • 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 22388 tokens (~194/item across 115 items; 115 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 Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 115 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
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
// .cursor/mcp.json
{
  "mcpServers": {
    "ai-shipeasy-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@shipeasy/mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ai-shipeasy-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@shipeasy/mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add ai-shipeasy-mcp -- npx -y @shipeasy/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-shipeasy-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@shipeasy/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-shipeasy-mcp --command npx --arg -y --arg @shipeasy/mcp
# ~/.hermes/config.yaml
mcp_servers:
  ai-shipeasy-mcp:
    command: "npx"
    args: ["-y", "@shipeasy/mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ai-shipeasy-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@shipeasy/mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add ai-shipeasy-mcp -t stdio -c npx -a -y @shipeasy/mcp
// mcp.json
{
  "mcpServers": {
    "ai-shipeasy-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@shipeasy/mcp"
      ]
    }
  }
}
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.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 10 Sept 26 +1
    • Stability: 0.97 → pass security
  • 8 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

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 21 Sept 2026 · Analysed npm/@shipeasy/mcp@2.8.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 2261052342
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:0fa95a914595dbb959af7a7eb4185bcda3d04cac56c8c47b8df9665356898cd2add7341ba0e3f62d879d805c3615304af9a5ee6cb84e0929620ac1f97

Background: How many MCP packages publish verified provenance →

Dependencies 98 packages
Packages resolved 98
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 115 exposed · ~22,388 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
release_flags_templates_archive ~108

Delete a gate template. Soft-deletes (archives) a **customer** template. Returns `409` if `id` names a read-only built-in template.

NameTypeReqDescription
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.

release_flags_templates_create ~205

Create a gate template. Creates a per-project (customer) targeting-rule template. Built-ins are read-only and cannot be created here. Returns `409` if a template with this `name` already exists in the project.

NameTypeReqDescription
autobooleanMark the attribute as request-derived (resolved at the SDK edge).
categorystring
descriptionstringOne-liner shown in pickers and matched by the list `query` filter.
icon_keystringDisplay-only icon hint.
listTokenstringREQUIRED. The `listToken` returned by the most recent `release_flags_templates_list` call. It proves you listed existing release flags templates and confirmed this one doesn't already exist before cr…
namestringyesHuman label. Unique per project.
rulesarrayyesThe rule definition captured by the template.

No output schema declared.

No examples provided.

release_flags_templates_get ~108

Get one gate template. Returns a single template by its `id` — a built-in slug (`country`) or a customer `gtpl_…` id.

NameTypeReqDescription
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.

release_flags_templates_list ~146

List gate templates. Returns the merged targeting-rule template catalog — read-only **built-ins first** (the `@team`/`@owner` audience aliases, country, email-domain, region presets, …), then this project's **customer** templates. Each item carries a `rules: [{ attr, op, value }]` definition; the …

NameTypeReqDescription
qstringCase-insensitive substring filter across the resource's human-readable text columns (e.g. `name`, `title`, `description`). OR-matched across those columns; omit to return everything.
querystringDeprecated alias for `q`, kept working for one release. Prefer `q`.

No output schema declared.

No examples provided.

release_flags_templates_update ~154

Update a gate template. Partial update of a **customer** template. `rules` replaces the list wholesale. Returns `409` if `id` names a read-only built-in template.

NameTypeReqDescription
autoboolean
categorystring
descriptionstring
icon_key
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…
namestring
rulesarray

No output schema declared.

No examples provided.

release_flags_update ~506

Update a feature gate. Partial update — only supplied fields change. Array fields (`rules`, `stack`) **replace** wholesale; there is no merge or append.

NameTypeReqDescription
descriptionstringLong-form description / runbook. Markdown is rendered in the dashboard.
enabledbooleanMaster switch. `false` makes the gate evaluate to `false` for every caller regardless of `rollout_pct`, `rules`, or `stack` — use as kill switch.
folderOptional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`).
groupstringGroup label for dashboard organisation (e.g. team or product area).
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…
owner_emailstringOwner contact. Displayed verbatim; not used for auth.
rollout_pctintegerNew rollout in **basis points** (0–10000 = 0%–100%) — `100` here means **1%**. Use `rollout_percent` (0–100) below for percent. Omit both to leave unchanged.
rollout_percentnumberNew rollout as a **percentage** (0–100). Friendlier alias for `rollout_pct`; converted internally. Wins over `rollout_pct` if both are supplied. Omit both to leave unchanged.
rulesarrayReplaces the rule list wholesale. To add a value to an `in` rule, send the full new `rules` array with the augmented `value` (e.g. previous `['US','CA']` → `['US','CA','GB']`).
stackReplaces the gatekeeper stack wholesale. Send `null` to revert to flat `rules` + `rollout_pct` evaluation.
titlestringHuman-readable title shown in the dashboard. Free-form, no key format constraint.
typestringGate kind. Switching to `holdout` requires the gate carry only a public rollout % + whitelist (attribute rules / stack are rejected).

No output schema declared.

No examples provided.

release_killswitch_archive ~102

Delete a killswitch. Soft-deletes the killswitch and rebuilds the project's flags KV blob so SDKs stop seeing it.

NameTypeReqDescription
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.

release_killswitch_create ~266

Create a killswitch. Creates a new killswitch with `value` (default `false`) applied to **every** env at version 1.

NameTypeReqDescription
descriptionstringOptional free-form description shown in the dashboard. Max 512 chars.
folderOptional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`).
listTokenstringREQUIRED. The `listToken` returned by the most recent `release_killswitch_list` call. It proves you listed existing release killswitch and confirmed this one doesn't already exist before creating it.…
namestringyesStable config/killswitch key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Immutable after create.
switchesobjectInitial per-switch overrides applied to every env. Empty/omitted leaves the killswitch with only the flat `value`.
valuebooleanDefault value applied to every env at creation. Defaults to `false`. Use `true` to ship the killswitch pre-tripped.

No output schema declared.

No examples provided.

release_killswitch_get ~105

Get one killswitch. Returns the killswitch metadata plus the latest published `value`/`switches`/`version` per env.

NameTypeReqDescription
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.

release_killswitch_list ~143

List killswitches. Returns a single page of killswitches ordered by `updated_at desc, id desc`. Each row includes the latest published `value`/`switches`/`version` per env.

NameTypeReqDescription
cursorstringOpaque cursor returned in the previous page's `next_cursor`. Omit for the first page.
limitintegerPage size (1–500). Defaults to 100.
qstringCase-insensitive substring filter across the resource's human-readable text columns (e.g. `name`, `title`, `description`). OR-matched across those columns; omit to return everything.

No output schema declared.

No examples provided.

release_killswitch_set ~170

Set one switch entry. Sets or updates a single `switchKey` on a single `env`. Publishes one new version on that env only — other envs untouched.

NameTypeReqDescription
envstringyesTarget environment. One of the project's configured envs (`dev`, `staging`, `prod`).
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…
switchKeystringyesSwitch key to set.
valuebooleanyesNew boolean value for this `switchKey` on this `env`.

No output schema declared.

No examples provided.

release_killswitch_set_value ~168

Set the flat value on one env. Sets the flat `value` on a single `env`, publishing one new version on that env only. `switches` and other envs are untouched.

NameTypeReqDescription
envstringyesTarget environment. One of the project's configured envs (`dev`, `staging`, `prod`).
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…
valuebooleanyesFlat boolean to publish on `env`. Publishes a new version on that env only.

No output schema declared.

No examples provided.

release_killswitch_unset ~150

Remove one switch entry. Removes a single `switchKey` from the `switches` map on a single `env`. Publishes a new version on that env.

NameTypeReqDescription
envstringyesTarget environment. One of the project's configured envs (`dev`, `staging`, `prod`).
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…
switchKeystringyesSwitch key to remove.

No output schema declared.

No examples provided.

release_killswitch_update ~237

Update a killswitch. Partial update applied to **every** env. Setting `value`/`switches` publishes a new version per env. Description-only patches don't bump versions.

NameTypeReqDescription
descriptionNew description, or `null` to clear it. Max 512 chars.
folderOptional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`).
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…
switchesobjectReplace the switches map wholesale on every env. To edit a single entry on a single env use `PUT /{id}/switch` instead.
valuebooleanFlat value applied to every env. Publishes a new version per env when set. Omit to leave values unchanged.

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.

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 93 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 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 115 tools: projects_upsert, auth_check, auth_login, auth_logout, errors_get, and 110 more. Their descriptions and schemas cost roughly 22,388 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 21 September 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.