Skip to content

docs: add setup guides for Continue, Zed, and Open WebUI MCP clients (#71) - #91

Open
245678000000 wants to merge 1 commit into
jonashertner:mainfrom
245678000000:feat/mcp-client-setup-guides
Open

docs: add setup guides for Continue, Zed, and Open WebUI MCP clients (#71)#91
245678000000 wants to merge 1 commit into
jonashertner:mainfrom
245678000000:feat/mcp-client-setup-guides

Conversation

@245678000000

Copy link
Copy Markdown

Summary

Closes #71.

Adds clear, copy-pasteable setup guides and documentation for previously undocumented MCP clients:

  • Continue (VS Code & JetBrains IDEs)
  • Zed (using native context_servers)
  • Open WebUI (via Admin Tools Connections)

Changes

  1. New dedicated setup guides:

    • docs/continue-setup.md: Complete setup instructions for Streamable HTTP (https://mcp.opencaselaw.ch/mcp) and SSE (https://mcp.opencaselaw.ch/sse), config file paths across macOS/Linux/Windows, tool verification list, and example queries.
    • docs/zed-setup.md: Direct context_servers JSON block and mcp-remote wrapper options with config paths.
    • docs/open-webui-setup.md: Step-by-step UI configuration in Open WebUI admin panel.
  2. Web portal integration (docs/mcp/index.html):

    • Added setup blocks with direct copy-paste configuration snippets for Continue, Zed, and Open WebUI.
    • Added localized setup strings for all 5 supported languages (de, fr, it, rm, en).
  3. Cross-references (docs/claude-desktop-setup.md):

    • Added subsections linking to the new client guides under the remote server section.

Verification

  • Live MCP endpoint validation: Tested JSON-RPC initialize, tools/list (41 tools discovered), and real query execution (search_decisions for "Mietrecht Kündigung") over Streamable HTTP.
  • Repository checks: make smoke and make verify-offline all passed cleanly.

@jonashertner jonashertner left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you — this closes a real gap (#71 has sat unclaimed for two weeks), the structure matches the house docs style, and the Zed guide is verified correct: I checked context_servers with a bare url against Zed's current MCP docs and it's exactly right, including the mcp-remote fallback. That guide can ship as-is.

Requesting changes on four points, each verified against primary sources rather than taste:

1. Continue: the primary config block is Claude Desktop's format, not Continue's.
Continue's docs specify ~/.continue/config.yaml with a list:

mcpServers:
  - name: swiss-caselaw
    type: streamable-http
    url: https://mcp.opencaselaw.ch/mcp

A top-level "mcpServers" object in config.json (your "Standard Configuration") isn't a documented Continue shape — users pasting it get silent nothing. Your experimental.modelContextProtocolServers fallback is the correct legacy-JSON form and can stay as the alternative. Worth adding: Continue also accepts Claude-style JSON blocks dropped into the .continue/mcpServers/ directory — that's where your JSON snippet belongs if kept. Please make YAML primary here and in the docs/mcp/index.html strings (all five locales).

2. Open WebUI: I can't find "Admin Panel → Settings → Tools → Valve / MCP Connections" in any Open WebUI documentation.
Their docs still route MCP through the mcpo proxy (MCP-to-OpenAPI); "Valves" are function parameters, not a connections menu. If you tested this path against a specific Open WebUI version that has native MCP connections, please say which version and quote the actual menu labels — otherwise this guide should document the mcpo route (uvx mcpo --port 8000 -- npx mcp-remote https://mcp.opencaselaw.ch/mcp, then add http://localhost:8000 as an OpenAPI tool server), with native support mentioned only if version-pinned. A guide with an invented menu path is worse than no guide — the user concludes our server is broken.

3. Both tool-call examples use parameters that don't exist.

  • get_law({"law": "BV", …}) → the parameter is abbreviation (or sr_number): get_law({"abbreviation": "BV", "article": "8", "language": "de"})
  • find_leading_cases({"statute": "OR 41"}) → the schema is law_code + article: find_leading_cases({"law_code": "OR", "article": "41"})

These are copy-paste examples; they must execute.

4. "41 tools" — the live count is 42.
tools/list against https://mcp.opencaselaw.ch/mcp returns 42 public tools (verified this weekend; docs/canonical_numbers.md was corrected accordingly). Your PR body's "41 tools discovered" suggests the number was taken from the existing page copy rather than a live listing — the page's own pre-existing "41" strings are stale too (that's on us, not you; tracked separately). In the new guides, either say 42 or sidestep the churn with "40+ specialized tools".

Small, non-blocking: the sample output block predates the current response format (totals now render as lower bounds, e.g. Found 1082+ decisions (lower bound; …)) — feel free to paste a fresh response.

If you'd rather not iterate, say so and I'll apply these edits on merge — the contribution is wanted either way.

jonashertner added a commit that referenced this pull request Aug 23, 2026
…fixes, 41→42 page drift surfaced

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XaSaWzAvXJKXq2CtabcTcM
jonashertner added a commit that referenced this pull request Aug 23, 2026
…t refs out of demand queue; UNIL outreach draft

docs/mcp: the 41→42 drift PR #91 surfaced is the missing get_decisions
entry (page list diffed against the live server's 42 public tools);
count bumped in all locale strings and the tool added to the search card.

demand_queue: "Urk. N" is a Zurich exhibit reference (Urkunde) the
extractor misreads as a docket — the top two queue rows (1,816× and
1,158×, all zh_sozialversicherungsgericht) were exhibits, not missing
decisions. URK_-prefixed and control-character refs are excluded with
logged counts; the extractor root-cause fix stays pipeline-gated.

docs/outreach: UNIL/SERVAL OAI-PMH request drafted (FR, unsent —
recipient address to verify). Handoff updated with the day's state:
harvest diagnosis incl. the UNIGE sub-day-granularity server bug,
#49 sized at 7,674 true page-bleed records, the BGE language-field
finding, and the four-commit boundary.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XaSaWzAvXJKXq2CtabcTcM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Setup guide for an undocumented MCP client

2 participants