대상: 고객사 조달·감사팀 / MCP 클라이언트·에이전트 개발자 버전: 2026-07-25 기준
WRKS MCP Hub 가 Model Context Protocol 의 어떤 spec revision · 어떤 기능을 준수하는지 정리한 문서. "MCP Hub" 라는 이름을 걸고 서비스하는 만큼, MCP 표준 준수는 우리의 핵심 약속.
MCP 는 Anthropic 주도의 오픈 표준으로 2024-11 발표 이후 여러 revision 을 거쳐 왔음. 최신 revision 은 2025-11-25.
1. 한 눈에 요약
WRKS MCP Hub 는 MCP Server 역할을 하며 (host / client 아님), MCP client (WRKS AI · Claude Desktop · Cursor 등) 가 표준 방식으로 접속해 도구를 호출할 수 있게 함.
- Transport: Streamable HTTP (권장 방식)
- Base Protocol: JSON-RPC 2.0
- Advertised protocolVersion:
2024-11-05(하위 호환) - 실제 지원 spec 범위: 2024-11-05 ~ 2025-11-25 (하위 호환 유지, 상위 기능 opt-in)
- 주 기능: Tools (도구 호출)
- 인증: OAuth 2.0 (per-user) · Client Credentials (M2M) · Static Bearer
2. Spec revision 지원 매트릭스
| Revision | 상태 | 비고 |
|---|---|---|
| 2024-11-05 | ✅ 완전 지원 | initialize 응답에서 이 버전으로 협상. 대부분 클라이언트가 이해 |
| 2025-03-26 | ✅ 하위 호환 | 이 revision 의 client 도 정상 통신 |
| 2025-06-18 | ✅ 하위 호환 | OAuth metadata 확장 · structured content 지원 준비 |
| 2025-11-25 | 부분 ✅ | 최신. 인증 부분 (RFC 8707 lenient) 반영 완료. Structured tool output · Client ID Metadata Documents 등 신규 기능은 별도 진행 |
호환성 정책: MCP 는 semantic versioning 이 아닌 dated revision 방식. initialize 시점 protocolVersion 협상으로 결정. Hub 은 client 가 요청한 낮은 버전에 맞춰 응답하고, 우리가 지원하는 최상위 버전 이상은 하향 협상. 상위 revision 신규 기능은 opt-in.
3. Base Protocol 준수
| 항목 | 준수 | 비고 |
|---|---|---|
| JSON-RPC 2.0 message format | ✅ | Request / Response / Notification 모두 지원 |
| Stateful connection | ✅ | HTTP session 유지 (Streamable HTTP) |
| Capability negotiation | ✅ | initialize 시 협상 |
Server metadata (serverInfo) | ✅ | name + version 응답 |
| Protocol version handshake | ✅ | 2024-11-05 로 협상 (client 상위 버전 요청 시 하향) |
4. Server Features (우리가 client 에게 제공)
| Feature | 지원 | 비고 |
|---|---|---|
| Tools | ✅ | tools/list, tools/call 완전 지원. 각 툴킷의 스펙 (OpenAPI 등) 에서 자동 변환 |
| Resources | ❌ | 미구현. 우리 사용 사례는 tool 중심 (사내 API 호출). Resource 도입 요청 시 검토 |
| Prompts | ❌ | 미구현. 프롬프트 관리는 client (WRKS AI) 측 몫으로 유지 |
Tool 특징:
tools/list: enable 상태 tool 만 노출 (Studio 에서 관리자가 on/off 가능)tools/call: 호출 시 커넥터를 통해 사내 API 호출, 결과를content로 반환isError플래그로 도구 실패 명시- Tool 스펙 (name / description / inputSchema) 은 OpenAPI · DB describe 등에서 자동 유도
5. Transport 지원
| Transport | 지원 | 비고 |
|---|---|---|
| Streamable HTTP | ✅ | 주 방식. POST /mcp/<slug> 로 JSON-RPC 교환 |
| stdio | ❌ | SaaS 형태라 프로세스 기반 통신 불필요 |
| SSE (Server-Sent Events) | ❌ | 2025-06 spec 에서 deprecated. 미지원 |
6. Authorization
MCP 2025-11-25 spec 이 요구하는 authorization 흐름을 완전 준수. 상세는 별도 문서 OAuth 2.0 표준 준수 명세 참조.
주요 요약:
| 항목 | 준수 | 비고 |
|---|---|---|
| RFC 9728 Protected Resource Metadata | ✅ | .well-known/oauth-protected-resource/mcp/<slug> |
| RFC 8414 Authorization Server Metadata | ✅ | .well-known/oauth-authorization-server/mcp/<slug> |
| RFC 7591 Dynamic Client Registration | ✅ | Backwards-compat 용도 (MCP 2025-11-25 는 신규 client 에게 Client ID Metadata Documents 를 권장하지만 DCR 은 그대로 유효) |
| RFC 7636 PKCE (S256) | ✅ | 필수 강제. plain method 거부 |
| RFC 6750 Bearer Token | ✅ | Authorization: Bearer <token> + 401 시 WWW-Authenticate 헤더 |
| RFC 8707 Resource Indicators | ✅ (lenient) | MCP 2025-11-25 신규 필수 요구. 우리는 lenient 모드로 client 대응 유예 |
| OAuth 2.1 draft 준수 | 부분 ✅ | 대부분 요구사항 만족. 세부는 OAuth 문서 참조 |
| Client ID Metadata Documents | ❌ | MCP 2025-11-25 신규 권장. 로드맵에 있음 |
7. Security & Trust (MCP spec §2)
MCP spec 이 명시한 4대 원칙 준수:
7-1. User Consent and Control ✅
- 관리자 (Studio) 가 각 toolkit·tool·endpoint 를 활성/비활성 통제
- 사용자별 OAuth 승인 (per-user) 시 각 사용자 브라우저에서 명시적 consent
- 모든 접근·변경 이력을 감사 목적 이력으로 기록
7-2. Data Privacy ✅
- 사용자 OAuth token 은 개별 encryption context (AEAD) 로 격리 저장
- 사내 API 응답 데이터는 Hub 에 캐시·저장하지 않음 — request-per-response 통과
- 사용자 개인정보는 최소 저장 (identifier 성 데이터 미저장)
7-3. Tool Safety ✅
- Studio 관리자만 tool 활성화 권한 (기본 비활성)
- 각 tool 은 명시적 spec (input schema) 필요
- Dispatch 실패 시 명확한 오류 전달 (
isError: true) - 사용자 (WRKS AI 사용자) 는 client 측 UI 에서 tool 호출 승인
7-4. LLM Sampling Controls
- N/A — 우리는 server 라 client 의 sampling 흐름에 개입하지 않음
8. Additional Utilities
MCP spec 은 여러 부가 유틸리티를 정의. 우리 지원 현황:
| Utility | 지원 | 비고 |
|---|---|---|
| Error reporting | ✅ | JSON-RPC error 표준 응답 |
| Configuration | 부분 ✅ | Toolkit·endpoint 별 설정 (Studio UI). MCP capability negotiation 은 initialize 만 |
| Progress tracking | ❌ | 요청 → 응답이 짧은 도구 위주. Long-running tool 지원 시 검토 |
| Cancellation | ❌ | 상동 |
9. 우리만의 확장 (spec 준수 위에)
9-1. Endpoint-scoped MCP Server
각 MCP endpoint (/mcp/<slug>) 를 독립 MCP server 로 노출. Multi-tenant SaaS 특성상 endpoint 마다 다른 toolkit·auth·데이터 접근이므로.
9-2. Broker 아키텍처
Hub 자체는 사내 API 를 저장·처리하지 않고, 사내 커넥터 (별도 프로세스) 를 통해 위임. 데이터 residency + 감사 격리.
9-3. 관리자 화면 (Studio)
MCP spec 은 server 관리 UI 를 정의하지 않음. Studio 에서:
- Toolkit / endpoint / tool 통합 관리
- 실시간 호출 이력 · 오류 조회
- 사용자·팀 권한 관리
- 릴리즈 노트 알림
이 부분은 MCP spec 표준 밖의 부가 기능.
10. Roadmap (spec 대응)
| 항목 | 우선순위 | 예상 시기 |
|---|---|---|
| Client ID Metadata Documents (2025-11-25) | 중 | 파트너 요청 시 |
| Structured tool output (2025-06+) | 중 | 요청 시 |
MCP protocolVersion 응답 상향 (2025-11-25) | 저 | 하위 호환 확인 완료 후 |
| Resources feature | 낮 | 사용 사례 필요 시 |
| Prompts feature | 낮 | 상동 |
| Progress tracking / Cancellation | 낮 | Long-running tool 지원 시 |
11. 준수 검증 방법 (감사팀 자체 확인)
11-1. initialize 응답 검증
curl -X POST https://mcp-hub.wrks.ai/mcp/<slug> \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"audit","version":"1.0"}}}'
응답: protocolVersion, capabilities.tools, serverInfo 확인.
11-2. tools/list 응답 검증
curl -X POST https://mcp-hub.wrks.ai/mcp/<slug> \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
각 tool 이 name, description, inputSchema 를 포함하는지 확인.
11-3. WWW-Authenticate 헤더 검증
curl -i https://mcp-hub.wrks.ai/mcp/<slug>
401 응답 + WWW-Authenticate: Bearer error="...", resource_metadata="..." 헤더 확인.
11-4. Protected Resource Metadata
curl https://mcp-hub.wrks.ai/.well-known/oauth-protected-resource/mcp/<slug>
resource, authorization_servers, bearer_methods_supported, scopes_supported 필드 확인.
11-5. AS Metadata + PKCE 강제
curl https://mcp-hub.wrks.ai/.well-known/oauth-authorization-server/mcp/<slug>
code_challenge_methods_supported: ["S256"] 명시 확인.
12. 문의
- MCP spec 관련: modelcontextprotocol.io
- WRKS Hub 구현 관련: WRKS 담당자
- OAuth 세부: OAuth 2.0 표준 준수 명세