@savvy-web/mcp
v1.8.1
Published
The savvy MCP server — Silk Suite tooling and library knowledge for coding agents
Downloads
7,034
Readme
@savvy-web/mcp
The savvy-mcp Model Context Protocol server. It serves Silk Suite tooling to coding agents as structured tools, so an agent can read workspace facts and run Silk checks instead of parsing console output or guessing. It is a tools-only server — ten tools, no resources.
Install
npm install --save-dev @savvy-web/mcp
# or
pnpm add -D @savvy-web/mcpThe Silk Suite Claude Code plugins spawn this server for you, so you rarely install it directly. Installing @savvy-web/silk also brings it in.
Quick start
The server speaks MCP over stdio and is meant to be spawned by an MCP client. A client declares it like this:
{
"mcpServers": {
"savvy-mcp": {
"command": "savvy-mcp",
"args": ["."]
}
}
}The single positional argument is the project directory; if omitted, the server resolves it from SAVVY_MCP_PROJECT_DIR, then CLAUDE_PROJECT_DIR, then the current working directory.
To exercise it by hand during development, run it through the MCP inspector:
npx @modelcontextprotocol/inspector savvy-mcp .
# opens the inspector UI against a live savvy-mcp instanceTools
workspace_info— returns a flat, structured projection of the workspace analysis: linked and fixed package groups as name arrays plus resolved registry targets. Backed by the samesilk-effectsanalyzer thesavvyCLI uses.turbo_inspect— read-only Turborepo inspection overturbo --dry: diagnose a task's per-package cache hits, derive the task graph or list the packages affected by recent changes. It never runs a task. Backed by the samesilk-effectsTurboinspector an agent would otherwise drive by hand.changeset_inspect— read-only changeset analysis for release work:mode=branchdiffs the current branch against its base and attributes every changed file to its owning package,mode=configsurfaces the resolved.changeset/config.jsonwith its release surfaces, version files and ignore list, andmode=classifyreports how the branch's pending changesets classify each package's bump. It never writes a changeset. Backed by the samesilk-effectschangeset services thesavvyCLI uses.changeset_validate— read-only validation of the files in a changeset directory against the section-aware rules, returning typed diagnostics (file, rule, line, column, message) plus an ok flag and error count. Use it instead of shelling out tosavvy changeset lint.changeset_preview— read-only preview of the next release: it runs the genuine changesets engine over the pending changesets and returns each package's version bump (old to new) plus the rendered CHANGELOG block, exactly as it would ship. It never mutates the repo. Backed by the samesilk-effectsrelease planner thesavvy changeset versioncommand applies.changeset_deps_detect— read-only preview of the cumulative dependency diff (merge-base to working tree): one entry per affected workspace package with its resolved dependency-table rows,catalog:/workspace:specifiers resolved to concrete versions. It never writes a changeset. Backed bysilk-effects'Changesets.DepsRegen.plan.changeset_deps_regen— regenerates pure-dependency changesets: deletes stale ones and writes fresh single-package, patch-bump changesets from the cumulative dependency diff. Mutating unlessdryRunis set, in which case it reports what it would delete and write without touching the filesystem. Backed bysilk-effects'Changesets.DepsRegen.biome_check— run Biome over a path and get structured diagnostics back:mode=check(lint, format and organize-imports) ormode=lint. Unlike most of the other tools it can mutate — passwritefor safe fixes orunsafefor unsafe ones (both git-reversible) — so it returns the same diagnostics the Biome LSP surfaces for files you have edited.repos_inspect— read-only inspection of vendored repositories:mode=statusreports per-repo presence, the gitlink commit, working-tree dirtiness, and stale note ids;mode=configsurfaces the validated.repos/config.jsonmanifest and its entries. Returns markdown-escaped output since vendored-repo content is untrusted input. Backed by the samesilk-effectsReposservices thesavvyCLI uses.repos_manage— manages vendored repositories (mutating counterpart to repos_inspect):action=syncinitializes any missing submodules (git submodule update --init --depth 1), applies sparse-checkout from the manifest, and clears stale git locks;action=pinfetches and checks out the new ref, staging the updated gitlink and manifest;action=addadds a new repo entry;action=noteappends a short note to a repo. Pin and add stage git changes for the caller to commit. Backed by the samesilk-effectsReposservices thesavvyCLI uses.
