@Storybloq/Lenses
FreeNot checkedEnables multi-lens code review by running 8 specialized reviewers in parallel, deduplicating findings, and producing a single verdict.
About
Enables multi-lens code review by running 8 specialized reviewers in parallel, deduplicating findings, and producing a single verdict.
README
Multi-lens code review MCP server — 8 specialized reviewers run in parallel, with findings deduplicated, confidence-filtered, and rolled into a single verdict.
Installation
npm install -g @storybloq/lenses
Register with Claude Code
claude mcp add lenses -s user -- lenses --mcp
After registration, three tools become available in your Claude Code session:
lens_review_start-- Returns{reviewId, agents: [{id, model, promptHash, expiresAt}], cached}. Refs-not-prompts shape keeps the hop-1 payload small; fetch the actual prompt for each agent vialens_review_get_promptbefore spawning. Theagents[].expiresAtis provisional: the prompt fetch anchors the authoritative deadline.lens_review_get_prompt-- Looks up the full prompt for one lens in an active review (stateless per(reviewId, lensId)) and returns the lens's authoritativeexpiresAt: the first attempt-1 fetch starts the lens's timeout clock, once per attempt.lens_review_complete-- Accepts the subagent outputs (with optionalattemptfor retry) incrementally (partial batches and empty polls are fine) and returns the merged verdict. The envelope includesparseErrors[],deferred[],suppressedFindingCount,hadAnyFindings,nextActions[]for the cooperative retry protocol (each retry carries a fresh per-attemptexpiresAt), plus the coverage disclosure:lensCoverage[],coverage(full/partial),errorCodes(PARTIAL_RESULTSwhen a lens expired), andreviewComplete(falsemarks an interim envelope; the review is still open). A late result diverts its lens toexpiredcoverage instead of rejecting the call, and an uncovered core lens caps the verdict belowapprove.
Architecture
See CLAUDE.md in the source repository for the two-hop flow, lens activation logic, merger semantics, and session caching.
Stable library API
The package root (@storybloq/lenses) is a stable library surface, not just an MCP server entry point. It is consumed directly by the storybloq autonomous review backend, so existing exports are not renamed or removed across minor versions. The exported core is:
LENSES,getLens,SURFACE_RULES- the lens registry projection and surface-activation routing rulesactivate- decide which lenses fire for a review (withLensConfigSchema,LensIdSchema)buildLensPrompt,buildAgentPrompts- construct the complete self-contained prompt(s) for activated lensesrenderLensBody,renderSharedPreamble- lower-level prompt-body and shared-preamble renderersrunMergerPipeline- the single merger entry that runs dedup, blocking policy, tension detection, and verdict computation over per-lens outputs- the schema, verdict, and blocking-policy types and Zod validators re-exported from
src/schema
Mutability boundary
All registry objects exported from the package root (LENSES, each lens projection, SURFACE_RULES, its nested rule objects and arrays) are frozen projection copies. The Zod schema instances (optsSchema) and renderBody implementations that live on the internal lens definitions are internal and unreachable from the public surface. Mutating any exported registry object throws in strict mode and can never alter prompt construction: the internal registry that buildLensPrompt and activate read is a separate, unfrozen object, disjoint from the frozen public projection.
License
PolyForm-Noncommercial-1.0.0
Install @Storybloq/Lenses in Claude Desktop, Claude Code & Cursor
unyly install storybloq-lensesInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add storybloq-lenses -- npx -y @storybloq/lensesFAQ
Is @Storybloq/Lenses MCP free?
Yes, @Storybloq/Lenses MCP is free — one-click install via Unyly at no cost.
Does @Storybloq/Lenses need an API key?
No, @Storybloq/Lenses runs without API keys or environment variables.
Is @Storybloq/Lenses hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install @Storybloq/Lenses in Claude Desktop, Claude Code or Cursor?
Open @Storybloq/Lenses on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare @Storybloq/Lenses with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
