Make MCP resource listing dynamic for authentication purposes#1072
Conversation
There was a problem hiding this comment.
Benchmark Index (community)
Details
| Benchmark suite | Current: bb9ef6d | Previous: 8ad8503 | Ratio |
|---|---|---|---|
Add one schema (0 existing) |
383 ms |
385 ms |
0.99 |
Add one schema (100 existing) |
28 ms |
32 ms |
0.88 |
Add one schema (1000 existing) |
81 ms |
89 ms |
0.91 |
Add one schema (10000 existing) |
643 ms |
721 ms |
0.89 |
Update one schema (1 existing) |
23 ms |
24 ms |
0.96 |
Update one schema (101 existing) |
29 ms |
32 ms |
0.91 |
Update one schema (1001 existing) |
86 ms |
91 ms |
0.95 |
Update one schema (10001 existing) |
668 ms |
731 ms |
0.91 |
Cached rebuild (1 existing) |
6 ms |
7 ms |
0.86 |
Cached rebuild (101 existing) |
8 ms |
10 ms |
0.80 |
Cached rebuild (1001 existing) |
29 ms |
33 ms |
0.88 |
Cached rebuild (10001 existing) |
247 ms |
279 ms |
0.89 |
Index 100 schemas |
588 ms |
630 ms |
0.93 |
Index 1000 schemas |
1536 ms |
1490 ms |
1.03 |
Index 10000 schemas |
13721 ms |
13554 ms |
1.01 |
Index 10000 schemas (custom meta-schema) |
16245 ms |
16027 ms |
1.01 |
Index 10000 schemas ($ref fan-out) |
16561 ms |
16282 ms |
1.02 |
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: bb9ef6d | Previous: 8ad8503 | Ratio |
|---|---|---|---|
Add one schema (0 existing) |
378 ms |
377 ms |
1.00 |
Add one schema (100 existing) |
33 ms |
32 ms |
1.03 |
Add one schema (1000 existing) |
89 ms |
87 ms |
1.02 |
Add one schema (10000 existing) |
720 ms |
750 ms |
0.96 |
Update one schema (1 existing) |
25 ms |
26 ms |
0.96 |
Update one schema (101 existing) |
33 ms |
33 ms |
1 |
Update one schema (1001 existing) |
91 ms |
88 ms |
1.03 |
Update one schema (10001 existing) |
740 ms |
733 ms |
1.01 |
Cached rebuild (1 existing) |
8 ms |
8 ms |
1 |
Cached rebuild (101 existing) |
11 ms |
10 ms |
1.10 |
Cached rebuild (1001 existing) |
34 ms |
32 ms |
1.06 |
Cached rebuild (10001 existing) |
288 ms |
253 ms |
1.14 |
Index 100 schemas |
721 ms |
684 ms |
1.05 |
Index 1000 schemas |
1504 ms |
1665 ms |
0.90 |
Index 10000 schemas |
13976 ms |
14244 ms |
0.98 |
Index 10000 schemas (custom meta-schema) |
16660 ms |
17195 ms |
0.97 |
Index 10000 schemas ($ref fan-out) |
16489 ms |
17536 ms |
0.94 |
This comment was automatically generated by workflow using github-action-benchmark.
a08ac04 to
b49993b
Compare
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
b49993b to
82e0e10
Compare
There was a problem hiding this comment.
2 issues found across 6 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
🤖 Augment PR SummarySummary: Makes MCP Changes:
Technical Notes: The listing now derives from 🤖 Was this summary useful? React with 👍 or 👎 |
| const auto &authentication{this->dispatcher().authentication()}; | ||
| auto resources{sourcemeta::core::JSON::make_array()}; | ||
| std::size_t admitted{0}; | ||
| this->search_view_.for_each( |
There was a problem hiding this comment.
enterprise/server/action_mcp_v1.cc:68: cursor values that are not a multiple of MCP_RESOURCES_PAGE_SIZE are only rejected after walking the full search_view_, so malformed cursors can still trigger a full scan. Consider validating the modulo constraint before the for_each to fail fast.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
1 issue found across 2 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Signed-off-by: Juan Cruz Viotti jv@jviotti.com