Skip to main content
Glama
slapash

JurisCassation MCP Server

by slapash

JurisCassation API

GraphQL + REST-Wrapper für juriscassation.cspj.ma — das Entscheidungsportal des marokkanischen Kassationshofs.

Funktionen

  • Live-Suche — Echtzeit-Weiterleitung an den arabischen Such-Endpunkt

  • Lokale Suche — SQLite FTS5 Volltextsuche über gecrawlte Entscheidungen

  • GraphQL API — typsichere Abfragen und Mutationen

  • PDF-Proxy — Zwischenspeicherung und Bereitstellung von Entscheidungs-PDFs über verschlüsselte IDs

  • Hintergrund-Scraper — Indizierung aller Entscheidungen in eine lokale SQLite-Datenbank

Related MCP server: Entscheidsuche MCP Server

Schnellstart

# Docker (GraphQL API on port 5091)
docker compose up -d

# Or direct
pip install -r requirements.txt
python app.py serve --port 8000

# MCP Server (port 5098, SSE transport)
# Via systemd:
sudo systemctl start juriscassation-mcp

# Or direct:
JURIS_API_BASE=http://localhost:5091 python mcp_server.py

API-Endpunkte

Endpunkt

Beschreibung

GET /graphql

GraphQL-Playground (interaktiv)

POST /graphql

GraphQL API

GET /api/pdf/{encrypted_id}

Entscheidungs-PDF herunterladen (proxied + gecacht)

GET /api/stats

Statistiken des lokalen Index

GraphQL-Schema

Abfragen

# Live search against the Moroccan portal (real-time)
query {
  searchLive(chamberId: 1, sujet: "طلاق", lang: "ar", page: 1) {
    total
    page
    perPage
    items {
      encryptedId
      dossierNumber
      decisionNumber
      decisionDate
      keywordsAr
      pdfUrl
    }
  }
}

# Search the local SQLite index
query {
  searchLocal(query: "طلاق", chamberId: 1, page: 1, perPage: 20) {
    total
    page
    perPage
    items {
      id
      encryptedId
      dossierNumber
      decisionNumber
      decisionDate
      keywordsAr
      pdfUrl
    }
  }
}

# List chambers with decision counts
query {
  chambers {
    id
    nameAr
    nameFr
    nameEn
    decisionCount
  }
}

# Scraper/indexer status
query {
  scraperStatus {
    totalDecisions
    lastScrape
    chambers { id nameFr decisionCount }
  }
}

Mutationen

# Scrape decisions from a chamber (Arabic endpoint with alef wildcard)
mutation {
  scrapeChamber(chamberId: 1, maxPages: 5)
}

# Scrape all pages
mutation {
  scrapeChamber(chamberId: 1, maxPages: 0)
}

Kammern

ID

Arabisch

Französisch

Englisch

1

الغرفة المدنية

Chambre Civile

Civil

2

غرفة الأحوال الشخصية و الميراث

Statut Personnel & Successions

Personal Status & Inheritance

3

الغرفة التجارية

Chambre Commerciale

Commercial

4

الغرفة الإدارية

Chambre Administrative

Administrative

5

الغرفة الاجتماعية

Chambre Sociale

Social

6

الغرفة الجنائية

Chambre Pénale

Criminal

7

الغرفة العقارية

Chambre Immobilière

Real Estate

CLI-Scraper

# Scrape chamber 1 (all pages)
python app.py scrape --chamber 1

# Scrape all chambers, max 50 pages each
python app.py scrape --chamber 0 --max-pages 50

# Scrape from page 100 onwards
python app.py scrape --chamber 6 --since-page 100

Architekturhinweise

  • Der arabische Endpunkt (/Decisions/RechercheDecisionsRes) gibt verschlüsselte data-id-Attribute zurück, die für den PDF-Download benötigt werden

  • Der französische Endpunkt (/Decisions/RechercheDecisionsResFr) gibt numerische idArretCassation-IDs zurück, jedoch keine verschlüsselten IDs

  • PDFs werden über /Decisions/GetArret?encryptedId=... heruntergeladen — keine Authentifizierung erforderlich

  • Ein leerer Sujet bei der arabischen Suche liefert 0 Ergebnisse; wir verwenden ا (Alef) als Platzhalter für alle Ergebnisse

  • Das SSL-Zertifikat auf der Upstream-Seite ist fehlerhaft; verify=False ist erforderlich

Umgebungsvariablen

Variable

Standard

Beschreibung

JURIS_DB

/data/decisions.db

Pfad zur SQLite-Datenbank

JURIS_PDF_CACHE

/data/pdfs

Verzeichnis für den PDF-Cache

JURIS_CONCURRENCY

3

Maximale Anzahl gleichzeitiger Scrape-Anfragen

JURIS_DELAY

0.5

Verzögerung zwischen den Scrape-Seiten (Sekunden)

MCP-Server

Ein MCP-Server (Model Context Protocol) stellt alle API-Funktionen als KI-Agenten-Tools über SSE auf Port 5098 bereit.

MCP-Endpunkt: http://localhost:5098/sse

Tools

Tool

Beschreibung

search_decisions

Live-Suche auf juriscassation.cspj.ma

search_local

FTS5-Suche über den lokalen SQLite-Index

get_decision_pdf

Prüfen/Herunterladen eines Entscheidungs-PDFs per verschlüsselter ID

list_chambers

Auflistung aller 7 Kammern mit Index-Anzahlen

scrape_chamber

Indizierung von Entscheidungen einer Kammer

get_stats

Statistiken des lokalen Index

Ressourcen

URI

Beschreibung

juriscassation://chambers

Referenzliste der Kammern (AR/FR/EN)

juriscassation://stats

Aktuelle Index-Statistiken

MCP-Umgebungsvariablen

Variable

Standard

Beschreibung

JURIS_API_BASE

http://localhost:5091

Basis-URL der GraphQL API

JURIS_DB

/mnt/data/juriscassation/decisions.db

SQLite-Pfad (für direkte Suche)

MCP_PORT

5098

Port des MCP-Servers

MCP_HOST

0.0.0.0

Bind-Host des MCP-Servers

MCP_TRANSPORT

sse

Transporttyp (sse oder streamable-http)

Test mit mcporter

# List tools
npx mcporter list --http-url http://localhost:5098/sse --allow-http --schema

# Search
npx mcporter call search_decisions sujet=طلاق chamber_id=1 --allow-http --http-url http://localhost:5098/sse

Bereitstellung

Die App ist containerisiert und läuft intern auf Port 8000, der auf den Host-Port 5091 gemappt ist.

F
license - not found
Not graded
quality - not tested
D
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.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.

  • The best web search for your AI Agent

  • Web search, page extraction and structured commerce, social and business data for AI agents

View all MCP Connectors

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/slapash/juriscassation-api'

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