Files
koseokmin 58d3014a0f
All checks were successful
Deploy Gateway / deploy (push) Successful in 2m52s
저장소 문서를 다시 추적하고 계약 예제를 복원한다
계약 테스트는 docs/contracts 아래 예제를 golden example로 읽는다.
docs/와 README.md가 ignore되어 있어 예제 파일이 사라졌고 9건이
실패하고 있었다. 문서가 온전했던 마지막 상태(3de052a)에서 복원하고
.gitignore에서 두 항목을 제거한다. 에이전트 산출물인
docs/superpowers/ 제외는 유지한다.

initialize 응답의 capabilities.tools.listChanged를 문서는 true로
적고 있었으나 InitializeHandler는 false를 낸다. 현재 HTTP 단발 응답
transport가 notification을 push할 수 없으므로 false가 맞다. 예제와
architecture.md를 코드에 맞추고, ToolListChangedEvent가 발행되지만
아직 소비되지 않는다는 점과 SSE 도입 시 true로 바꾼다는 조건을
남긴다.

169개 테스트 전부 통과.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 17:16:13 +09:00

3.9 KiB

관찰 로그 05 - langconnect / list_collections

  • 출처: MCP_툴_호출_통신_로그_(JSON-RPC) (1).pdf
  • 원본 생성 시각: 2026-07-13 17:10:33 UTC
  • 성격: Agent Builder 솔루션에서 수행한 관찰용 실행 로그. 본 문서는 구현 계약이나 테스트 fixture가 아니다.

헤더 및 실행 메타데이터

항목 원본 기록 값
transport type mcp-http
request_id ac3d3c06-882e-4416-be34-a20c5f91662f
tool_uid 636e8cd0-3114-467f-b305-14e2c9cda744
Tool version 1.0
실행 시각 2026-07-13 17:08:46 UTC
결과 ok · 346ms · truncated=False
JSON-RPC 프레임 수 5
lifecycle initialize → notifications/initialized → tools/call

HTTP 헤더 기록 범위

원본 PDF에는 개별 HTTP request/response header 값이 기록되어 있지 않다. 원본 표의 request_id, tool_uid, version은 실행 메타데이터이며 HTTP header라고 단정하지 않는다.

원본 공통 안내에는 시크릿 및 인증 header가 로깅 전에 [REDACTED]로 마스킹되었다고 명시되어 있다. 따라서 Authorization, Mcp-Session-Id 등 실제 HTTP header 값은 이 문서에 포함하지 않는다.

JSON-RPC 통신 전문

아래는 원본 PDF의 JSON-RPC 프레임을 순서대로 옮긴 전사본이다. 긴 result.content[].text 문자열은 PDF의 시각적 줄바꿈을 보존했으므로, 이 블록 전체를 기계 실행용 단일 JSON payload로 사용하지 않는다.

17:08:46 요청 → initialize
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": {
"name": "toolbox-executor",
"version": "0.1.0"
}
}
}
17:08:46 ← 응답 initialize
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2025-06-18",
"capabilities": {
"experimental": {},
"logging": {},
"prompts": {
"listChanged": true
},
"resources": {
"subscribe": false,
"listChanged": true
},
"tools": {
"listChanged": true
},
"extensions": {
"io.modelcontextprotocol/ui": {}
}
},
"serverInfo": {
"name": "langconnect-rag-mcp",
"version": "3.3.1"
},
"instructions": "This server provides RAG tools over document collections. Call list_collections
() first: it returns collections you can access plus per-collection role and allowed_tools (derived f
rom RBAC scopes). Use search_documents/search_documents_batch/search_documents_with_context for retri
eval. Use list_documents to inspect documents. Use add_document_text to add text. Use delete_documen
t/delete_collection only when allowed_tools includes them. Call get_user_info() to get the current us
er's email and display name."
}
}
17:08:46 요청 → notifications/initialized
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
17:08:46 요청 → tools/call
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "list_collections",
"arguments": {}
}
}
17:08:47 ← 응답 tools/call
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "{\"data\":[{\"name\":\"test\",\"id\":\"1caf198a-444b-4a89-a235-23e82bc3d68a\",\"meta
data\":{\"description\":\"col\"},\"role\":0,\"allowed_tools\":[\"add_document_text\",\"delete_collect
ion\",\"delete_document\",\"list_documents\",\"search_documents\",\"search_documents_batch\",\"search
_documents_with_context\"],\"document_count\":2,\"chunk_count\":119}],\"success\":true,\"error\":nul
l,\"request_id\":\"b3fa0787-dce3-449b-aff0-51a8d882e81d\"}"
}
],
"structuredContent": {
"data": [
{
"name": "test",
"id": "1caf198a-444b-4a89-a235-23e82bc3d68a",
"metadata": {
"description": "col"
},
"role": 0,
"allowed_tools": [
"add_document_text",
"delete_collection",
"delete_document",
"list_documents",
"search_documents",
"search_documents_batch",
"search_documents_with_context"
],
"document_count": 2,
"chunk_count": 119
}
],
"success": true,
"error": null,
"request_id": "b3fa0787-dce3-449b-aff0-51a8d882e81d"
},
"isError": false
}
}