
Skill Steward MCP
io.github.ArenukvernPublished by GitHub account Arenukvernv0.7.1Updated Nov 14, 2026
Experimental read-only Steward MCP: list/inspect actions, doctor, explain (stdio).
Overview
Read-only MCP front end to the Skill Steward CLI, letting an assistant list and inspect repo-local actions, run a contract doctor check, and explain blocked…
- What you can do
- List typed repo-local actions with their safety and effect summaries
- Inspect one exact action contract before any execution
- Run a doctor check of the local Steward contract without running actions
- Explain blocked Steward JSON as next actions and artifact routes
- Read-only only: no action execution over MCP
- When to use it
- Useful when a repository already uses Skill Steward and you want an assistant to read its declared actions, contracts and blocked benchmark results without running anything. It is an experimental, read-only surface, so it suits inspection and routing rather than automation.
- Requirements
- Runs as a local stdio process, either via the published OCI image (Docker) or the steward mcp command after installing the steward binary. The container is typically started with the working directory mounted read-only. No authentication, environment variables or headers are declared.
Installation
In SourceWeft
- Open Skill Steward MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
steward_cli
Bounded stewardship CLI for Skill Steward. Product CLIs live in their own repos — see ADR 0006.
Commands
The CLI is bounded by stewardship ownership, not by command count. Use these public jobs as the mental model; they are not aliases unless a command is shown below.
Command stability tiers:
Cold-start proof starts with the claim question: what can this repo honestly claim right now? The loop assumes the steward command is installed or activated; see Portable invocation hierarchy for the supported paths.
The schema commands sit in the loop because this dogfood route depends on machine-readable payloads. They catch route drift; they do not prove repo maturity.
Benchmark execution is durability-gated. If source.steward_contract or a file-backed scenario manifest is modified or untracked, the summary must return result: blocked with blocked_by: durability_blocked; track or commit those contract inputs, then rerun the same benchmark for executable proof. The built-in contract-status-smoke scenario proves contract discovery and durability gating only when it returns result: "pass"; it does not prove full agent navigation or diagnosis.
When a fresh command returns blocked JSON, route it directly:
Use steward blocked explain --input .steward/benchmark-summaries/<scenario>.json --json only when routing an existing persisted summary. The explanation chooses the next artifact route; it does not repair the repo or turn blocked evidence into proof.
Repository ecology review inventory:
The snapshot gathers Steward config status, declared action/probe inventory, benchmark declarations and summaries, schema output status, git state, active plan candidates, and evidence pointers. ecology route composes those facts into North Star dispositions: orient, compress, validate, tutor pain, promote tools, leave native, or stop. It may also emit advisory dispatch_lane_candidates for repo-wide pain, but those hints are not parent lane contracts and never authorize writes. Both commands are read-only; neither executes actions, applies repairs, awards maturity, or proves adoption.
Snapshot benchmark summaries are persisted history from .steward/benchmark-summaries/. The JSON labels them as persisted_history and includes commit/freshness hints; treat may_be_stale: true as a routing signal, not proof failure. Pipe fresh blocked JSON to steward blocked explain --stdin --json; use --output only when a fresh benchmark result should replace persisted history or feed future snapshots.
Minimal evidence bootstrap:
This creates one current ledger at docs/evidence/current-status.mdx. It does not create a proof archive, benchmark, or readiness claim. Use it when the repo needs a durable current-status pointer before it needs typed actions, probes, or benchmark machinery.
Evidence growth loop:
An action-candidate review is evidence, not a contract rewrite. Generated candidates include can_promote_in_this_run: false; promote only after repeated evidence, owner review, narrow effects, native validation, and a strict benchmark.
Development
From repo root: pnpm run steward:analyze
Portable invocation hierarchy
Use the first option that matches the job:
-
Released adopter / CI: install the released binary, then run
steward <command>. -
Dart maintainer from this checkout: run from source without hard-coded SDK or package-config paths.
-
Local clone global activation: activate the checkout package, then use the normal
stewardcommand.
Raw dart --packages=... bin/steward.dart commands are local provenance only. Do not publish them as adopter instructions; they encode one machine's SDK and package-config layout.
Global install from a source checkout (optional):
Distribution
Maintainers: run from a repo clone (commands above). Consumers install public skills with npx skills add arenukvern/skill_steward. Use steward install/update only when a repo intentionally owns a pinned skills.json skill layer for agents and maintainers.
Skill Steward may ship zero-dependency steward binaries for consumer/bootstrap use; see ADR 0014. Product repositories still own their branded harness binaries and release contracts — see skill release-changelog-harness -> references/binary-release-contract.md.
MCP Registry (experimental)
- Registry server:
io.github.Arenukvern/steward-mcp - Manifest:
server.json; OCI image:packages/steward_cli/Dockerfile.registry - Boundary: read-only v1 tools (
steward_list_actions,steward_inspect_action,steward_doctor,steward_explain_result); no action execution over MCP - Local stdio after binary install:
steward mcp(see DX_FAQ) - OCI smoke:
docker run --rm -i -v "$PWD:/workspace:ro" -w /workspace ghcr.io/arenukvern/steward-mcp:<version> - Version drift check:
pnpm run mcp:registry:check(also runs inscripts/tag_release.sh)
Decisions
Source: packages/steward_cli/README.md at commit 41635ea
Tools
0Version history
1- v0.7.1LatestNov 14, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
