Skip to main content
Glama
blueqwertz

linda-mcp

by blueqwertz

Linde MCP Server

Ein MCP (Model Context Protocol) Server, der KI-Modellen Zugriff auf linda.lindeverlag.at (Linde Datenbank) gibt. Suche, Dokument-Volltext, Ausgaben-Inhaltsverzeichnisse, Kommentare und See-Also-Verweise über stdio.

Wichtig: Linda nutzt IP-basierten Zugriff (z.B. WU-Wien-Netz, VPN). Es ist kein Login erforderlich — der MCP-Server muss einfach vom WU-Netz aus erreichbar sein.


Features

  • Suche: Volltextsuche über linda.lindeverlag.at/SearchResults/ mit Paginierung, Sortierung (Relevanz/Datum) und Filter (My/All, Archiv).

  • Autocomplete: Vorschläge über search/autocompletesuggestions.

  • Dokument-Volltext: Titel, Autor, Literaturquelle, Rechtsnorm-Verweise, Literaturverzeichnis und Volltext.

  • Ausgabe (Magazin): Inhaltsverzeichnis gruppiert nach Sektionen.

  • Kommentare: Liste der verfügbaren Kommentare (My/All).

  • See-Also: Verwandte Rechtsnormen, Literatur und Judikatur.

  • Auth-Status & Cookie-Set: Optional — für hinter Paywall liegende Inhalte können manuell Cookies gesetzt werden.


Related MCP server: German Legal MCP Server

Konfiguration & Zugang

Linda ist über IP autorisiert (z.B. WU-Wien-Campus-Netz, eduroam, oder VPN zum WU-Netz). Keine Credentials nötig.

Optionale Cookie-Authentifizierung (für Premium-Inhalte):

  • Environment Variable: LINDA_COOKIE="DbSessionVWINASP02=...; bis_logonguid=..."

  • Command Line Flag: --cookie "DbSessionVWINASP02=...; bis_logonguid=..."

Cookie-Werte aus dem Browser: DevTools → Application → Cookies → linda.lindeverlag.at und .lindeverlag.at.


Installation & Running

Direkt via npx (empfohlen)

npx -y github:blueqwertz/linda-mcp

Mit Cookie:

LINDA_COOKIE="DbSessionVWINASP02=...; bis_logonguid=..." npx -y github:blueqwertz/linda-mcp

Lokale Entwicklung

git clone https://github.com/blueqwertz/linda-mcp.git
cd linda-mcp
npm install
npm run build     # TypeScript -> dist/
npm start         # Startet den MCP-Server

Im Dev-Modus mit Hot-Reload:

npm run dev       # tsx src/index.ts

Smoke-Test (6 Tests gegen die Live-Site, benötigt IP-Zugriff auf linda.lindeverlag.at):

npx tsx test.ts

Integration mit AI-Agents

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "linda-mcp": {
      "command": "npx",
      "args": ["-y", "github:blueqwertz/linda-mcp"]
    }
  }
}

Mit Cookie:

{
  "mcpServers": {
    "linda-mcp": {
      "command": "npx",
      "args": ["-y", "github:blueqwertz/linda-mcp"],
      "env": {
        "LINDA_COOKIE": "DbSessionVWINASP02=...; bis_logonguid=..."
      }
    }
  }
}

Claude Code

claude mcp add linda-mcp -- npx -y github:blueqwertz/linda-mcp

OpenCode

opencode.json/opencode.jsonc:

{
  "mcp": {
    "linda-mcp": {
      "type": "local",
      "command": ["npx", "-y", "github:blueqwertz/linda-mcp"],
      "enabled": true
    }
  }
}

Codex

~/.codex/config.toml:

[mcp_servers.linda-mcp]
command = "npx"
args = ["-y", "github:blueqwertz/linda-mcp"]

Exposed Tools

Durchsucht die Linde Datenbank.

  • Arguments:

    • query (string, required): Suchbegriff.

    • skip (number, default 0): Offset für Paginierung (0, 20, 40, ...).

    • limit (number, default 20, max 20): Max Treffer.

    • sort ("Rank" | "Date", default "Rank").

    • place ("My" | "All", default "My").

    • includingArchive (bool, default false).

  • Returns: {query, skip, nextSkip, results: [{id, titel, beschreibung, vorschau, link, listPos}], totalCount?, hasMore}

linda_autocomplete

  • Arguments: query (string, required).

  • Returns: {query, count, suggestions: [{text, isLastSearch}]}

linda_get_document

  • Arguments:

    • id (string, required): Dokument-ID ("18729") oder URL.

    • includeVolltext (bool, default true).

    • maxVolltextLength (number, default 50000).

  • Returns: {id, titel, autor?, literaturQuelle?, rechtsnormVerweise: [{id,label,link}], literatur: string[], volltext?, meta, link}

linda_get_issue

  • Arguments: id (string, required): Ausgabe-ID ("WWK77SH6EQ") oder URL.

  • Returns: {id, titel, jahr?, ausgabeNr?, sectionCount, articleCount, sektionen: [{name, dokumente: [{id,titel,beschreibung?,link}]}]}

linda_get_see_also

  • Arguments: id (string, required).

  • Returns: {id, summary, rechtsnormen: [...], literatur: [...], judikatur: [...], sonstiges: [...]}

linda_list_kommentare

  • Arguments: place ("My" | "All", default "My").

  • Returns: {place, count, kommentare: [{bookId, titel, link}]}

linda_auth_status

  • Arguments: keine.

  • Returns: {authenticated, statusCode, url, cookiesSet, note}

  • Arguments: cookie (string, required): "name1=val1; name2=val2; ...".

  • Returns: {cookieSet, cookiesStored, note}


Architektur

src/
├── index.ts          # CLI-Parsing, McpServer, stdio transport
├── client.ts         # LindaClient: HTTP + CookieJar wrapper
├── auth.ts           # CookieJar (in-memory name->value)
├── parser.ts         # cheerio-basierte HTML-Extraktoren
└── tools/
    ├── index.ts      # toolDefinitions + handleToolCall dispatch
    ├── search.ts     # linda_search
    ├── autocomplete.ts
    ├── document.ts
    ├── issue.ts
    ├── see_also.ts
    ├── kommentare.ts
    └── auth.ts       # linda_auth_status + linda_set_cookie

Inspiriert von blueqwertz/rdb-mcp (Manz RDB), aber angepasst an Lindes HTML-basierte API.


License

MIT

Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/blueqwertz/linda-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server