Cache MCP tools/list by scope #515

Open
opened 2026-09-30 13:35:45 +00:00 by kayg · 0 comments
Owner

Parent: Forgejo #492.

The locked current-release profile measured tools/list on source commit 369ab6a2f9fc673e3564b94857fbecfeb04df404 (binary SHA-256 bb3dde668120fd848ef6e31997293701e0de8332d1d615f4f41f0e30b9e2324d). It returned 8 tools. The 30 cold samples had p95 26.825 ms; the 100 warm samples had p95 21.051 ms on the local HTTP/1.1 connection. The server returned no ETag, cache policy, compression, or pagination cursor, so a conditional cached request could not be measured. The warm response was 2,990 wire bytes; the compact tool array was 2,889 bytes / 654 o200k_base tokens. A hypothetical one-tool dispatcher was 2,969 bytes / 681 tokens for these 8 tools.

The cached tools/list target is below 5 ms. This baseline misses it, and the full #484 registry is still pending, so its 400+ tool payload remains unmeasured. Track a per-scope cache and conditional response behavior, then measure the complete registry. The profile did not include server-side timing, so the latency above is client-side loopback latency.

Parent: Forgejo #492. The locked current-release profile measured `tools/list` on source commit `369ab6a2f9fc673e3564b94857fbecfeb04df404` (binary SHA-256 `bb3dde668120fd848ef6e31997293701e0de8332d1d615f4f41f0e30b9e2324d`). It returned 8 tools. The 30 cold samples had p95 26.825 ms; the 100 warm samples had p95 21.051 ms on the local HTTP/1.1 connection. The server returned no ETag, cache policy, compression, or pagination cursor, so a conditional cached request could not be measured. The warm response was 2,990 wire bytes; the compact tool array was 2,889 bytes / 654 `o200k_base` tokens. A hypothetical one-tool dispatcher was 2,969 bytes / 681 tokens for these 8 tools. The cached `tools/list` target is below 5 ms. This baseline misses it, and the full #484 registry is still pending, so its 400+ tool payload remains unmeasured. Track a per-scope cache and conditional response behavior, then measure the complete registry. The profile did not include server-side timing, so the latency above is client-side loopback latency.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#515
No description provided.