beerbottle90 makes the Turkish case-law search actually connect

A court-decision and legislation lookup that shipped broken now works, and the AI can reach for it on its own.

integrationsearch

An earlier release bolted on a connection to a Turkish legal database covering court decisions and legislation, but it never actually worked - the routes were wired to nothing, so every search came back empty. beerbottle90 traced the dead ends, reconnected the plumbing, and fixed a string of mismatches between what the app asked for and what the database expected.

Then they went further. Instead of leaving the lookup buried in a back-end route, they exposed Turkish court-decision and legislation search as tools the AI assistant can call mid-conversation. Ask a question, and the model can pull the relevant ruling or statute without anyone hand-wiring the query.

So what Worth a look if your practice touches Turkish law, or you're building legal AI for that market.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

3 commits from beerbottle90/mike-oss, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
c1c055c0 fix(backend): mount yargi-mcp proxy router and add typescript dev dep beerbottle90 2026-06-07 ↗ GitHub
commit body
mcp-proxy.arthurlegal.ts was written but never imported or mounted in
index.ts, so all /api/mcp/yargi/... routes returned 404. Added import
and app.use("/api/mcp", yargiMcpRouter).

Also installed typescript as a devDependency so npm run build works
without a global tsc install.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
10e1481b fix(mcp-proxy): fix parameter names and SSE response parsing beerbottle90 2026-06-07 ↗ GitHub
commit body
- Add Accept: application/json, text/event-stream header (yargi-mcp-pro
  returns SSE format; without it the server returns 406)
- Parse SSE response: extract data: line and parse as JSON-RPC
- search_mevzuat: rename query->phrase (tool uses phrase, not query)
- search_bedesten_unified: rename query->phrase; limit->page_size
- get_mevzuat_document: rename mevzuat_id->id (backward compat alias kept)
- get_bedesten_document_markdown: rename document_url->documentId
- Institution-specific routes: return 501 instead of opaque 500
- /yargi/health: use legal_research_guide ping instead of unavailable tool

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
bc264883 feat(yargi-mcp): wire yargi-mcp tools into Claude tool call pipeline beerbottle90 2026-06-07 ↗ GitHub
commit body
Add YARGI_MCP_TOOLS definitions (6 tools) and callYargiMcp() helper so
Claude can search Yargıtay/Danıştay decisions and Turkish legislation
directly via tool calls, not just via HTTP proxy routes.

Tools added:
- search_court_decisions → search_bedesten_unified
- get_court_decision → get_bedesten_document_markdown
- semantic_search_decisions → search_bedesten_semantic
- search_legislation → search_mevzuat
- get_legislation → get_mevzuat_document
- search_within_legislation → search_within_mevzuat

Tools are activated when YARGI_MCP_TOKEN env is set. System prompt
updated with yargi-mcp usage instructions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-637.md from inside the repo you want the changes in.

⬇ Download capture-thread-637.md