Skip to main content
Glama
DE-BARY-LLC

debary-mcp-compliance

Official
by DE-BARY-LLC

debary-mcp-compliance

tests

미국 부동산 매물 텍스트를 위한 공정 주택 및 광고 규칙 엔진에 언어 모델이 접근할 수 있게 해주는 MCP 서버입니다. 단, 결정권은 주지 않습니다.

엔진은 결정적입니다. 81개의 구문 규칙, 35개의 필수 요소, 6개의 주(state)가 있으며, 결정 경로에는 어떤 모델도 없습니다. 이 서버는 질문을 받아들이고 판정을 내보냅니다. 반대편의 모델은 모든 판정 결과, 그 배후의 법령, 그리고 규칙 기반이 대신 제안하는 문구를 받습니다. 받지 못하는 것은 이의를 제기할 권한입니다.

이것이 이 프로젝트가 멋진 설명이 붙은 REST 엔드포인트가 아니라 MCP 서버인 이유입니다. 모델은 논쟁할 수 없는 도구가 필요하며, MCP는 그 도구를 모델의 판단 밖에 두면서도 손이 닿는 곳에 두는 프로토콜입니다.

DE BARY LLC가 만들었습니다. 이 서버가 감싸는 엔진은 gate.debary.us에서 실행됩니다.


사용해 보기

설정도, 규칙 기반도, 네트워크도 필요 없습니다:

pip install -e .
python demo.py

데모는 서버를 하위 프로세스로 시작하고, MCP로 통신하며, 실패하는 매물, 각 판정 뒤의 법령, 수정, 그리고 수정이 여전히 놓친 부분을 잡아내는 재검토를 차례로 보여줍니다.

⚠️ 아무것도 설정하지 않으면 서버는 샘플 규칙 기반으로 실행됩니다. 이 저장소를 누구나 실행하고 테스트할 수 있도록 작성된 6개의 규칙과 4개의 필수 요소입니다. 서버는 스스로를 표시합니다. 모든 결과에 backend: "sample"rules_version: "sample-1"이 포함됩니다. 이는 예시용이며 규정 준수 도구가 아닙니다. 실제 답을 얻으려면 GATE_APP_DIR 또는 GATE_URL을 실제 기반으로 지정하세요.


제공하는 것

MCP에는 세 가지 기본 요소가 있습니다. 이 서버는 세 가지를 모두 사용하며, 각각은 전달하는 내용에 맞는 형태이기 때문에 존재합니다.

도구 — 모델이 엔진에 요청하는 작업

도구

용도

check_listing

매물 문구를 엔진에 통과시킵니다. 판정 결과, 누락된 필수 요소, 분기할 blocking 판정을 반환합니다.

explain_rule

판정 뒤의 전체 규칙(법령 포함)을 제공합니다. 모델이 기억에서 인용하는 대신 권위를 인용하도록 합니다.

suggest_rewrite

문제가 되는 모든 구간의 문자 오프셋과 승인된 대체 문구를 제공합니다. 의도적으로 다시 쓰지 않습니다 — 텍스트를 구성하는 것은 모델의 일이고, 검증하는 것은 엔진의 일입니다.

get_receipt

저장된 검사: 무엇을 검사했는지, 어떤 규칙 버전을 기준으로 했는지, 정확한 텍스트의 SHA-256을 제공합니다.

리소스 — 모델이 직접 읽을 수 있는 자료

URI

내용

gate://rules

규칙 기반 색인: 모든 규칙과 필수 요소를 ID, 심각도, 범주별로 제공

gate://rules/{rule_id}

하나의 규칙 전체(권위 및 출처 문서 포함)

gate://elements/{state}

해당 주에서 광고가 포함해야 하는 공시 요소

gate://receipt/{receipt_id}

앵커 블록이 포함된 과거 검사

프롬프트 — 각 클라이언트가 새로 만들지 않도록 하는 워크플로

프롬프트

강제하는 내용

review_listing

검사 → 인용 → 재작성 → 재작성 결과를 다시 검사. 마지막 단계는 모델이 즉흥적으로 처리할 때 건너뛰는 단계입니다.

explain_verdict

영수증을 면허가 있는 에이전트가 실행할 수 있는 것으로 바꿉니다. 엔진이 기계적으로 검증할 수 없는 내용도 포함합니다.


설계 노트

판정은 협상할 수 없습니다. 높은 심각도의 규칙이 하나라도 발동하거나 필수 요소가 누락되면 blocking은 true입니다. 도구 설명에도, 서버 지침에도, review_listing 프롬프트에도 그렇게 명시되어 있으며, 모델은 실패한 재작성을 수정된 것처럼 제시하지 않고 솔직하게 보고하도록 지시받습니다.

blocking: false는 면허가 아닙니다. 이는 어떤 규칙도 발동하지 않았다는 뜻입니다. elements_manual은 엔진이 기계적으로 확인할 수 없는 항목을 나열합니다. 이는 여전히 사람이 필요합니다. 검사하지 않은 것에 대해 조용히 성공을 보고하는 도구는 도구가 없는 것보다 나쁩니다.

모든 판정은 권위를 수반합니다. 인용이 없는 판정은 의견일 뿐이며, 의견을 가진 규칙 엔진은 단지 단계가 더 많은 언어 모델일 뿐입니다. 이는 의도일 뿐만 아니라 테스트 스위트에서 강제됩니다.

세 가지 백엔드, 하나의 인터페이스. LocalBackend는 엔진을 가져와 프로세스 내에서 평가합니다. 네트워크가 없고 매물 텍스트가 머신을 떠나지 않습니다. RemoteBackend는 HTTP로 실행 중인 게이트를 호출합니다. SampleBackend는 자체 소규모 규칙 기반을 보유하여 새 클론에서도 서버가 실행됩니다. 세 가지 모두 동일한 형태를 반환하므로 MCP 계층은 어느 것이 응답했는지 알 수 없습니다.

폴백은 스스로를 알립니다. 실제 제품을 조용히 사칭하는 샘플은 함정이 될 것입니다. 이 샘플은 모든 결과에 sample을, 버전 필드에 sample-1을 넣으며, 두 라벨 중 하나라도 빠지면 실패하는 테스트가 있습니다.

두 가지 전송 방식. stdio는 데스크톱 클라이언트용, streamable-http는 컨테이너용입니다. sse는 이전 클라이언트를 위해 여전히 허용되지만 프로토콜에서 더 이상 사용되지 않으며 새 프로젝트에는 선택해서는 안 됩니다.

2.x SDK 필요. Python SDK는 2.0에서 FastMCPMCPServer로 이름을 바꾸고 mcp.server.fastmcp에서 mcp.server.mcpserver로 이동했습니다. 결과 필드는 structuredContent에서 structured_content로 변경되었습니다. 이 서버는 2.x만 대상으로 합니다. 두 메이저 버전을 shim으로 지원하는 것은 고려했지만 거부했습니다. 결정 경로를 단순하게 유지하는 것이 이 프로젝트의 핵심 주장인데, 호환성 계층을 추가하는 것은 그에 어긋나기 때문입니다.


실행 방법

로컬 규칙 기반 사용

pip install -e .
GATE_APP_DIR=/path/to/compliance-gate/app debary-mcp-compliance

실행 중인 게이트 사용

GATE_URL=https://gate.debary.us GATE_TOKEN=… debary-mcp-compliance

둘 다 설정된 경우 GATE_APP_DIR이 우선합니다. 프로세스 내 평가가 더 빠르고 매물 텍스트가 네트워크를 통해 전송되지 않기 때문입니다.

Docker에서

docker compose up -d

컨테이너는 :8765/mcp(streamable HTTP)에서 수신하며 호스트 포트 8766에 게시되고 루프백에 바인딩됩니다. 포트를 여는 대신 앞에 터널을 두세요. 규칙 기반은 읽기 전용으로 마운트됩니다. 컨테이너는 규칙을 평가할 수 있지만 변경할 수는 없습니다.

Claude Desktop

{
  "mcpServers": {
    "debary-compliance": {
      "command": "debary-mcp-compliance",
      "env": { "GATE_APP_DIR": "/path/to/compliance-gate/app" }
    }
  }
}

Claude Code

claude mcp add debary-compliance \
  --env GATE_APP_DIR=/path/to/compliance-gate/app \
  -- debary-mcp-compliance

구성

변수

의미

GATE_APP_DIR

engine.pyrules.json이 있는 디렉터리. 로컬 백엔드를 선택합니다.

GATE_URL

실행 중인 게이트의 기본 URL. 원격 백엔드를 선택합니다.

(둘 다 설정 안 됨)

내장 샘플 규칙 기반으로 폴백합니다.

GATE_TOKEN

해당 게이트의 API가 폐쇄된 경우 사용할 Bearer 토큰.

MCP_TRANSPORT

stdio(기본값), streamable-http 또는 sse.

MCP_HOST / MCP_PORT

HTTP 전송의 바인드 주소. 기본값 0.0.0.0:8765.


테스트

pip install -e ".[dev]"
pytest -q                                            # 21 protocol tests, no setup
GATE_APP_DIR=/path/to/compliance-gate/app pytest -q  # + 3 production tests

테스트는 도구 함수를 가져와 호출하지 않습니다. 서버를 하위 프로세스로 시작하고 stdio를 통해 핸드셰이크를 완료한 다음 클라이언트로 구동합니다. 프로세스 내에서 작동하지만 네트워크에서는 실패하는 도구는 작동하지 않는 도구이기 때문입니다.

행복한 경로 외에 확인하는 내용:

  • 모든 도구가 출력 스키마를 선언하므로 호출자가 문구가 아닌 필드로 분기할 수 있습니다.

  • 모든 판정이 권위 대체 문구를 수반합니다.

  • 판정이 겹치지 않으므로 이중 계산이 없고 재작성이 손상되지 않습니다.

  • 재작성 오프셋이 실제로 일치한다고 주장하는 텍스트를 인덱싱합니다.

  • 다이제스트는 정규화된 사본이 아니라 제출된 정확한 텍스트의 것입니다.

  • 알 수 없는 규칙 ID는 빈 답변이 아니라 오류입니다.

  • 엔진이 검증할 수 없는 요소는 통과가 아니라 manual로 반환됩니다.

  • 샘플 백엔드는 스스로를 샘플로 표시합니다.

세 가지 프로덕션 테스트는 GATE_APP_DIR이 설정되지 않으면 건너뜁니다. 이 테스트는 이 프로젝트가 공개적으로 명시한 규칙 버전과 수, 그리고 판정이 주에 따라 다르다는 것을 확인합니다. 샘플로는 대신할 수 없는 주장입니다.


범위와 한계

⚠️ 법적 조언이 아닙니다. 규칙은 공개 법령, 기관 지침, 업계 정책에서 수집되었으며 각각 출처와 읽은 날짜를 포함합니다. 규정 준수는 이 서버가 아니라 규제 기관과 법원이 결정합니다.

⚠️ 6개 주: TX, CA, NY, FL, IL, WA. 잘못된 주에 대해 검사를 실행하면 잘못된 필수 요소가 조용히 적용됩니다. state 인수는 장식이 아닙니다.

⚠️ 샘플 규칙 기반은 제품이 아닙니다. 공개 법령에 대한 6개의 규칙으로, 이 저장소를 누구나 실행할 수 있도록 작성되었습니다. gate.debary.us 뒤의 기반은 더 크고, 출처 문서와 읽은 날짜로 구성되며, 별도로 유지 관리됩니다.

⚠️ 권고적 판정은 주 범위로 제한됩니다. 한 주에서 구속력이 있는 문구가 다른 주에서는 advisory로 반환될 수 있습니다. 이는 엔진이 불확실한 것이 아니라 정확하다는 뜻입니다.


Apache-2.0 · DE BARY LLC, Austin TX

-
license - not tested
Not graded
quality - not tested
C
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 Connectors

  • Deterministic compliance and vertical knowledge bases for autonomous agents. Free 24hr trial.

  • Deterministic trust gate for AI output: leaked-secret, prompt-injection & PII in one call.

  • Deterministic validation for AI-generated artifacts: JSON Schema, OpenAPI response, SQL syntax.

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/DE-BARY-LLC/debary-mcp-compliance'

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