prismworks-ai/prism-mcp-rs
요약
본 문서는 Model Context Protocol (MCP) 클라이언트 및 서버를 구축하기 위한 비동기 Rust SDK인 `prism-mcp-rs`에 대한 기술 문서입니다. 이 라이브러리는 최신 상태 비저장(stateless) MCP 2026 버전과 기존의 상태 저장(stateful) MCP 2025 버전을 모두 지원하는 상호 운용성을 제공합니다. 클라이언트와 서버는 자동 다운그레이드 로직을 가지며, 지속적인 작업 관리 및 다양한 전송 방식을 옵트인으로 구현할 수 있습니다.
핵심 포인트
- MCP 클라이언트/서버 구축을 위한 비동기 Rust SDK입니다.
- 최신(2026) 상태 비저장과 레거시(2025) 상태 저장 MCP를 모두 지원합니다.
- 자동 다운그레이드 로직이 기본이며, 프로덕션 환경에서는 인증 및 거부 정책 적용이 권장됩니다.
MCP 클라이언트 및 서버를 위한 재사용 가능한 Rust 연결성 및 범용 요청 제어 기반(substrate).
소스 증거, 경계, 제거/수정/추가 작업에 대한 현재 전략 및 구현 계획을 참조하십시오. 버전이 지정된 성공 보고서가 달리 확립하지 않는 한 Databridle 통합은 계획되어 있습니다. 이 문서는 아래의 이전 확장 및 성숙도 주장을 대체하며; 기존 설정/API 지침은 참고 자료로 유지됩니다.
prism-mcp-rs는 Model Context Protocol (MCP) 클라이언트 및 서버를 구축하기 위한 비동기 Rust SDK입니다. 버전 3은 상태 비저장(stateless) MCP 2026-07-28 라이프사이클을 네이티브로 구현하는 동시에, 프로덕션 등급의 MCP 2025-11-25 상호 운용성을 유지합니다.
| Revision | Client | Server | Lifecycle |
|---|---|---|---|
| MCP 2026-07-28 | Native | Native | 상태 비저장(Stateless) server/discover 및 자체 설명 요청 |
| MCP 2025-11-25 | Compatible | Compatible | 상태 저장(Stateful) initialize 및 초기화 알림 |
ProtocolMode::Auto가 기본값입니다. 클라이언트는 먼저 2026 발견을 시도하고, 피어(peer)가 명시적으로 JSON-RPC Method not found를 반환할 때만 다운그레이드합니다.
; 프로토콜, 인증, 전송 및 잘못된 응답 실패는 절대 다운그레이드를 유발하지 않습니다. 서버는 기본적으로 두 버전 모두를 수락합니다. 배포 시 버전을 고정하려면 ModernOnly 또는 LegacyOnly를 사용하십시오. 동작 매트릭스와 알려진 제한 사항은 Protocol Versions를 참조하십시오.
모던 클라이언트는 ClientRequestHandler를 통해 경계가 지정된(bounded) input_required 흐름을 자동으로 완료합니다. 서버는 MultiRoundToolHandler로 이러한 흐름을 시작할 수 있으며, 이는 불투명한 지속 상태(opaque continuation state)와 요청 범위의 클라이언트 기능을 받습니다. HTTP 및 STDIO는 옵트인(opt-in) subscriptions/listen을 구현하며; HTTP는 요청 범위 SSE를 사용하고 STDIO는 장기 실행 요청을 닫기 위해 취소(cancellation)를 사용합니다.
공식 io.modelcontextprotocol/tasks 확장은 옵트인입니다. 서버는 add_task_tool 또는 add_task_tool_with_fallback로 지속적인 작업(durable work)을 등록하거나, add_composed_task_tool을 사용합니다.
MRTR 입력을 지속적인 실행으로 전환합니다. 클라이언트는 확장 기능을 활성화한 다음, 자동 작업 완료 또는 타이핑된 get_task, update_task, 및 cancel_task API를 사용합니다. 작업 핸들(Task handles)은 호출자에게 바인딩되며, TTL 제한이 있고, 취소 가능하며, 다중 라운드 입력을 지원합니다.
| 영역 | 상태 | 기능 |
|---|---|---|
| STDIO 클라이언트/서버 | 구현됨; 기본값 | stdio |
| ... |
기본 요청 정책은 하위 호환성이 있으며 요청을 허용합니다. 프로덕션 서비스는 전송 경계(transport boundary)에서 인증하고 기본적으로 거부하는(deny-by-default) 정책을 설치해야 합니다. 네이티브 플러그인은 프로세스 내에서 실행되므로 보안 경계가 아닙니다.
[dependencies]
prism-mcp-rs = "3"
tokio = { version = "1", features = ["full"] }
...
애플리케이션이 사용하는 기능만 활성화하세요:
prism-mcp-rs = {
version = "3",
features = ["http", "tls", "auth", "otel"]
...
full은 모든 선택적 기능을 활성화합니다. 최소 지원 Rust 버전은 1.85입니다.
use prism_mcp_rs::prelude::*;
use std::collections::HashMap;
struct Echo;
...
STDIO 서버는 MCP 프레임을 위해 stdout을 예약해야 하며, 진단 정보는 tracing 또는 stderr를 통해 작성해야 합니다.
SDK는 공유 요청 컨텍스트(shared request context), 기본적으로 거부하는 RBAC(Role-Based Access Control), 주체별/메서드별 토큰 버킷 제한(token-bucket limiting), TLS 1.3 mTLS, OTLP 내보내기 기능을 갖춘 W3C 트레이스 전파(W3C trace propagation) 및 보수적인 엔드포인트 장애 조치(endpoint failover)를 제공합니다. 이러한 제어 기능은 신원 확인, 인증서, 할당량, 가용성 정책이 호스트 애플리케이션에 속하기 때문에 선택적입니다.
통합 예시와 명시적인 신뢰 경계는 Production Controls를 참조하세요.
cargo fmt --all -- --check
cargo clippy --all-features --all-targets -- -D warnings
cargo test --all-features
...
CI에서는 또한 핀된(pinned) 상위 MCP 준수 심사기(conformance referee)를 두 어댑터 모두에 대해 실행합니다. 유지 관리되는 2026년 서버 무상태 시나리오(server-stateless scenario)는 30/30 검사를 통과하며, 선택된 클라이언트 메타데이터, 도구, 헤더 및 JSON Schema 시나리오는 기준선 없이 29/29 검사를 통과합니다.
벤치마크 결과는 하드웨어, 활성화된 기능, 핸들러, 페이로드 및 네트워크 조건에 따라 달라집니다. 체크인된 벤치마크 보고서는 개발 스냅샷이며 SLA가 아닙니다.
- 문서 인덱스
- 시작하기
- AI 도구 통합
- 아키텍처
- 배포
- 프로덕션 제어
- 문제 해결
- 예제
- API 레퍼런스
변경 사항을 열기 전에 CONTRIBUTING.md를 읽으십시오. 취약점이 의심되는 경우 공개 이슈를 사용하지 말고 SECURITY.md에 따라 비공개로 보고하십시오.
MIT. LICENSE 참조.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기