ai.shipeasy/mcp
NPM · @SHIPEASY/MCP · SCANNED AUG 3
Feature flags, A/B experiments, kill switches, dynamic config & i18n — Shipeasy MCP server.
Available components
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 →
Supply Chain Security88
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (97 of 101), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (97 of 101), so this covers what we could see, not the whole tree. 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 6 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability72
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).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 Management26
- Stability check failed: the tool surface changed between 2.5.0 and 2.8.0: 0 tool removals, 1 breaking changes, 0 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
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @shipeasy/mcp
claude mcp add ai-shipeasy-mcp -- npx -y @shipeasy/mcp
codex mcp add ai-shipeasy-mcp -- npx -y @shipeasy/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-shipeasy-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@shipeasy/mcp"
],
"enabled": true
}
}
} openclaw mcp add ai-shipeasy-mcp --command npx --arg -y --arg @shipeasy/mcp
mcp_servers:
ai-shipeasy-mcp:
command: "npx"
args: ["-y", "@shipeasy/mcp"] {
"mcpServers": {
"ai-shipeasy-mcp": {
"command": "npx",
"args": [
"-y",
"@shipeasy/mcp"
]
}
}
} 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.
- 3 Aug 26 −2
No change was recorded against any check on this day. Supply Chain Security went from 97 to 88. Other categories moved too: Stability & Change Management rose 3.
- 2 Aug 26 +44
- Known CVEs: unverified → partial ▲ security
- Provenance: unverified → pass ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- The attested source repository moved: shipeasy-ai/shipeasy security
- Maintenance: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- License: unverified → pass ▲ functional
- Licence: MIT functional
- 31 Jul 26 −2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −34
- Install scripts: pass → unverified ▼ security
- Provenance: pass → unverified ▼ security
- Known CVEs: partial → unverified ▼ security
- The attested source repository moved: shipeasy-ai/shipeasy security
- License: pass → unverified ▼ functional
- Dependency health: partial → unverified ▼ functional
- Maintenance: pass → unverified ▼ functional
- Licence: MIT functional
- 28 Jul 26 +67
- Known CVEs: unverified → partial ▲ security
- Provenance: unverified → pass ▲ security
- Install scripts: unverified → pass ▲ security
- The attested source repository moved: shipeasy-ai/shipeasy security
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Schema quality: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 95 functional
- First check of Schema quality: good functional
- Licence: MIT functional
- 27 Jul 26 6
First indexed and scored.
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 3 Aug 2026 · Analysed npm/@shipeasy/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- 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
- Discovery method:
- attestation_endpoint
Dependencies 97 packages
97 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | A 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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto | boolean | — | Mark the attribute as request-derived (resolved at the SDK edge). |
| category | string | — | — |
| description | string | — | One-liner shown in pickers and matched by the list `query` filter. |
| icon_key | string | — | Display-only icon hint. |
| listToken | string | — | REQUIRED. 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… |
| name | string | yes | Human label. Unique per project. |
| rules | array | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | A 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 …
| Name | Type | Req | Description |
|---|---|---|---|
| q | string | — | Case-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. |
| query | string | — | Deprecated 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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto | boolean | — | — |
| category | string | — | — |
| description | string | — | — |
| icon_key | — | — | — |
| id | string | yes | A 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… |
| name | string | — | — |
| rules | array | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Long-form description / runbook. Markdown is rendered in the dashboard. |
| enabled | boolean | — | Master switch. `false` makes the gate evaluate to `false` for every caller regardless of `rollout_pct`, `rules`, or `stack` — use as kill switch. |
| folder | — | — | Optional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`). |
| group | string | — | Group label for dashboard organisation (e.g. team or product area). |
| id | string | yes | A 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_email | string | — | Owner contact. Displayed verbatim; not used for auth. |
| rollout_pct | integer | — | New 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_percent | number | — | New 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. |
| rules | array | — | Replaces 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']`). |
| stack | — | — | Replaces the gatekeeper stack wholesale. Send `null` to revert to flat `rules` + `rollout_pct` evaluation. |
| title | string | — | Human-readable title shown in the dashboard. Free-form, no key format constraint. |
| type | string | — | Gate 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | A 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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Optional free-form description shown in the dashboard. Max 512 chars. |
| folder | — | — | Optional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`). |
| listToken | string | — | REQUIRED. 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.… |
| name | string | yes | Stable config/killswitch key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Immutable after create. |
| switches | object | — | Initial per-switch overrides applied to every env. Empty/omitted leaves the killswitch with only the flat `value`. |
| value | boolean | — | Default 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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | A 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Opaque cursor returned in the previous page's `next_cursor`. Omit for the first page. |
| limit | integer | — | Page size (1–500). Defaults to 100. |
| q | string | — | Case-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.
| Name | Type | Req | Description |
|---|---|---|---|
| env | string | yes | Target environment. One of the project's configured envs (`dev`, `staging`, `prod`). |
| id | string | yes | A 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… |
| switchKey | string | yes | Switch key to set. |
| value | boolean | yes | New 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.
| Name | Type | Req | Description |
|---|---|---|---|
| env | string | yes | Target environment. One of the project's configured envs (`dev`, `staging`, `prod`). |
| id | string | yes | A 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… |
| value | boolean | yes | Flat 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.
| Name | Type | Req | Description |
|---|---|---|---|
| env | string | yes | Target environment. One of the project's configured envs (`dev`, `staging`, `prod`). |
| id | string | yes | A 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… |
| switchKey | string | yes | Switch 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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | — | — | New description, or `null` to clear it. Max 512 chars. |
| folder | — | — | Optional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`). |
| id | string | yes | A 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… |
| switches | object | — | Replace the switches map wholesale on every env. To edit a single entry on a single env use `PUT /{id}/switch` instead. |
| value | boolean | — | Flat 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.