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>
9.5 KiB
9.5 KiB
관찰 로그 01 - 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 | 045992d3-9683-4409-9613-e355a3eb05e1 |
| tool_uid | f44207bd-9afb-4bbe-88d7-1cadf9e2779b |
| Tool version | 2.0 |
| 실행 시각 | 2026-07-13 16:53:16 UTC |
| 결과 | ok · 1896ms · 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:16 요청 → initialize
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": {
"name": "toolbox-executor",
"version": "0.1.0"
}
}
}
16:53:16 ← 응답 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:16 요청 → notifications/initialized
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
16:53:17 요청 → tools/call
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "web_search_exa",
"arguments": {
"query": "most popular useless github repository stars useless repo",
"numResults": 10.0
}
}
}
16:53:18 ← 응답 tools/call
{
"result": {
"content": [
{
"type": "text",
"text": "Title: btahir/uselesshooks\nURL: <https://github.com/btahir/uselesshooks\nPublished:
> N/A\nAuthor: N/A\nHighlights:\n# btahir/us\n...\n- Stars: 125\n- Forks: 9\n- Watchers: 125\n- Open
issues: 3\n- License: MIT License\n- Default branch: main\n- Created: 2022-12-18T03:03:19Z\n\n---\n\n
Title: Useless-Garbage-Institute/useless-garbage\nURL: <https://github.com/Useless-Garbage-Institute/
useless-garbage\nPublished:> 2015-08-27T22:14:06.000Z\nAuthor: N/A\nHighlights:\n# Repository: Useles
s-Garbage-Institute/useless-garbage\n...\nThe most profoundly useless javascript library ever invente
d.\n...\n- Stars: 6\n- Forks: 1\n- Watchers: 6\n- Open issues: 1\n- Primary language: JavaScript\n- L
anguages: JavaScript\n- Default branch: master\n- Created: 2015-08-27T22:14:06Z\n- Last push: 2015-09
-01T01:14:37Z\n- Contributors: 2 (top: kriztynna, cgalbiati)\n...\nThe useless-garbage library is the
only npm module that is guaranteed to have no redeemable functionality whatsoever. There are plenty o
f helpful JavaScript libraries out there, and some that are of questionable utility, but none that ar
e share our commitment to utter uselessness.\n\n---\n\nTitle: tomekw/whatever\nURL: <https://github.c
om/tomekw/whatever\nPublished:> N/A\nAuthor: N/A\nHighlights:\n- Stars: 281\n- Forks: 115\n- Watcher
s: 281\n- Open issues: 2\n- Default branch: master\n- Created: 2014-10-10T15:51:31Z\n\n---\n\nTitle:
thecodersroom/the-button-that-does-nothing\nURL: <https://github.com/thecodersroom/the-button-that-do
es-nothing\nPublished:> 2025-10-06T18:39:22.000Z\nAuthor: N/A\nHighlights:\n# Repository: thecodersro
om/the-button-that-does-nothing\n...\nthat looks important\n...\nliterally does nothing\n...\n- Star
s: 21\n- Forks: 67\n- Watchers: 0\n- Open issues: 24\n- Primary language: JavaScript\n- Languages: Ja
vaScript (45.4%), CSS (41.9%), HTML (12.7%)\n- License: MIT License (MIT)\n- Topics: css, hacktoberfe
st, hacktoberfest-accepted, html, javascript\n- Default branch: main\n- Homepage: <https://thecodersr
oom.github.io/the-button-that-does-nothing/\n-> Created: 2025-10-06T18:39:22Z\n- Last push: 2025-11-0
4T09:02:47Z\n- Contributors: 60 (top: AbdulKhadhar, AdZard69, Moksh-Mutreja, AshaSaini-033, akshith28
55, kronpatel, ahmedrazabaloch, AhishRagav, Nl-T-lN, vanshikap21)\n...\nbuilt entirely with **\n\n---
\n\nTitle: GitHub - niltok64/the-useless-collection: A collection of software that serve no purpose o
ther than waste your time. Forking is encouraged!\nURL: <https://github.com/niltok64/the-useless-coll
ection\nPublished:> 2021-11-30T09:35:25.000Z\nAuthor: niltok64\nHighlights:\n64/the\n...\nuseless-col
lection\n...\n[\nStar\n1\n](<https://github.com/login?return_to=/niltok64/the-useless-collection>)\n*
\nA collection of software that serve no purpose other than waste your time. Forking is encouraged!\n
[niltok64.github.io/the-useless-collection/](<https://niltok64.github.io/the-useless-collection/>)\n#
## License\n...\nstar\n](<https://github.com/niltok64/the-useless-collection/stargazers>) [\n0
\n...\n://github.com/niltok64/the-useless-collection/forks)\n...\n://github.com/niltok64/the-useless-
collection/branches) [\n...\n://github.com/niltok64/the-useless-collection/tags) [\nActivity
\n...\n://github.\n...\n/nilt\n...\nthe-useless-collection\n...\n[\n**1**\nstar\n](<https://github.co
m/niltok64/the-useless-collection/stargazers>)\n...\n### Watchers\n\n---\n\nTitle: GitHub - needless-
org/needless: The JavaScript library you never asked for, never needed, and probably shouldn't use. B
ut here we are!\nURL: <https://github.com/needless-org/needless\nPublished:> 2023-09-05T14:04:16.000Z
\nAuthor: needless-org\nHighlights:\nGitHub - needless-org/needless: The JavaScript library you never
asked for, never needed, and probably shouldn't use. But here we are!\n...\n[Skip to\n...\nneedless-o
rg/needless)\n...\nhttps://github\n...\ncom/login?return_to=/needless-org/needless)\n...\n[\nStar\n1
\n](<https://github.com/login?return_to=/needless-org/needless>)\n*\nThe JavaScript library you never
asked for, never needed, and probably shouldn't use. But here we are!\n...\n[\n1\nstar\n](<https://gi
thub.com/needless-org/needless/stargazers>) [\n0\nforks\n](<https://github.com/needless-org/needless/
forks>) [\nBranches\n](<https://github.com/needless-org/needless/branches>) [\nTags\n](<https://githu
b.com/needless-org/needless/tags>) [\nActivity\n](<https://github.com/needless-org/needless/activity
>)\n[\n...\nneedless-\n...\nneedless)\n...\nThe JavaScript library you never asked for, never needed,
and probably shouldn't use. But here we are!\n...\n\"My project is running too\n...\nwish there was
\n...\nadd some completely unnecessary\n...\nno further!\n...\nIntroducing `needless-js`, the world's
first and foremost pointless library. We bring the \"Why?\" into \"Why is this even a thing?\".\n## F
eatures\n...\n1. **Absolutely Useless**: Doesn't fix any problems because it doesn't know what proble
ms are.\n2. **Hilariously Redundant**: Why have one function when you can have ten doing the same thi
ng?\n3. **Zero Dependencies**: Mainly because no other library wants to be associated with us.\n4. **
Eco-friendly**: Uses 0% CPU because it does absolutely nothing.\n## Installation\n...\n[\n**1**\nstar
\n...\n](<https://github.com/needless-org/needless/stargazers>)\n\n---\n\nTitle: GitHub - terremoth/a
wesome-hilarious-repos\nURL: <https://github.com/terremoth/awesome-hilarious-repos\nPublished:> N/A\n
Author: N/A\nHighlights:\nAwesome Hilarious Github Repositories. Awesome license. GitHub contributor
s. List of all (?) available and funniest Github repos. Contribute if you know others!\n\n---\n\nTitl
e: SuavePirate/Xamarin.Yeet\nURL: <https://github.com/SuavePirate/Xamarin.Yeet\nPublished:> 2020-02-2
2T21:16:23.000Z\nAuthor: N/A\nHighlights:\n# Repository: SuavePirate/Xamarin.Yeet\n...\nAn absolutely
useless tool to yeet your components off the screen.\n...\n- Stars: 2\n- Forks: 1\n- Watchers: 1\n- O
pen issues: 0\n- Primary language: C#\n- Languages: C#\n- License: MIT License (MIT)\n- Default branc
h: master\n- Created: 2020-02-22T21:16:23Z\n- Last push: 2020-02-22T21:31:11Z\n- Contributors: 1 (to
p: SuavePirate)\n...\nAn absolutely useless tool to yeet your components off the screen.\n\n---\n\nTi
tle: nico-garnier/useless-repo\nURL: <https://github.com/nico-garnier/useless-repo\nPublished:> 2020-
12-03T11:49:46.000Z\nAuthor: N/A\nHighlights:\n# Repository: nico-garnier/useless-repo\n...\n- Stars:
1\n- Forks: 0\n- Watchers: 2\n- Open issues: 0\n- Default branch: main\n- Created: 2020-12-03T11:49:4
6Z\n- Last push: 2020-12-03T14:16:57Z\n- Contributors: 2 (top: nico-garnier, eilenilec)\n...\n# usele
ss-repo\n...\nFor github stat on top collaborators only.\n\n---\n\nTitle: elierotenberg/useless | Git
Hub | Open Source Insights\nURL: <https://deps.dev/project/github/elierotenberg%2fuseless\nPublished:
> N/A\nAuthor: N/A\nHighlights:\nelierotenberg/useless | GitHub | Open Source Insights\n...\n# eliero
tenberg/useless\n...\n33 stars",
"_meta": {
"searchTime": 1071.9
}
}
]
},
"jsonrpc": "2.0",
"id": 3
}