Skip to main content
Glama
YuCPbit
by YuCPbit

🧾 mcp-proof

영수증과 함께 MCP 서버를 출시하세요.

한 번의 명령으로 모든 MCP 서버를 감사합니다 — 프로토콜 시대와 무관하게 도구, 리소스, 프롬프트를 모두 검사하고, stdio 또는 Streamable HTTP를 지원하며, 클라이언트에게 지문(fingerprint)이 찍힌 재현 가능한 전달 보고서와 함께 유지할 수 있는 CI 회귀 테스트 스위트를 제공합니다.

ci python checks transports license

English · 简体中文

공식 MCP filesystem 서버에 대한 실제 감사: 25개 적합성 검사, MSSS 준수 테이블, 34개 회귀 픽스처 — 모두 통과.


✨ 제공 기능

  • 🔍 모든 표면과 두 시대에 걸친 와이어 레벨 프로토콜 검사 — mcp-proof는 서버에 원시 JSON-RPC로 직접 말을 걸고 서버의 시대를 자동 감지합니다: 2026-07-28 모던 시대용 30개 검사(server/discover, _meta 봉투 강제, resultType, 모든 캐시 가능 결과의 ttlMs/cacheScope, -32022 버전 거부, HTTP 라우팅 헤더 강제)와 initialize 핸드셰이크 시대용 25개 검사 — 정확한 오류 코드, 스키마 유효성, 구조화된 출력, stdout 위생, 페이지네이션 안전성, 전용 리소스 및 프롬프트 레인, 그리고 검증된 부정 탐지(negative probe): TOOL-07은 선언된 inputSchema를 명백히 위반하는 입력을 보내고, 서버가 이를 정상적으로 응답하면 최소 재현 코드를 인용하여 경고합니다. 양방향 모두 기능 인지형: 서버가 광고하지 않는 표면은 건너뛰고, 광고하는 표면은 반드시 작동해야 합니다.

  • 🛡️ 공개 표준에 연동된 보안 감사 — 6가지 결정적 검사(도구 설명 주입, 보이지 않는/bidi 문자, 자격 증명 유출, 제약 없는 주입 표면, 광고된 셸 실행), 각각 24개 컨트롤 MCP Server Security Standard의 표준 컨트롤 ID에 매핑되며 모든 보고서에 전체 준수 테이블로 렌더링됩니다.

  • 📼 클라이언트가 유지하는 회귀 테스트 스위트 — 두 프로토콜 시대 모두에서 기록 가능; SHA-256 출처가 있는 골든 픽스처가 서버의 동작을 고정하고, 리플레이는 모든 드리프트를 등급화합니다(BREAKING / VALUE / COSMETIC / LATENCY), 구조화된 출력을 이해하고, 상태 저장 호출 순서를 보존하며, 바로 붙여넣을 수 있는 GitHub Actions 게이트와 함께 제공됩니다.

  • 📄 사람과 기계 모두를 위한 보고서 — 스티키 내비게이션, 검사별 앵커(report.html#SEC-03), 주의/통과 필터, 접을 수 있는 MSSS 매트릭스를 갖춘 자체 포함 HTML; 인쇄용 --pdf. 동일한 버전 관리 모델이 --json(스키마 v1), 모든 CI용 --junit, GitHub Security 탭용 --sarif로 제공됩니다.

  • 🔁 설계상 재현 가능 — LLM 호출 없음, API 키 없음. 모든 해시는 동작만으로 계산됩니다 — 타임스탬프와 지연 시간은 별도의 해시되지 않은 관찰 계층에 있으므로 — 동일한 서버 동작은 동일한 보고서 지문을 생성하며, 수용은 신뢰가 아닌 검증입니다.

  • 🧯 어노테이션 우선 호출 계획 — MCP 도구 어노테이션은 양방향 모두 이름 휴리스틱보다 우선합니다: readOnlyHint는 정규식이 과도하게 차단할 읽기 전용 도구를 구출하고, destructiveHint는 놓칠 수 있는 변경 도구를 포착합니다; 어노테이션이 없는 도구는 보수적 휴리스틱으로 폴백합니다. mcp-proof plan은 프로덕션에 아무것도 닿기 전에 자동 베이스라인이 무엇을 어떤 근거로 호출할지 정확히 보여줍니다; --include-destructive--edge-cases로 더 많은 것을 선택할 수 있습니다.

  • 📋 CI용 계약 diffmcp-proof inspect는 제공되는 표면(기능 + 도구 + 리소스 + 프롬프트, 완전 페이지네이션)을 지문이 찍힌 매니페스트로 고정합니다; mcp-proof diff는 모든 변경을 BREAKING / ADDITIVE / METADATA로 분류하고 breaking 변경 시 0이 아닌 종료 코드를 반환합니다 — 스키마 강화, enum 축소, required 플립, 제거된 출력 필드, 약화된 안전 어노테이션이 모두 포함됩니다.

Related MCP server: MCProbe

🚀 빠른 시작

pip install git+https://github.com/YuCPbit/mcp-proof
mcp-proof run python my_server.py --fixtures fixtures/ --out report.html

실행 중인 HTTP 서버를 감사하려면? mcp-proof run --url http://localhost:8000/mcp --out report.html

종료 코드 0은 다음을 의미합니다: 모든 MUST 검사 통과, 보안 발견 0건, 동작 드리프트 0건 — 한 줄 CI 게이트.

mcp-proof plan python my_server.py                            # what would auto-baselining call, and why
mcp-proof record python my_server.py --fixtures fixtures/    # freeze the behavioural contract
mcp-proof replay --fixtures fixtures/ -- python my_server.py  # fail on any drift
mcp-proof inspect python my_server.py --out baseline.json     # freeze the contract surface
mcp-proof diff baseline.json current.json                     # BREAKING / ADDITIVE / METADATA, exit 1 on breaking

내장 데모 쌍으로 60초 안에 차이를 확인하세요 — 깨끗한 서버와 9개의 심어진 위반이 있는 서버:

mcp-proof run python demo/good_server.py --fixtures demo/fixtures-good --out report-good.html   # → SHIP-READY
mcp-proof run python demo/bad_server.py --out report-bad.html                                    # → 5 MUST failures, 3 security findings

📊 실제 감사, 실제 보고서

대상

판정

보고서

공식 MCP filesystem 서버 (@modelcontextprotocol/server-filesystem)

✅ SHIP-READY — 11/11 MUST 검사, 34/34 리플레이 클린, 쓰기 도구 4개 자동 건너뜀

HTML · PDF

2026-07-28 모던 시대 서버 (제로 의존성, 공식 v2 SDK와 교차 검증)

✅ SHIP-READY — server/discover로 시대 자동 감지, 부정 탐지 포함 21/21 MUST, 2/2 리플레이

HTML

9개의 심어진 위반이 있는 데모 서버

❌ NOT SHIP-READY — MUST 실패 5건 + 보안 발견 3건, 모든 항목이 증거와 함께 포착됨

HTML

잘 작동하는 데모 서버

✅ SHIP-READY — 16/16 MUST, 회귀 베이스라인 포함 전체 3레인 통과

HTML

🔬 세 가지 레인

레인

증명하는 내용

방법

프로토콜 적합성

서버가 와이어 레벨에서 MCP를 올바르게 구현하는지 — 시대 협상, JSON-RPC 오류 의미론, 도구/리소스/프롬프트 표면, 출력 스키마, 기능 일관성, 페이지네이션, stdout 위생

직접 작성한 JSON-RPC 프로브가 원시 바이트 스트림을 관찰하므로 어떤 것도 매끄럽게 덮어지지 않음

보안 및 위생

도구 메타데이터가 깨끗한지: 주입된 지시문, 숨겨진 유니코드, 유출된 비밀, 제약 없는 실행 표면 없음

결정적 정적 분석, 모든 발견에 MSSS 컨트롤 ID가 포함됨

동작 회귀

서버가 전달 시점에 했던 것과 정확히 동일하게 동작하는지

출처 지문이 있는 골든 픽스처의 기록/재생, 드리프트는 심각도별 등급화

모든 레인이 하나의 보고서로 통합됩니다 — 그리고 보고서는 우선순위가 매겨진 수정 목록으로 끝나므로 수정 계획으로도 활용됩니다.

📡 프로토콜 지원

전송

stdio ✅ · Streamable HTTP ✅

표면

도구 ✅ · 리소스 ✅ · 프롬프트 ✅ — 양방향 기능 인지형

모던 시대 2026-07-28 (server/discover, 무상태 _meta)

✅ 적합성 레인, 자동 감지 — --era auto|modern|legacy

레거시 시대 (initialize 핸드셰이크, 2024-11-052025-11-25)

✅ 모든 레인

회귀 레인

✅ 두 시대 모두 — SDK 세션(레거시) · 프로브 기반 세션(모던)

모던 레인은 공식 v2 SDK에 대해 양방향으로 검증됩니다: 공식 클라이언트가 server/discover를 통해 mcp-proof의 직접 작성한 모던 테스트 서버를 채택하고, mcp-proof는 공식 v2 SDK 서버에 대해 두 전송 모두 — stdio 및 SSE 응답이 있는 Streamable HTTP — 세 레인을 모두 완전히 통과시킵니다(scripts/crosscheck_modern_server.py).

모든 언어로 작성된 서버와 작동합니다 — mcp-proof는 코드베이스가 아닌 프로세스(또는 URL)와 통신합니다.

⚙️ 한 단계로 CI

- uses: YuCPbit/mcp-proof@v0.5.0
  with:
    server-command: python my_server.py
    fixtures: fixtures/

서버가 ship-ready가 아니면 작업이 실패하고, 업로드를 위해 mcp-proof-report.html / .json / .junit.xml / .sarif 파일을 남깁니다. 원시 명령을 선호하시나요? mcp-proof run … --junit r.xml --sarif r.sarifmcp-proof diff를 더하면 동일한 게이트입니다.

🏗️ 감사 클린 템플릿 위에 구축

서버를 감사하는 대신 구축 중이신가요? templates/server-starter/는 즉시 이 감사를 통과하는 fastmcp 서버입니다 — 제약된 입력 스키마, 올바른 오류 의미론, 구조화된 출력, 충족하는 검사 ID로 주석이 달린 모든 관행. 복사하고, 도구를 구현하고, 감사하고, 보고서와 함께 출시하세요.

🖥️ 플랫폼

macOS

✅ 개발 및 완전 검증 완료

Linux

✅ CI에서 실행됨

Windows

✅ CI에서 실행됨

🗺️ 로드맵

릴리스

초점

v0.3

✅ 이중 시대 프로토콜 지원, main에 출시 — 시대 자동 감지, 모던 시대 검사 19개, 이중 시대 회귀 세션, 두 전송 모두에서 공식 v2 SDK에 대해 검증됨

v0.4

✅ 기능 인지형 리소스 및 프롬프트 레인 · 계약 매니페스트 inspect / diff with breaking-change 게이트 · 어노테이션 우선 호출 계획

v0.5

✅ 버전 관리 JSON 보고서 모델 · JUnit 및 SARIF 출력 · 재사용 가능한 GitHub Action (uses: YuCPbit/mcp-proof@v0.5.0) · 보고서 UI: 스티키 내비, 앵커, 필터

v0.6

✅ 2단계 인수 합성($ref / allOf / const / pattern / format / 경계 / multipleOf) · 최소 재현 코드가 있는 검증된 스키마 위반 부정 탐지(TOOL-07)

이후

선택적 의미론 레인(LLM 등급 어서션) — 결정적 코어가 완성될 때까지 보류

🔍 제한 사항

mcp-proof는 결정적으로 증명할 수 있는 것을 증명하며, 어떤 것이 어떤 것인지 명시합니다:

  • 보안 검사는 관찰 가능한 프로토콜 및 메타데이터 표면을 다룹니다. 배포, 소스 또는 프로세스 증거가 필요한 MSSS 통제 항목은 항상 수동 검토로 보고되며, 통과로 보고되지 않습니다.

  • 자동 베이스라인은 보수적인 이름/설명 휴리스틱으로 도구를 분류합니다. 프로덕션에 대해 기록된 베이스라인을 신뢰하기 전에 fixtures 매니페스트의 건너뛰기 목록을 검토하십시오.

  • 의미적 정확성(답변이 의미상 올바른가?)은 설계상 결정적 핵심 범위 밖입니다.

📄 라이선스

MIT — MSSS 규정 준수 섹션의 분류 체계는 MCP Server Security Standard (CC BY-SA 4.0)를 따릅니다.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
8Releases (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

  • A
    license
    A
    quality
    A
    maintenance
    A stdio MCP server that audits other MCP servers over the live protocol. It connects to any MCP target (stdio or HTTP), lints every tool's schema for agent-usability, then actually calls the tools with deliberately broken inputs to see how the server handles them, and returns a 0–100 conformance score with a per-dimension breakdown rendered as Markdown.
    6
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Audits MCP server configurations for security risks including capability inventory, SSRF, prompt injection, and drift detection. Works in read-only mode and can also be used as an MCP server to let AI agents audit their own attack surface.
    4
    MIT

View all related MCP servers

Related MCP Connectors

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/YuCPbit/mcp-proof'

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