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

8.8 KiB

관찰 로그 02 - exa / web_search_exa

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

헤더 및 실행 메타데이터

항목 원본 기록 값
transport type mcp-http
request_id 536d9a7e-be3e-4847-8878-f71ae1d690ba
tool_uid f44207bd-9afb-4bbe-88d7-1cadf9e2779b
Tool version 2.0
실행 시각 2026-07-13 16:53:24 UTC
결과 ok · 1768ms · 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로 사용하지 않는다.

16:53:24 요청 → initialize
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": {
"name": "toolbox-executor",
"version": "0.1.0"
}
}
}
16:53:24 ← 응답 initialize
{
"result": {
"protocolVersion": "2025-06-18",
"capabilities": {
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
},
"serverInfo": {
"name": "exa-search-server",
"title": "Exa",
"version": "3.2.1",
"websiteUrl": "<https://exa.ai>",
"icons": [
{
"src": "<https://exa.ai/images/favicon-32x32.png>",
"mimeType": "image/png",
"sizes": [
"32x32"
]
}
]
}
},
"jsonrpc": "2.0",
"id": 1
}
16:53:24 요청 → notifications/initialized
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
16:53:24 요청 → tools/call
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "web_search_exa",
"arguments": {
"query": "site:github.com \"does nothing\" stars",
"numResults": 10.0
}
}
}
16:53:25 ← 응답 tools/call
{
"result": {
"content": [
{
"type": "text",
"text": "Title: michaelb/do-nothing.vim\nURL: <https://github.com/michaelb/do-nothing.vim\nPu
blished:> N/A\nAuthor: N/A\nHighlights:\nA vim plugin that does nothing. Because why not\n...\n- Star
s: 121\n- Forks: 4\n- Watchers: 121\n- Open issues: 1\n- License: MIT License\n- Default branch: main
\n- Created: 2021-07-06T07:35:05Z\n...\nThis plugin doesn't do anything.\n\n---\n\nTitle: silicakes/n
ada-js\nURL: <https://github.com/silicakes/nada-js\nPublished:> N/A\nAuthor: N/A\nHighlights:\nA Libr
ary that does nothing\n...\n- Stars: 32\n- Forks: 0\n- Watchers: 32\n- Open issues: 3\n- License: MIT
License\n- Default branch: main\n- Created: 2019-05-29T22:52:59Z\n...\n### A Library that does nothin
g in or for your project\n...\nNadaJS gives a single guarantee: Aside from taking space, it will do a
bsolutely nothing.\nNo matter what kind of project, architecture or constraints you might have, nadaJ
S always gets nothing done.\n\n---\n\nTitle: GitHub - azr/donothing: does nothing !\nURL: <https://gi
thub.com/azr/donothing\nPublished:> 2012-10-25T16:10:49.000Z\nAuthor: azr\nHighlights:\nGitHub - az
\n...\ndonothing: does nothing !\n...\n[\nStar\n1\n](<https://github.com/login?return_to=/azr/donothi
ng>)\n...\n*\ndoes nothing !\n### License\n...\n[\n1\n...\nstar\n](<https://github.com/azr/donothing/
stargazers>) [\n0\n...\n://github.com/azr/donothing/forks) [\n...\n://github.com/azr/donothing/branch
es\n...\nTags\n](\n...\n://github.com/azr/donothing/tags\n...\n://github.com/azr/donothing/activity)
\n...\n://github.com/\n...\n=/azr/donothing)\n...\ndoes nothing !\n...\n[\n**1**\nstar\n](<https://gi
thub.com/azr/donothing/stargazers>)\n\n---\n\nTitle: imjakechapman/TheNothingApp\nURL: <https://githu
b.com/imjakechapman/TheNothingApp\nPublished:> 2014-06-19T22:35:01.000Z\nAuthor: N/A\nHighlights:\nTh
e app that does literally nothing.\n...\n- Stars: 19\n- Forks: 2\n- Watchers: 19\n- Open issues: 2\n-
Primary language: Swift\n- Languages: Swift (71.3%), Java (28.7%)\n- Default branch: master\n- Homepa
ge: thenothingapp.com\n- Created: 2014-06-19T22:35:01Z\n- Last push: 2015-06-22T22:07:41Z\n- Contribu
tors: 2 (top: imjakechapman, thiagokimo)\n...\nThe app that does literally nothing, hackernews/design
ernews/twitter approved best application for doing jack-diddley-squat.\n\n---\n\nTitle: thecodersroo
m/the-button-that-does-nothing\nURL: <https://github.com/thecodersroom/the-button-that-does-nothing\n
Published:> 2025-10-06T18:39:22.000Z\nAuthor: N/A\nHighlights:\n- Stars: 21\n- Forks: 67\n- Watchers:
0\n- Open issues: 24\n- Primary language: JavaScript\n- Languages: JavaScript (45.4%), CSS (41.9%), H
TML (12.7%)\n- License: MIT License (MIT)\n- Topics: css, hacktoberfest, hacktoberfest-accepted, htm
l, javascript\n- Default branch: main\n- Homepage: <https://thecodersroom.github.io/the-button-that-d
oes-nothing/\n-> Created: 2025-10-06T18:39:22Z\n- Last push: 2025-11-04T09:02:47Z\n- Contributors: 60
(top: AbdulKhadhar, AdZard69, Moksh-Mutreja, AshaSaini-033, akshith2855, kronpatel, ahmedrazabaloch,
AhishRagav, Nl-T-lN, vanshikap21)\n\n---\n\nTitle: seeschloss/nothing-to-see-here\nURL: <https://gith
ub.com/seeschloss/nothing-to-see-here\nPublished:> N/A\nAuthor: N/A\nHighlights:\nAn NPM package whic
h does nothing\n...\n- Stars: 1\n- Forks: 0\n- Watchers: 1\n- Open issues: 0\n- License: MIT License
\n- Default branch: master\n- Created: 2015-01-21T08:32:44Z\n...\n## Usage ##\n\n var nothing = requi
re('nothing-to-see-here');\n // Do nothing with nothing, since it does nothing at all.\n\n---\n\nTitl
e: 10xly/do-nothing\nURL: <https://github.com/10xly/do-nothing\nPublished:> N/A\nAuthor: N/A\nHighlig
hts:\n- Stars: 1\n- Forks: 0\n- Watchers: 1\n- Open issues: 0\n- Default branch: main\n- Created: 202
4-09-06T19:20:09Z\n- Fork: yes\n...\nDo nothing.\n...\nIt's just another noop\n\n---\n\nTitle: Search
code, repositories, users, issues, pull requests...\nURL: <https://github.com/techsiddhi/does-nothing
\nPublished:> 2025-07-22T16:46:01.000Z\nAuthor: techsiddhi\nHighlights:\n.com/\n...\n](https://
\n...\n* [Notifications](<https://github.com/login?return_to=/techsiddhi/does-nothing>)You must be si
gned in to change notification settings\n* [Fork0](<https://github.com/login?return_to=/techsiddhi/do
es-nothing>)\n* [Star1](<https://github.com/login?return_to=/techsiddhi/does-nothing>)\n...\n[1star]
(<https://github.com/techsiddhi/does-nothing/stargazers>)[0forks](<https://github.com/techsiddhi/does
-nothing/forks>)[Branches](<https://github.com/techsiddhi/does-nothing/branches>)[Tags](<https://gith
ub.com/techsiddhi/does-nothing/tags>)[Activity](<https://github.com/techsiddhi/does-nothing/activity
>)\n...\n[Star](<https://github.com/login?return_to=/techsiddhi/does-nothing>)\n...\n/activity)
\n...\n[**1**star](<https://github.com/techsiddhi/does-nothing/stargazers>)\n### Watchers\n[**0**watc
hing](<https://github.com/techsiddhi/does-nothing/watchers>)\n\n---\n\nTitle: NicusorN5/DoNothing\nUR
L: <https://github.com/NicusorN5/DoNothing\nPublished:> 2023-08-19T15:20:52.000Z\nAuthor: N/A\nHighli
ghts:\nThis does nothing. Literally nothing.\n...\n- Stars: 0\n- Forks: 0\n- Watchers: 0\n- Open issu
es: 0\n- Primary language: Assembly\n- Languages: Assembly\n- License: MIT License (MIT)\n- Topics: a
ssembly, nothing\n- Default branch: main\n- Created: 2023-08-19T15:20:52Z\n- Last push: 2023-08-19T1
5:29:03Z\n- Contributors: 1 (top: NicusorN5)\n- Releases: 1\n- Latest release: release (2023-08-19T1
5:29:03Z)\n- Archived: true\n...\nThis does nothing. Literally nothing.\n\n---\n\nTitle: README.md\nU
RL: <https://github.com/torahappy/does_nothing/blob/master/README.md\nPublished:> N/A\nAuthor: N/A\nH
ighlights:\n# does_nothing : A library that does nothing\n...\n- `function a()`\n - Description: Does
some meaningless caluculation.\n - Input: nothing.\n - Output: nothing.\n...\n- `function b()`\n - De
scription: Does some meaningless caluculation.\n - Input: nothing.\n - Output: nothing.\n...\n- `func
tion c()`\n - Description: Does some meaningless caluculation.\n - Input: nothing.\n - Output: nothin
g.\n...\nThough functions in this library are completely harmless and consume little cpu resource, no
t telling users that the program sometimes does a meaningless calculation or computes inefficiently m
ay result in a criminal prosecution as the program may be against users' intention. (in Japan)",
"_meta": {
"searchTime": 976.1
}
}
]
},
"jsonrpc": "2.0",
"id": 3
}