scryer MCP
The scryer MCP server and skill: the agent plans as todo tests, and a C4 map is derived from code and tests, with no docs by hand.
- 122 ★ on the repository
- Last commit
Extended access
Why this level
- Setup edits agent configuration: `.mcp.json`, session hooks and `.claude/settings.local.json` with tool auto-approval.
- A probe deliberately breaks code in an isolated worktree to test a test.
Install
- Works in
Manual install
scryer-mcp setup onFirst download the app from the releases page: `scryer-mcp` ships with it. The command writes MCP, hooks and the skill for detected agents.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Setup edits agent configuration: `.mcp.json`, session hooks and `.claude/settings.local.json` with tool auto-approval.
- A probe deliberately breaks code in an isolated worktree to test a test.
This is third-party code. Review the repository files before installing.
What it does
scryer is a Tauri and Rust desktop app that derives a C4 map from a repository: containers from packaging, components from modules, links from imports and claims from test descriptions. The status of each claim comes from real test runs. The bundled `scryer-mcp` MCP server connects Claude Code, Codex and Copilot CLI to it. The agent calls `orient`, writes each behavior it plans to deliver as a one-sentence todo test, builds, and runs only the tests named by `get_test_radius`. A JUnit report goes in through `ingest_test_report`, and `open_probe` breaks the code under test in an isolated worktree to see whether the test notices. `scryer-mcp check` in CI fails on red claims and architecture violations.
Who it is for. Developers whose several agents write code in parallel and nobody can say what is implemented, what is only planned and what is broken.
Good fit when
- Three agents edit one repository and you need to see who touched which files and tests.
- The plan should be a set of verifiable sentences rather than a document that goes stale.
- CI needs a gate that fails when a declared architecture style is violated.
- A green test looks doubtful and the agent is asked to break the code under it as a probe.
Not a fit when
- The project has no automated tests: the map shows containers and components with nothing proven.
- A stable tool is required: the project is in alpha and may break before 1.0.
- The project language is outside the import resolution list: for some languages the map relies on name-matching heuristics.
Example request
Orient through scryer on the task to add payment refunds, write the plan as todo tests and run only the tests the change reaches.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
The project is in alpha and the README warns of instability and breaking changes before 1.0. Import resolution exists for Rust, TypeScript, JavaScript, Python, Go and Clojure, while Java, Ruby, C, C++, C# and PHP use name-matching heuristics. Installation is a download of the app from the releases page. The license is FSL-1.1-MIT: you may view and modify the code but not build a competing product, and it turns into MIT after two years. The last commit is from October 2026.
How to disable. Run `scryer-mcp setup off`: it removes exactly scryer's entries (MCP, hooks, skill) and leaves a `SKILL.md` of your own in that place alone. Uninstall the app like any other application.
FAQ
What exactly does setup on write?
The MCP entry, session hooks and the `scryer` skill for each detected agent and nothing else. For Claude Code that is `.mcp.json`, `.claude/settings.local.json` and `.claude/skills/scryer/SKILL.md`.
How do I undo the setup?
`scryer-mcp setup off` removes exactly scryer's entries. A skill file you wrote yourself is left alone.
What is a claim in scryer?
A behavior test description written in the EARS pattern: condition first, subject dropped. Example: "When a save fails, keeps the draft". One test gives one claim.
How does the CI check work?
`scryer-mcp check` fails on red claims, architecture violations and claim text that breaks the grammar. Stale claims and surviving mutants are notes unless `--fail-on-stale` and `--fail-on-mutants` are set.
Does scryer block the agent?
No, inside a session it guides and hints, and hooks print no errors or summaries. Only `scryer-mcp check` in CI enforces.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server that checks whether the agent is really done: drives the real app and returns pass, fail or couldn't tell with the file and line
kogiQA MCP gives an agent a browser that finds page elements without selectors, for debugging web apps and writing e2e tests
MCP server, agent and skills for end-to-end UI tests where the agent drives the computer through vision on cloud machines
Four Claude Code skills: 1C testing through Codex and 1c-testpilot, code review, export and load through ibcmd
MCP Interviewer checks an MCP server before an agent connects: provider limits, tool tests and a Markdown report.
A skill and tester agent for Claude Code that test the 1C interface through the 1c-testpilot MCP server with evidence
README in short
The README sets out the idea that the spec is the tests, deterministic checks without a model, the getting started flow, EARS claim patterns, MCP setup, the skill and building from source.