Files
dap-was-dapms/docs/contracts/agent-builder-mcp/observed-samples/2026-07-13/02-exa-web-search-exa-165324.md
koseokmin cb29b192b4 docs를 저장소로 되돌리고 계약 예제를 복원한다
5cfb8a1이 .gitignore에 docs/를 넣고 68개 파일을 지웠다. 그런데
AgentBuilderContractExampleTest, ToolBundleContractExampleTest,
ArchitectureDocumentContractTest는 docs/ 아래 계약 예제와 architecture
문서를 입력으로 직접 읽는다. 그 결과 clean clone에서 테스트 10건이
입력을 찾지 못해 실패했다.

제외 범위를 원래 의도대로 좁힌다. 에이전트 산출물(AGENTS.md, .agents/,
.codex/, docs/superpowers/)은 계속 제외하고 저장소 문서는 추적한다.

문서는 삭제 직전 상태(3de052a)를 기준으로 복원하고, 그 위에 main 코드와
대조해 어긋난 부분을 고쳤다.

- ADR-0007을 Superseded로 바꾸고 ADR-0013을 새로 쓴다. route당 Tool
  Service N개가 최종안이며, PortalToolRegistryClient가 이미 route별로
  N개를 유지하고 있는데 ADR-0007은 "bundles는 항상 한 항목"을 Accepted
  상태로 주장하고 있었다. ADR-0009 결정 4도 부분 대체한다.
- ADR-0008 파일 헤더가 Accepted였으나 ADR-0009가 이미 대체한 상태였다.
- 6078852의 endpoint 소유권 반전이 반영되지 않은 서술을 계약 v0.2,
  bundle 설정 예제, Tool 적재 안내에서 고친다.
- Portal registry 계약 v0.1과 route key 규약을 새로 문서화한다. 둘 다
  구현은 있는데 계약 문서가 없었다.
- MCP SDK 2.0.0 SBOM을 추가한다.

번호 주석: ADR-0011과 0012는 feature/mcp-integration이 Tool inputSchema
정책에 쓰고 있어 비워 둔다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 23:27:56 +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
}