Support MCP tooling hints#938
Conversation
There was a problem hiding this comment.
1 issue found across 6 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
🤖 Augment PR SummarySummary: Refactors the MCP implementation to use more explicit data structures and leaner JSON construction. Changes:
Notes: Both enterprise and OSS MCP actions were updated to match the new initialize metadata layout and descriptor API. 🤖 Was this summary useful? React with 👍 or 👎 |
| sourcemeta::core::JSON{server.title}, | ||
| MCP_HASH_TITLE); | ||
| } | ||
| if (!server.description.empty() && |
There was a problem hiding this comment.
src/mcp/mcp.cc:333 Emitting serverInfo.description/serverInfo.websiteUrl can conflict with the current initialize response schema (src/self/v1/schemas/mcp/initialize/response.json), where serverInfo.additionalProperties is false and these fields aren’t listed. If these ever become non-empty in metadata, schema validation/e2e checks may start failing.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| MCP_HASH_CAPABILITIES); | ||
| result.assign_assume_new(std::string{"serverInfo"}, std::move(server_info), | ||
| MCP_HASH_SERVER_INFO); | ||
| if (!instructions.empty()) { |
There was a problem hiding this comment.
src/mcp/mcp.cc:356 instructions is only emitted when non-empty, but the published initialize response schema currently requires an instructions property with minLength: 1. If any caller passes an empty string (or relies on the default argument), responses will stop conforming to that schema.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
src/mcpThere was a problem hiding this comment.
Benchmark Index (community)
Details
| Benchmark suite | Current: e1f7c47 | Previous: 15b88fe | Ratio |
|---|---|---|---|
Add one schema (0 existing) |
278 ms |
284 ms |
0.98 |
Add one schema (100 existing) |
25 ms |
27 ms |
0.93 |
Add one schema (1000 existing) |
83 ms |
88 ms |
0.94 |
Add one schema (10000 existing) |
686 ms |
846 ms |
0.81 |
Update one schema (1 existing) |
19 ms |
20 ms |
0.95 |
Update one schema (101 existing) |
26 ms |
28 ms |
0.93 |
Update one schema (1001 existing) |
83 ms |
87 ms |
0.95 |
Update one schema (10001 existing) |
689 ms |
723 ms |
0.95 |
Cached rebuild (1 existing) |
6 ms |
6 ms |
1 |
Cached rebuild (101 existing) |
8 ms |
8 ms |
1 |
Cached rebuild (1001 existing) |
30 ms |
31 ms |
0.97 |
Cached rebuild (10001 existing) |
269 ms |
281 ms |
0.96 |
Index 100 schemas |
112 ms |
119 ms |
0.94 |
Index 1000 schemas |
870 ms |
1133 ms |
0.77 |
Index 10000 schemas |
12922 ms |
14216 ms |
0.91 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark Index (enterprise)
Details
| Benchmark suite | Current: e1f7c47 | Previous: 15b88fe | Ratio |
|---|---|---|---|
Add one schema (0 existing) |
289 ms |
277 ms |
1.04 |
Add one schema (100 existing) |
29 ms |
27 ms |
1.07 |
Add one schema (1000 existing) |
86 ms |
79 ms |
1.09 |
Add one schema (10000 existing) |
703 ms |
852 ms |
0.83 |
Update one schema (1 existing) |
22 ms |
20 ms |
1.10 |
Update one schema (101 existing) |
28 ms |
26 ms |
1.08 |
Update one schema (1001 existing) |
86 ms |
78 ms |
1.10 |
Update one schema (10001 existing) |
707 ms |
640 ms |
1.10 |
Cached rebuild (1 existing) |
7 ms |
6 ms |
1.17 |
Cached rebuild (101 existing) |
9 ms |
8 ms |
1.13 |
Cached rebuild (1001 existing) |
32 ms |
27 ms |
1.19 |
Cached rebuild (10001 existing) |
275 ms |
239 ms |
1.15 |
Index 100 schemas |
132 ms |
116 ms |
1.14 |
Index 1000 schemas |
1047 ms |
1182 ms |
0.89 |
Index 10000 schemas |
13560 ms |
13674 ms |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti jv@jviotti.com