Resources 는 MCP 의 read-only 쪽. 안정된 identity 가지고 fetch 가능한 거 다 모델: 디스크 파일, DB row, docs 페이지, memory state snapshot. 각 resource 는 URI (wire 위 이름), mime type, optional annotation, text 또는 binary 인 content.
Protocol 이 resource method 셋 노출: resources/list 가 사용 가능 resource 반환, resources/read 가 URI 로 한 resource content 반환, resources/subscribe (server 가 광고할 때) 는 client 가 특정 resource 변경 알림 받게. Subscriber 는 host 가 panel 을 up-to-date 유지하고 싶을 때 live-data UI 의 토대.
맞는 mental model: Resources 는 user 한테 안 묻고 host 가 읽을 수 있는 거. 디자인상 안전 — side effect 없음, state 변이 없음, 되돌릴 수 없는 동작 없음. 그래서 host 가 confirmation 요구 없이 공격적으로 list 하고 pre-fetch 가능.
흔한 패턴: Postgres MCP server 가 table 당 resource 하나 노출 (URI postgres:///orders), filesystem server 가 허용된 path 당 resource, docs server 가 page 당 resource. Tool 은 변이; Resource 는 그냥 read 되길 기다리며 앉아있어.