Skip to main content
Glama
kheidkamp

legal-research-mcp

by kheidkamp

Legal Research MCP MVP 0.2-dev - Render Free

Render 배포 준비가 된 읽기 전용 리서치 MCP로, 계획된 legal-tax-advisor-de v2.3.0 리서치 레이어용입니다.

0.2-dev 추가 사항

0.2-dev는 보수적인 0.1 개정이력 계약을 유지하면서 하나의 특화된 검색 기능을 추가합니다:

  • get_official_document_text: 엄격한 HTTPS 호스트 허용 목록에서 이미 식별된 공식 독일 PDF/HTML 문서를 열고, locator/query를 검색하여 콘텐츠 해시가 포함된 페이지 인식 증거를 반환합니다.

이로써 Copilot Studio에서 관찰된 D1 격차가 해소됩니다: 에이전트는 Bundesrat-Drucksache 5/26을 식별할 수 있었지만 Art. 30 Nr. 1을 열어 구체적인 개정 명령을 검증할 수 없었습니다.

Related MCP server: de-eli-mcp

도구

search_primary_sources

소규모 검증된 법령 레지스트리(KStG, EStG, AO, GewStG)에 대한 통제된 검색입니다. 검색 전용입니다.

get_norm

gesetze-im-internet.de에서 현재 공식 통합 조문을 검색하고 구조/증거 메타데이터를 반환합니다.

trace_norm_amendments

안전한 개정이력 연결 구현입니다. 전체 법령 개정 헤더를 검색 단서로 노출할 수 있지만, 조문별 체인 해석기가 구현될 때까지 의도적으로 partial/unknown으로 유지됩니다.

get_official_document_text

식별된 공식 문서를 열고 정확한 구절을 검색합니다.

허용되는 입력:

  • url 또는 document_id 중 하나;

  • locator 및/또는 query;

  • 선택적 max_passages 및 context_chars.

지원되는 document-id 단축 표기:

  • BR-Drs. 5/26 -> Bundesrat 문서 서버 PDF;

  • BT-Drs. 21/3343 -> Bundestag 문서 서버 PDF;

  • BGBl. 2026 I Nr. 33 -> 공식 recht.bund.de 공포 페이지.

개정 검증 대상 예시:

get_official_document_text(
  document_id="BR-Drs. 5/26",
  locator="Artikel 30",
  query="§ 8b Absatz 6 Satz 2"
)

정규화된 쿼리 매칭이 성공하면 coverage_status=complete 및 full_checked 구절 증거를 반환합니다. locator만 사용한 결과는 탐색 증거이며 요청된 개정 문구의 증거로 취급해서는 안 됩니다.

SSRF / 다운로드 안전

get_official_document_text는 의도적으로 제한됩니다:

  • HTTPS 전용;

  • 정확한 공식 호스트 허용 목록;

  • 모든 리디렉션 홉은 재검증됨;

  • 자격 증명 및 비표준 포트는 거부됨;

  • 다운로드 크기는 20 MB로 제한;

  • PDF 텍스트 추출만 허용, JavaScript/브라우저 실행 없음;

  • 읽기 전용 요청만 허용.

현재 허용 목록에 포함된 패밀리는 공식 Bundestag/Bundesrat 문서 서버, recht.bund.de, gesetze-im-internet.de, Bundestag/Bundesrat 웹 호스트 및 연방 재무부 웹사이트입니다.

Render 배포

포함된 render.yaml Blueprint를 사용하세요. 서비스는 다음과 같이 구성된 상태로 유지됩니다:

  • Web Service;

  • Docker 런타임;

  • Free 플랜;

  • Frankfurt 리전;

  • /health 헬스 체크;

  • Render의 PORT에 동적 바인딩;

  • /mcp의 MCP 엔드포인트;

  • RENDER_EXTERNAL_HOSTNAME의 명시적 Host 허용 목록.

자세한 단계: docs/render-free-deploy.md.

로컬 설정

python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
python -m pytest -q
uvicorn app:app --reload --port 8080

로컬 엔드포인트:

  • Health: http://localhost:8080/health

  • MCP: http://localhost:8080/mcp

아직 구현되지 않은 기능

  • 과거 법령 버전 해석기;

  • 완전한 조문별 개정 체인 해석기;

  • 모든 Bundesgesetzblatt/Bundestag/Bundesrat 문서의 자동 검색;

  • 판례 검색;

  • 포괄적인 BMF 지침 검색;

  • 프로덕션 인증.

DEV 보안 경계

Render Free 배포는 DEV 테스트를 위해 의도적으로 인증 없이 유지됩니다. Copilot 에이전트를 게시하지 말고 엔드포인트를 통해 기밀 고객/사건 사실을 전송하지 마십시오.

Free Render Web Services는 비활성 상태 후 종료될 수 있으며 프로덕션 대상이 아닙니다.

0.1 -> 0.2 업그레이드

  1. 저장소 파일을 이 패키지로 교체하고 Render가 배포하는 브랜치에 커밋/푸시합니다.

  2. Render 배포가 Live 상태가 될 때까지 기다립니다.

  3. /health가 버전 0.2.0-dev를 반환하는지 확인합니다.

  4. Copilot Studio에서 기존 Legal Research DE MCP 서버 구성을 열고 get_official_document_text가 노출/활성화되어 있는지 확인합니다.

  5. D1 개정 검색 테스트를 실행하고 Activity Trace를 검사합니다.

자세한 업그레이드/테스트 순서는 docs/render-free-deploy.md를 참조하세요.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for accessing and searching German federal law documents from gesetze-im-internet.de. Provides tools to retrieve specific paragraphs, perform full-text searches, and list available laws.
    10
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Searches and retrieves German federal legislation from NeuRIS, the official legal information portal, providing verifiable ELI identifiers and German citations.
    15
    248 PyPI
    4
    Apache 2.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides LLM-friendly access to German federal legislation via the NeuRIS API, enabling tool-based retrieval of laws, norms, and statutory text.
    18 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to current German federal law, supporting legislation search, provision retrieval, and citation handling.
    Apache 2.0