fyi.clairvoyance/mcp
Registry code: 0055b77aba296a99
Clairvoyance: software design skills for AI coding agents, inspired by A Philosophy of Software Design.
Each tool named after a skill returns that skill's instructions. Call it when its description matches what you're doing, then follow it.
- endpoint
- https://clairvoyance.fyi/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is fyi.clairvoyance/mcp live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is fyi.clairvoyance/mcp free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does fyi.clairvoyance/mcp have?
- 17 tools: module-boundaries, general-vs-special, naming-obviousness, red-flags, diagnose, deep-modules, information-hiding, pull-complexity-down, ….
- Is fyi.clairvoyance/mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 17 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
abstraction-quality open 1h ago
Evaluates whether abstractions provide a genuinely different way of thinking or are structurally shallow. Use when adjacent layers feel redundant, wrappers add boilerplate without depth, or an abstraction feels leaky. Not for a single module's interface-to-implementation ratio (use deep-modules) or information leakage across boundaries (use information-hiding).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linescode-evolution open 1h ago
Evaluates whether changes to existing code maintain or degrade design quality. Use when the user asks to review a diff or PR (for example before merging it), or asks about recently modified files, to judge whether each change looks designed-in or bolted-on. Not for scanning design smells (use red-flags) or assessing overall design investment (use strategic-mindset).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linescomments-docs open 1h ago
Reviews comment quality and documentation practices: the four comment types, comments-first workflow, and comment rot. Use when reviewing comments or docs, when comments just repeat the code, or when something is hard to describe in a sentence. Not for naming or code obviousness (use naming-obviousness).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesmodule-boundaries unknown never probed
Evaluates where module boundaries are drawn and whether modules should be merged or split. Use when deciding whether to combine or separate two modules, when modules are tightly coupled, or when a change to one forces changes to another. Not for depth within a single module (use deep-modules) or abstraction-layer quality (use abstraction-quality).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesgeneral-vs-special unknown never probed
Evaluates whether interfaces are appropriately general-purpose. Use when checking interface generality, when if-branches or parameters serve only one caller, or when getters/setters expose internal representation. Not for information leakage across boundaries (use information-hiding) or auditing configuration parameters (use pull-complexity-down).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesnaming-obviousness unknown never probed
Reviews naming quality and code obviousness via the isolation test, scope-length principle, and consistency audit. Use when names feel vague, something is hard to name (a design signal, not a vocabulary problem), or behavior isn't obvious on first read. Not for comment quality or documentation (use comments-docs).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesred-flags unknown never probed
Scans code against 17 design smells (the book's 14 named Red Flags plus 3 process-stage signals) and produces a structured diagnostic report. Use when the user asks for a red flags or design smell scan, asks to check code against a checklist, is evaluating unfamiliar code, or asks open-endedly whether anything is off in a named or pasted file, class, or function, or asks you to look it over. Not for a specific bug, error, or failing test the user has already identified. Not for a plain diff or PR review before merge, or whether a PR maintains design trajectory (use code-evolution for both), or diagnosing why code feels complex (use complexity-recognition).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesdiagnose unknown never probed
Routes a vague symptom or complaint to the most relevant Clairvoyance skill via a decision tree. Use when someone describes a problem but doesn't know which skill to reach for. Not for a comprehensive review (use design-review) or a checklist scan (use red-flags).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesdeep-modules unknown never probed
Measures module depth: whether the interface is simple relative to the implementation behind it. Use when an interface has too many parameters or methods, many small classes each do too little, or methods just forward calls. Not for whether adjacent layers provide different abstractions (use abstraction-quality) or merging/splitting modules (use module-boundaries).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesinformation-hiding unknown never probed
Checks for information leakage across module boundaries, including temporal decomposition and false encapsulation. Use when modules change together, implementation details leak across boundaries, or structure follows execution order rather than knowledge ownership. Not for merge/split decisions (use module-boundaries) or interfaces over-specialized for one caller (use general-vs-special).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linespull-complexity-down unknown never probed
Checks whether complexity is pushed to callers or absorbed by implementations — the direction complexity flows. Use when callers must do significant setup, handle errors the module could resolve, or configure things they don't understand. Not for module depth (use deep-modules), knowledge leakage (use information-hiding), or exception strategy once an error must surface (use error-design).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 lineserror-design unknown never probed
Reviews error handling and exception design, applying the "define errors out of existence" principle. Use when reviewing error handling, when a module throws too many exceptions, or when callers must handle errors they shouldn't need to know about. Not for general caller-burden complexity (use pull-complexity-down); this skill is specifically for exception and error-condition strategy.
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesstrategic-mindset unknown never probed
Assesses whether code reflects strategic or tactical thinking, including the 10-20% investment rule and tactical-tornado patterns. Use when evaluating design investment, when code was written under time pressure, or when working code consistently degrades the system. Not for judging whether a specific diff looks designed-in or bolted-on (use code-evolution).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesdesign-it-twice unknown never probed
Generates and compares at least two fundamentally different design alternatives on concrete criteria before committing. Use when the user asks to design something twice, or before committing to any significant design of classes, modules, APIs, or architecture. Also use when asked how to structure or architect a feature, or when writing the design or alternatives section of an RFC, design doc, or ADR. Not for judging strategic vs. tactical investment in existing code (use strategic-mindset) or whether a change degrades design (use code-evolution).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linescomplexity-recognition unknown never probed
Diagnoses whether complexity exists and where it comes from, using the three-symptom, two-root-cause framework. Use when code feels harder to work with than it should but the specific problem is unclear. Not for scanning known design smells (use red-flags) or evaluating a module's depth (use deep-modules).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesdesign-review unknown never probed
Orchestrates a structured design review, running the other skills as a diagnostic funnel from complexity triage to a full red-flags sweep. Use when the user asks for a comprehensive or prioritized design assessment of a file, module, or PR. Not for an open-ended "anything off here?" or "take a look at this" prompt that names no review goal (use red-flags), a plain diff review before merge or analyzing how code changed over time (use code-evolution), or applying one specific lens (use that skill directly).
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesfetch-reference unknown never probed
Fetch a supporting file from a Clairvoyance skill's references/ folder, when the skill's instructions point to one. Available: information-hiding (back-door-leakage.md); pull-complexity-down (configuration-parameter-audit.md); comments-docs (comments-first-workflow.md); design-it-twice (pre-mortem-fallback.md); red-flags (flag-interaction-map.md); design-review (workflow-builder.md).
{ "type": "object", "required": [ "skill", "file" ], "properties": { "file": { "enum": [ "back-door-leakage.md", "comments-first-workflow.md", "configuration-parameter-audit.md", "flag-interaction-map.md", "pre-mortem-fallback.md", "workflow-builder.md" ], "type": "string", "description": "The file name inside the skill's references/ folder" }, "skill": { "enum": [ "information-hiding", "pull-complexity-down", "comments-docs", "design-it-twice", "red-flags", "design-review" ], "type": "string", "description": "The skill the file belongs to" } }, "additionalProperties": false }arguments 34 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id0055b77aba296a99.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/0055b77aba296a99/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/0055b77aba296a99?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.