커피 지식 그래프 MCP 서버
AI 도구가 이 사이트의 커피 지식 그래프를 직접 검색하고 탐색할 수 있도록 두 가지 방식을 제공합니다.
| 방식 | 대상 | 할 수 있는 것 |
|---|---|---|
| 원격 MCP 서버 | Claude Code, Claude, Cursor, VS Code 등 MCP 클라이언트 | 그래프 조회 (읽기 전용) |
| WebMCP | 브라우저 안의 AI 에이전트 (그래프 페이지를 연 상태) | 그래프 조회 + 화면 조작(노드 이동·필터·하이라이트) + 메모·포스트잇 작성 |
| 내장 AI 채팅 | 그래프 페이지의 채팅 창 (설치 없이 바로) | 질문하면 MCP로 그래프를 조회해 답하고, 관련 노드를 그래프에 하이라이트 |
원격 MCP 서버
https://coffee-graph.pages.dev/mcp서버 상태 확인 중…
| 항목 | 내용 |
|---|---|
| 전송 방식 | Streamable HTTP (POST, JSON 응답). 세션 없음(stateless), 서버 → 클라이언트 스트림(SSE) 없음 |
| 프로토콜 버전 | 2025-06-18, 2025-03-26, 2024-11-05 |
| 인증 | 없음. 누구나 읽을 수 있는 공개 데이터이며 쓰기 도구는 없습니다 |
| 제공 기능 | 도구(tools) 10개, 리소스(resources) 4개 |
연결 방법
사용하는 AI 도구를 고르세요. 아래 예시는 모두 위 엔드포인트 주소를 씁니다.
터미널에서 한 줄로 추가합니다.
claude mcp add --transport http coffee-graph {{URL}}모든 프로젝트에서 쓰려면 --scope user를 붙이세요. Claude Code 안에서 /mcp를 입력하면 연결 상태와 도구 목록을 볼 수 있습니다.
- Claude에서 설정 → 커넥터로 갑니다.
- 커스텀 커넥터 추가를 누릅니다.
- 이름에
coffee-graph, 원격 MCP 서버 URL에 아래 주소를 넣고 추가합니다.
{{URL}}~/.cursor/mcp.json(전체) 또는 프로젝트의 .cursor/mcp.json에 추가합니다.
{
"mcpServers": {
"coffee-graph": {
"url": "{{URL}}"
}
}
}프로젝트의 .vscode/mcp.json에 추가하고, Copilot 채팅을 에이전트 모드로 쓰면 도구가 나타납니다.
{
"servers": {
"coffee-graph": {
"type": "http",
"url": "{{URL}}"
}
}
}원격(HTTP) MCP를 직접 지원하지 않고 로컬 명령(stdio)만 받는 도구는 mcp-remote로 중계할 수 있습니다. Node.js가 필요합니다.
{
"mcpServers": {
"coffee-graph": {
"command": "npx",
"args": ["-y", "mcp-remote", "{{URL}}"]
}
}
}직접 확인 (curl)
도구 목록을 받아 봅니다.
curl -s {{URL}} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'도구를 호출해 봅니다 (카투아이의 계보).
curl -s {{URL}} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_lineage","arguments":{"variety":"카투아이"}}}'도구
서버에서 실시간으로 불러온 목록입니다.
| 이름 | 설명 | 주요 인자 |
|---|---|---|
get_overview | 클래스·관계·출처 개요 | — |
search_nodes | 라벨·id·속성 검색 | query, class, limit |
get_node | 노드 속성과 모든 간선 | id, include_derived |
get_neighbors | 관계·방향별 이웃 | id, relation, direction |
find_path | 두 노드 사이 최단 경로 | from, to, max_depth |
list_nodes | 클래스별 노드 목록 | class |
query_edges | 조건으로 간선 찾기 | relation, source, target, confidence |
get_lineage | 품종 계보 트리와 종 | variety, direction |
get_roast_levels | 배전도 8단계 표 | — |
get_ontology | 온톨로지 규칙과 검증 보고서 | — |
리소스
| URI | 내용 |
|---|---|
coffee://summary | 수집 문서 (원두·로스팅·원산지·블렌딩, 출처·한계 포함) |
coffee://ontology | 온톨로지 정의 (클래스, 관계, 추론·검증 규칙) |
coffee://validation-report | 규칙 검증 보고서 |
coffee://graph.json | 그래프 전체 (노드·간선 JSON) |
WebMCP (브라우저 안 AI 에이전트)
그래프 페이지는 W3C Web Machine Learning 커뮤니티 그룹의 WebMCP 초안에 따라 document.modelContext.registerTool()로 도구 20개를 등록합니다. 브라우저에 내장되었거나 확장으로 붙은 AI 에이전트가 페이지를 연 상태에서 이 도구를 직접 호출할 수 있습니다.
사용 조건
- WebMCP를 지원하는 브라우저와 에이전트가 필요합니다. 현재 Chrome에서 초기 미리보기(오리진 트라이얼·실험 기능)로 제공됩니다. 켜는 방법은 Chrome WebMCP 문서를 참고하세요.
- 그래프 페이지 오른쪽 아래 상태 표시줄에 “WebMCP 도구 20개 등록”이 보이면 사용할 수 있는 상태입니다. 지원하지 않는 브라우저에서는 “WebMCP 미지원”으로 나오고, 페이지는 평소처럼 동작합니다.
- 예전 초안의
navigator.modelContext만 있는 환경(일부 폴리필)도 대체 경로로 지원합니다.
도구
조회 도구 10개는 위 MCP 서버와 같은 코드이고, 아래 10개는 페이지에서만 쓸 수 있습니다.
| 이름 | 하는 일 | 주석 |
|---|---|---|
focus_node | 노드를 선택하고 화면 가운데로 이동, 노트 패널 열기 | — |
set_search_filter | 그래프 검색 필터 변경 (빈 값이면 해제) | — |
set_class_visibility | 클래스 보이기·숨기기 | — |
reset_filters | 검색어·클래스·관계 필터를 기본값으로 | — |
fit_view | 그래프 전체를 화면에 맞춤 | — |
get_view_state | 선택 노드, 필터, 보이는 노드 수 | readOnly |
get_memos | 사용자가 쓴 노드 메모·포스트잇 읽기 | readOnly, untrustedContent |
set_node_memo | 노드 메모 쓰기·덧붙이기 | — |
delete_node_memo | 노드 메모 삭제 | consequential |
add_postit | 포스트잇 붙이기 (노드에 붙이거나 화면 가운데) | — |
get_memos의 내용은 사용자가 쓴 글이라 untrustedContentHint를 붙였고, delete_node_memo는 되돌릴 수 없어 consequentialHint를 붙였습니다.내장 AI 채팅
그래프 페이지 오른쪽 아래의 채팅 버튼(또는 왼쪽 리본의 말풍선)을 누르면 바로 쓸 수 있습니다. 별도 설정이 필요 없습니다.
| 항목 | 내용 |
|---|---|
| 모델 | Cloudflare Workers AI @cf/zai-org/glm-4.7-flash (Workers 무료 플랜에서 사용 가능, 함수 호출 지원). 실패하면 @cf/google/gemma-4-26b-a4b-it로 한 번 대체 |
| 동작 | /api/chat이 이 사이트의 MCP 서버에 initialize → tools/list → tools/call로 그래프를 조회하고, 모델이 요청한 화면 동작(하이라이트·노드 이동·필터·화면 맞춤)을 브라우저가 실행합니다 |
| 화면 반영 | 답변 속 노드 이름은 클릭하면 그래프의 그 노드로 이동합니다. 관련 노드는 하이라이트되고 나머지는 흐려집니다. 사용한 MCP 도구는 답변 아래에서 펼쳐 볼 수 있습니다 |
| 제한 | 계정의 Workers AI 무료 할당(하루 10,000 뉴런, UTC 0시 초기화)을 함께 씁니다. 다 쓰면 다음 날까지 채팅이 멈춥니다. 질문당 도구 왕복은 최대 5회입니다 |
| 개인정보 | 질문과 대화 기록, 선택한 노드 이름이 Workers AI로 전송됩니다. 노드 메모와 포스트잇은 보내지 않습니다 |
검색 하이라이트
그래프 설정의 검색 필터나 탐색기 검색창에 입력한 글자는 그래프에서 일치하는 노드를 하이라이트하고, 탐색기와 노트 패널의 일치하는 글자에 형광 표시를 합니다. 채팅 답변과 WebMCP의 highlight_nodes도 같은 하이라이트를 씁니다. 위쪽의 하이라이트 표시줄에서 해제할 수 있습니다.
이렇게 물어보세요
- 카투아이는 어떤 품종들에서 나왔고, 종은 무엇이야?
- 종간 교잡 품종을 모두 찾아서 부모를 알려 줘.
- 웻헐링 가공은 어디서 쓰이고 맛에 어떤 영향을 줘?
- 시티 로스트와 프렌치 로스트의 차이를 그래프 기준으로 비교해 줘.
- 게이샤와 인도네시아는 그래프에서 어떻게 연결돼?
- (WebMCP) 버번 계열 품종만 그래프에 보여 주고, 카투라에 “녹병 저항 비교” 메모를 남겨 줘.
데이터를 읽을 때 주의할 점
- 모든 간선에
confidence가 있습니다.confirmed는 출처에 직접 서술,claimed는 업계 자료 등의 주장,inferred는 암시 또는 규칙 도출입니다. derived: true인 간선은 온톨로지 규칙(R3~R9)으로 추론한 것이고,rule에 규칙 이름이 있습니다.- 출처는 위키백과 문서 6개입니다. 블렌딩 방법은 위키백과에 문서가 없어 웹 검색 요약(업계 자료)에 기대므로 모두
claimed입니다. - 대륙·국가·산지 노드 48개에는 위키백과 대표 이미지 속성(
image,image_file,image_source,image_kind,wiki_url)이 있습니다.image_kind가coffee면 “Coffee production in ○○” 문서의 커피 사진,general이면 국가·지역 문서의 대표 이미지(국기·지도 등)입니다. 이미지 라이선스는image_file의 Wikimedia Commons 페이지를 따릅니다. - 그래프에 적은 메모(포스트잇·노드 메모)는 각자의 브라우저에만 저장되어 MCP 서버로는 전달되지 않습니다.