Skip to content

v1.0.0

Choose a tag to compare

@mikeendale mikeendale released this 06 Aug 19:10
· 57 commits to main since this release

Initial public release.

Added

  • Three-tool code-mode MCP surfacesearch_api, describe_schema,
    execute (the same pattern as clinicaltrials-mcp-server).
  • SDK bindingsfr.* for FederalRegister.gov v1 (documents,
    publicInspection, agencies, issues, suggestedSearches, images)
    and ecfr.* for the Electronic Code of Federal Regulations (titles,
    admin.agencies, structure, ancestry, versions, full, search.*).
  • BM25 search over a curated endpoint + field dictionary
    (schema/field-dictionary.json).
  • Sandboxisolated-vm (primary) and Deno subprocess (fallback) with
    shared AST preflight via acorn, wall-clock timeout, and heap cap.
  • stdio transport for Claude Desktop and MCPB.
  • Streamable HTTP transport built on @modelcontextprotocol/sdk 1.29:
    per-session StreamableHTTPServerTransport, SSE streaming, graceful
    SIGTERM/SIGINT drain.
  • OAuth 2.0 Protected Resource Metadata per RFC 9728 at
    /.well-known/oauth-protected-resource/mcp, WWW-Authenticate header
    pointing at it on 401.
  • Bearer token verification via jose against any JWKS endpoint
    (presets: clerk, workos, auth0, generic-oidc; embedded HS256
    for dev).
  • Hardening — per-IP token-bucket rate limiting, per-subject daily
    quotas, Host-header allowlist for DNS-rebinding protection.
  • Deploy — multi-stage Dockerfile (deploy/Dockerfile) that builds
    isolated-vm and slims to a node:22-bookworm-slim runtime, plus a
    Railway walkthrough in deploy/RAILWAY.md.
  • 27 tests across BM25, sandbox policy, both SDK clients (vs undici
    MockAgent), HTTP rate limiter, and an end-to-end MCP flow (initialize
    → notifications/initialized → tools/list → tools/call → sandbox → SDK
    → mocked upstream).