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

io.github.YawLabs/mcp

NPM · @YAWLABS/MCP · SCANNED AUG 3

Yaw MCP - one install, every MCP server, managed from yaw.sh/mcp

Available components

+7 this week 56 Trust /100
Trust breakdown (6 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 →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (100 of 104), 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 (100 of 104), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency6
Schema Quality & AI Usability62
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2376 tokens (~237/item across 10 items; 10 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 Management7
  • Stability check failed: the tool surface changed between 0.73.1 and 0.74.0: 2 tool removals, 0 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

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 · @yawlabs/mcp

# add to Claude Code
claude mcp add yawlabs-mcp -- npx -y @yawlabs/mcp
# add to Codex CLI
codex mcp add yawlabs-mcp -- npx -y @yawlabs/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "yawlabs-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@yawlabs/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add yawlabs-mcp --command npx --arg -y --arg @yawlabs/mcp
# ~/.hermes/config.yaml
mcp_servers:
  yawlabs-mcp:
    command: "npx"
    args: ["-y", "@yawlabs/mcp"]
// mcp.json
{
  "mcpServers": {
    "yawlabs-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@yawlabs/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.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7.

  • 2 Aug 26 +55
    • Provenance: unverified → fail security
    • Stability: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • License: unverified → fail functional
    • Security disclosure: unverified → fail functional
    • Schema quality: 3036 → 2376 functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Tool coverage: unverified → 100 functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
    • Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
    • Licence: SEE LICENSE IN LICENSE functional
    • Package version: 0.73.1 → 0.74.0 functional
  • 1 Aug 26 0
    • Stability: Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare. security
    • Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess. functional
    • Capabilities: Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake. functional
    • Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess. functional
  • 31 Jul 26 −6
    • 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 −12
    • Known CVEs: partial → unverified security
    • Dependency health: partial → unverified functional
    • Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
  • 29 Jul 26 +15
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • License: unverified → fail functional
    • Security disclosure: unverified → fail functional
    • Maintenance: unverified → pass functional
    • Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess. functional
    • Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess. functional
    • Licence: SEE LICENSE IN LICENSE functional
    • Package version: 0.73.1 → 0.73.2 functional
  • 28 Jul 26 −46
    • Install scripts: pass → unverified security
    • Provenance: fail → unverified security
    • Known CVEs: partial → unverified security
    • Maintenance: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • License: fail → unverified functional
    • Security disclosure: fail → unverified functional
    • Licence: UNLICENSED functional
    • Package version: 0.73.1 → 0.73.2 functional
  • 27 Jul 26 +32
    • GHSA-frvp-7c67-39w9 no longer affects this package security
    • Known CVEs: fail → partial security
    • Tool coverage: unverified → 100 functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Schema quality: fail functional
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 3 Aug 2026 · Analysed npm/@yawlabs/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 100 packages

100 packages in the resolved dependency tree · 99 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 10 exposed · ~2,376 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.

Tool Tokens
mcp_connect_activate ~275

Load one or more installed MCP servers' tools into the current session by namespace. Each server adds its tools to your context, so load only what the current task needs. When you move on, unload servers you're done with via `mcp_connect_deactivate` before loading new ones. Tools are prefixed by namespace (e.g., "gh_create_issue"). Pass "server" for one or "servers" for multiple. Optionally pass `tools: [...]` to expose only those tools by name — the rest stay proxyable via mcp_connect_dispatch. If `YAW_MCP_MIN_COMPLIANCE` is set, activation refuses servers whose reported grade is below the floor (ungraded servers always pass); the refusal message names the grade and the env var to unset.

NameTypeReqDescription
serverstringSingle server namespace to activate (e.g., "gh")
serversarrayMultiple server namespaces to activate at once (e.g., ["gh", "slack"])
toolsarrayOptional per-server tool filter (bare tool names, not namespace-prefixed). When set, only the listed tools surface in tools/list — others stay reachable via mcp_connect_dispatch. Omit (or re-activate…

No output schema declared.

No examples provided.

mcp_connect_bundles ~250

List curated multi-server 'bundles' — presets like `pr-review` (github + linear) or `devops-incident` (github + pagerduty + slack) that commonly ship together. Use this BEFORE mcp_connect_discover when the user's intent maps to a known workflow (on-call triage, PR review, data pipeline debugging) — it returns a ready-to-run `mcp_connect_activate namespaces=[...]` call per bundle. With `action="match"` (recommended after the user's installed list is known) the response partitions bundles into READY (every namespace already in the user's bundles.json — activate now) and PARTIAL (some present, some missing — names the missing namespaces so you can tell the user to run `yaw-mcp add <slug>`; the slug catalog is at https://yaw.sh/mcp/catalog/). With `action="list"` (default) it returns the full curated catalog. Bundles are static client-side data, not a network call.

NameTypeReqDescription
actionstringEither "list" (return the full curated catalog; default) or "match" (partition bundles against installed servers into ready-to-activate vs partially-installed).

No output schema declared.

No examples provided.

mcp_connect_deactivate ~135

Unload one or more MCP servers' tools from the current session to free context. The server stays configured in ~/.yaw-mcp/bundles.json and can be reloaded via `mcp_connect_activate` when needed again. Unload servers you're done with; yaw-mcp also auto-unloads any server idle for 10+ tool calls to other servers. Pass "server" for one or "servers" for multiple.

NameTypeReqDescription
serverstringThe namespace of the server to deactivate
serversarrayMultiple server namespaces to deactivate at once (e.g., ["gh", "slack"])

No output schema declared.

No examples provided.

mcp_connect_discover ~381

List the MCP servers configured in the user's local ~/.yaw-mcp/bundles.json and ready to use. Call this when browsing what's available or when the task isn't specific yet. If the task is already clear ("file a github issue", "query postgres", "post to slack"), prefer `mcp_connect_dispatch` — it picks the right server and loads its tools in one call. Load only the servers the CURRENT task needs; each one adds tools to your context. Shows names, namespaces, tool counts, a token-cost estimate per server (e.g. "22 tools, ~2.8k tokens") so you can budget context before activating — tilde values are estimates based on cached tool metadata, unprefixed values reflect live tool schemas. Scored servers carry an inline `[A]`–`[F]` compliance grade from the Yaw MCP test suite — treat it as a trust signal and prefer higher-graded alternatives when otherwise equivalent (ungraded servers are unmarked, not penalized). Also surfaces whether each server is loaded, any local CLI it shadows (prefer the MCP tools over the CLI when a shadow is listed), and usage hints ("used Nx" or "often loaded with X") when the signals are present (counts persist across yaw-mcp restarts). Recurring packs that have been loaded together ≥2 times get their own block at the top with a ready-to-run `activate` call — skip the extra `mcp_connect_suggest` round-trip when the signal is already there. If a `yaw-mcp://guide` resource is listed, read it FIRST: it carries project/user-specific routing rules and credential conventions that override generic defaults.

NameTypeReqDescription
contextstringOptional: describe the current task or conversation context. Servers will be sorted by relevance to help you pick the right one.

No output schema declared.

No examples provided.

mcp_connect_dispatch ~304

PREFERRED entry point when the task is already concrete. Picks the best-matching installed MCP server(s) for a natural-language task and loads their tools in ONE call — no separate discover + load step. Describe what you want to do ("create a github issue for the login bug", "post a summary to slack", "query the prod postgres") and yaw-mcp will rank the user's installed servers with BM25, load the top match into the session, and expose its tools so you can call them. Use `mcp_connect_discover` only when browsing what's installed without a specific task. When an installed MCP server shadows a local CLI (e.g. npmjs shadows `npm`, tailscale shadows `tailscale`, github shadows `gh`), prefer dispatching to the server over running the CLI via Bash. Default budget is 1 to keep the tool list focused; raise it only if the task genuinely spans multiple servers. If `yaw-mcp://guide` is listed as a resource, read it first — the project may have explicit routing rules (e.g. "use `gh` not bash for GitHub").

NameTypeReqDescription
budgetnumberHow many top-ranked servers to load into the session. Defaults to 1. Cap is 10. Raise only when one task genuinely spans multiple servers.
intentstringyesWhat you want to accomplish, in plain English (e.g., "file a github issue titled Fix login bug")

No output schema declared.

No examples provided.

mcp_connect_exec ~377

Run a short DECLARATIVE pipeline of upstream tool calls in a single round-trip. Use this when you already know the exact 2-4 tool calls to make and one call's output feeds another's args — e.g. `a = gh_list_prs(); b = gh_get_pr(a[0].number); return b`. NOT a code sandbox: there is no expression language, no loops, no branching, no arithmetic. The only control flow is sequential step execution; the only data-flow primitive is `{"$ref": "<stepId>[.path.to.value]"}` which substitutes a prior step's output (or a nested field of it) into the next step's args. Paths support dot keys and `[N]` / `.N` array indexing. Each step's `tool` must be a namespaced, already-loaded tool name (the exec does not auto-activate — call `mcp_connect_activate` first). Max 16 steps per exec. If any step fails, the whole pipeline fails and returns `{ ok: false, failedStep, error, partial: { ...completed outputs } }`. On success returns `{ ok: true, result: <return-step output>, steps: { ...all outputs } }`. Prefer this over back-to-back tool calls when the chain is deterministic — it saves prompt-token replay and client round-trips.

NameTypeReqDescription
returnstringOptional: id of the step whose output should be surfaced as `result`. Defaults to the last step's id (or its positional index).
stepsarrayyesOrdered list of tool calls to run. Each step is `{ id?: string, tool: string, args?: object }`. `args` values may be `{"$ref": "<stepId>.path"}` to inject a prior step's output.

No output schema declared.

No examples provided.

mcp_connect_health ~52

Show health stats for MCP servers loaded in the current session: total calls, error count, average latency, and last error. Installed-but-unloaded servers aren't included — load them first if you need their stats.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mcp_connect_read_tool ~202

Return one tool's full input schema without loading its server into the session. Use this when you need to inspect an MCP tool's arguments before deciding whether to activate its server, or to compare schemas across two tools. For already-loaded servers this is free (schema is in memory). For not-loaded servers yaw-mcp spawns a transient upstream connection, reads the schema, and tears the connection down — no tools are added to your context, and `mcp_connect_health` will not show the server as loaded. When you're ready to actually call the tool, pass the server namespace to `mcp_connect_activate` (or use `mcp_connect_dispatch` with the task intent).

NameTypeReqDescription
serverstringyesNamespace of the server that exposes the tool (e.g., "gh", "slack").
toolstringyesTool name. The namespace prefix is optional — both "create_issue" and "gh_create_issue" are accepted.

No output schema declared.

No examples provided.

mcp_connect_secrets ~205

List, per installed server, which local-vault secrets its `${secret:NAME}` env references resolve to -- by NAME only, never a value. Use this to confirm a server will get the credentials it needs before activating it, or to spot a typo'd / un-set secret reference. `injectedSecrets` are the names the local vault HAS and the server references; `missing` are names the server references but the vault LACKS (set them via `yaw-mcp secrets set <name>`). This is a values-free preview: it reads the vault's KEY LIST and the server's env-reference NAMES, and never decrypts or returns any secret value. Servers with no `${secret:...}` references are omitted. Requires no passphrase (no decryption happens).

NameTypeReqDescription
serverstringOptional: restrict the report to a single server namespace (e.g. "gh"). Omit to report every installed server that references a vault secret.

No output schema declared.

No examples provided.

mcp_connect_suggest ~195

Surface recurring multi-server tool-call patterns as suggested 'packs' to activate in one step. Observation-only — this never loads or unloads anything. When the same 2-3 servers get used together in short bursts more than once, the pattern is surfaced here so the next workflow can call `mcp_connect_activate` once with the whole pack's namespaces instead of juggling discover + load for each server. Patterns persist across yaw-mcp restarts (via ~/.yaw-mcp/state.json) so a fresh process already knows what you usually use together. As a general rule: prefer loaded MCP servers over matching local CLIs (a loaded `npmjs` server replaces `npm audit`, `tailscale` replaces the `tailscale` CLI, etc.) — see `mcp_connect_discover` for which CLIs each installed server shadows. Returns a friendly 'no patterns yet' message when nothing has recurred.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.