C.W.K.
Stream
Lesson 04 of 04 · published

Compatibility 매트릭스

~22 min · matrix, testing, ci, interop

Level 0호기심 많은 독자
0 XP0/48 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

다른 사람이 쓰는 MCP server (또는 client) ship 하면 — compatibility 매트릭스 빚져 — 어느 protocol revision × 어느 client × 어느 transport 에 실제로 테스트했는지 published list. 매트릭스가 정직 두 컬럼: known-good, 명시적 known-untested. 둘 다 support pain 줄임.

가치 추가하는 가장 싼 매트릭스: revision 셋 깊이 (현재 + 이전 둘), 가장 많이 쓰는 client 셋 (Claude Desktop, Cursor, custom host), 두 transport (stdio, Streamable HTTP). 각 셀에 — server 띄워 end-to-end smoke test 돌리는 — CI job (initialize → list tools → call one tool → shutdown). 실패 셀이 bug; 통과 셀이 commitment.

매트릭스가 caveat publish 자리이기도. "Streamable HTTP 가 Cloudflare Workers 아래 동작, 단 websocket 활성화 필요" 가 정확히 — 다음 user 의 하루 디버깅 절약하는 — 종류 note. 매트릭스가 README 에서 가장 유용한 section.

Code

README 의 sample compatibility 매트릭스·markdown
| Server v1.4.0          | 2025-03-26 | 2025-06-18 | 2025-11-25 |
|------------------------|:----------:|:----------:|:----------:|
| Claude Desktop (stdio) | ✅         | ✅         | ✅         |
| Cursor (stdio)         | ✅         | ✅         | ✅         |
| Custom host (HTTP)     | ✅         | ✅         | ✅         |
| Bare HTTP+SSE          | ✅         | ⚠️ deprecated | ❌      |

Notes:
- Async tasks: 2025-11-25 host 만 (다른 곳에선 sync 로 auto-fallback).
- Sampling: host 가 `sampling` capability 광고 필요.
Revision 에 pin 한 CI smoke test·yaml
matrix:
  protocol_version: ["2025-11-25", "2025-06-18", "2025-03-26"]
  transport: ["stdio", "streamable-http"]
steps:
  - run: pytest tests/smoke.py --protocol $PROTOCOL_VERSION --transport $TRANSPORT

External links

Exercise

Ship 하는 server 하나에 README 에 3×3×2 compatibility 매트릭스 초안. 가능한 모든 셀 smoke test 돌려. 안 테스트 셀 마크. README push. 연습이 — 실제로 아는 셀과 낙관이었던 셀 — 드러내.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.