- Reliability 9/20
- Only the README is available: no cached server manifest, no source files, no CI workflows and no committed tests, so the static review cannot verify the MCP init handshake, tool listing, or agreement between declared and actual behavior. The roll_dice example is internally coherent, and the README is explicit that createMcpHandler does not inspect the pathname and must be mounted by the host framework, which is a transparent, diagnosable design. However, the hard dependency on MCP SDK v2, zod ^4 and Node 20+, plus the 1.x/2.x branching, adds upgrade risk, and the claim of natively serving the 2026-07-28 spec with a stateless Streamable HTTP fallback is unsupported by any test or code. Per the static calibration rule, reliability cannot exceed 12 without verifiable execution evidence, so 9 is given: the happy path is plausible but edge cases and error handling are unproven.
- Security and permissions 11/20
- No malware, credential theft, covert exfiltration or unsafe default operations were found, so this does not fall into the 0-4 red-line band. Positive evidence: withMcpAuth verifies bearer tokens and returns RFC 9728-compliant WWW-Authenticate challenges, protectedResourceHandler only publishes protected resource metadata, and CIMD capability is correctly attributed to the authorization server rather than this package, showing least privilege and separation of concerns; dependency ranges are pinned. Deductions: the repository's license metadata is unknown while the README claims Apache-2.0, no source exists to audit token storage, log redaction or error-message leakage, the stdio client example implicitly fetches remote packages via npx, and there is no guidance that production deployments must use HTTPS/TLS.
- Maintenance 12/20
- With 669 stars, 36 open issues and not archived, this is an actively used project. The README documents the 1.x to 2.x migration path, removed items (redis, SSE transport, legacy route config) and dependency upgrade requirements, indicating versioning discipline. Deductions: the manifest reports License as unknown, contradicting the README's Apache-2.0 claim, so license evidence is missing; there is no commit history, release cadence, security-response channel or dependency-update policy; and responsiveness to the 36 open issues cannot be verified. Governance and license evidence gaps cap this at 12.
- Documentation 13/20
- Documentation is well layered: install commands, framework-compatibility matrix, a Next.js quick start, client connection options (both Streamable HTTP and mcp-remote), a protocol-generation support section, an authorization section, and links to three further docs (CLIENTS.md, AUTHORIZATION.md, ADVANCED.md). Limitations are disclosed explicitly: the pathname is not inspected, Express needs its own Web adapter, GET/DELETE session operations return 405, and Redis is no longer used. Deductions: the referenced doc files are not supplied with the source so their contents cannot be verified; highly forward-looking statements about the 2026-07-28 spec and CIMD lack reviewable evidence; and cost, rate limiting, troubleshooting and error-code listings are absent, leaving hidden assumptions.
- Setup experience 12/20
- The install path is clear: a single npm command installing three packages, with version constraints and a rollback note for 1.x users; the Quick Start provides a copy-pasteable route.ts and clarifies that /api/mcp is a convention rather than a requirement; client-side JSON config and the mcp-remote alternative are both given. Deductions: there is no verifiable execution evidence at all (no CI, no committed tests), so per the static calibration rule setup cannot exceed 15; real usability depends on whether the unreferenced mcp-handler@^2, @modelcontextprotocol/server@^2 and zod ^4 packages are actually published, and the Node 20+ and specific framework version requirements raise the bar further, making this a workable but unproven manual setup flow.