Gadoes/dispumike

A multi-jurisdictional legal AI fork built around MCP tool adapters, citation rendering, and a full source-management UI.

Gadoes/dispumike is under active development, with commits spanning the full stack from DB migrations through frontend components. The fork's primary investment is in MCP adapter breadth and the supporting source-management UI - more finished than most forks at that layer.

View on GitHub →

Gadoes/dispumike is an active fork focused on turning the MCP backend into something deployable for multi-region legal work. The bulk of the development is infrastructure: individual MCP server adapters for CourtListener, EUR-Lex, GovInfo, Al-Meezan, ITALAW, and ICSID, backed by a portable SQLite scraper framework for the non-API sources. On top of that sits a full source-management stack - a region-grouped registry table, AES-256-GCM key storage, a picker UI with per-source toggling, and a per-query scope filter that restricts which MCP tools the LLM can call on a given message.

The fork also adds: a citation data model and rendering pipeline, a citation verification step before responses go to the user, an MCP telemetry table with an admin dashboard, a tool-result caching layer, and a circuit breaker for open/failed MCP connections. Late cleanup commits tighten repo hygiene and fix a EUR-Lex region glyph.

The codebase is tightly coupled to Supabase for auth and to a specific user_profiles schema. The 12-source seed catalogue and the is_admin column reflect Gadoes's specific product; both would need adaptation before adoption.

What's in it

Direction

searchintegrationinfrastructure

Activity

Themed changes and pull requests touching this fork, newest first. Themed changes that haven't been turned into a public post yet still appear — they're real work even without a published writeup.

📝 Al-Meezan adapter lands alongside a 6.3k-line planning doc dump 2 commits 3mo ago searchintegration draft
Gadoes adds a small MCP adapter for the Al-Meezan Pakistan legal database, but buries it inside a commit that accidentally publishes 6,300 lines of internal planning material - specs, roadmaps, mockups, and Claude skill …
📝 Gadoes wires Mike into the federal rulebook 2 commits 3mo ago integrationsearch draft
The dispumike fork can now pull and cite federal regulations and statutes straight from the U.S. government's official document service.

Threads of work (detailed view)

23 threads have been distilled into posts.

Cleanup commit adds the missing circuit breaker that the build needed all along

The final commit in the Gadoes feature sequence deletes 6,300 lines of accidentally-committed internal planning files, fixes a leaked Supabase URL in `.env.example`, and - buried in the cleanup - adds `circuitBreaker.ts`, a file that `clientManager.ts` has been importing since Chunk 1 but that was never committed to the branch until now.

Citation verification: re-fetch, compare, badge the result

Gadoes closes the loop on citations: a user can now click "Verify & read" and the system re-fetches the source URL, checks whether the stored excerpt actually appears in the page, and updates a `verification_status` badge. Four commits, two new tables columns, one new service, one new route.

MCP telemetry: per-call logging, aggregation route, and admin dashboard

Gadoes adds end-to-end observability for MCP tool calls: a 17-line `mcp_events` migration, telemetry logging inside `McpClientManager.callTool()`, a `GET /admin/mcp-telemetry` aggregation endpoint, and a Next.js admin page that auto-refreshes every 60 seconds.

MCP result cache: SHA-256 keys, per-source TTLs, query normalizer

Gadoes adds a caching layer for MCP tool results to reduce repeated hits on external legal sources. Migration `004_cache_results.sql` defines the backing table; `queryNormalizer.ts` canonicalises inputs before hashing; `CacheManager` handles get/set/expiry with two TTL tiers.

Portable DB framework with italaw and ICSID scrapers

Gadoes builds a self-hosted alternative to API-based MCP sources - a scraper framework for jurisdictions with no published MCP server - and ships two concrete implementations: italaw (international investment arbitration) and ICSID (World Bank arbitration awards). Three chunks, six commits.

EUR-Lex adapter added, plus a glyph fix that ships two commits later

Gadoes adds the EUR-Lex connector for EU law, regulations, and directives. It's 48 lines and needs no API key. There's a catch: the EU region glyph in both the migration seed and this adapter starts as `EU·27` and only gets corrected to `🇪🇺` in a later cleanup commit.

Al-Meezan adapter lands alongside a 6.3k-line planning doc dump

Gadoes adds a small MCP adapter for the Al-Meezan Pakistan legal database, but buries it inside a commit that accidentally publishes 6,300 lines of internal planning material - specs, roadmaps, mockups, and Claude skill files. The planning docs are deleted two commits later. The adapter itself is 53 lines.

Gadoes wires Mike into the federal rulebook

The dispumike fork can now pull and cite federal regulations and statutes straight from the U.S. government's official document service.

GovInfo adapter: wired but waiting on an upstream npm package

Gadoes adds the GovInfo adapter for federal publications (CFR, Federal Register, public laws), following the same template as CourtListener. The commit message flags it explicitly: the `govinfo-mcp` npm package hasn't been published yet, so the server config is scaffolding only.

CourtListener MCP adapter with citation parser and fixture tests

Gadoes adds the CourtListener connector for federal and state caselaw in the United States: config builder, key validator, tool definitions, system prompt, two JSON fixtures, and 19 tests covering both citation parsing and a mock-MCP round trip.

Citation data model and rendering, end to end

Gadoes builds the citation pipeline from MCP tool result to UI card: a `citations` table, a parser that maps each source type's response format into the schema, SSE emission at end of turn, and a React component with compact/expanded views and RTL support for Arabic excerpts.

MCP host plumbing: lazy-spawn manager, mock server, and agent loop wiring

Gadoes builds the foundation the entire MCP feature set sits on: a singleton process manager for stdio-launched MCP servers, an in-process mock server for unit tests, and the tool-dispatch wiring in the existing assistant loop. Three commits, roughly 1,300 lines of new code, plus a large package-lock addition for `@modelcontextprotocol/sdk`.