Support large MCP portal catalogs - #170
Conversation
|
Signature matches. The classification-from-index design correctly resolves the security defect the tests describe (labels derived from annotations, which the index carries, not from whether the detailed fetch reached the tool). I've completed a thorough review. The change is well-designed and the kernel-adjacent security boundaries hold. Let me summarize findings. I found no actionable defects — the concerns I investigated (truncation fail-safe in the mint path, bounded LGTM! Summary of what I verified:
I could not run |
28c41bc to
be0ac7f
Compare
|
All signatures match. I've completed a thorough review. Let me consolidate my findings. AssessmentThe change is well-designed and the kernel-adjacent security boundaries hold. I verified: Mint path (
Classification correctness — Auth transitions (account.ts) — the new No dangling references — all newly-referenced shared exports ( Configurator UX — the new I could not run LGTM! |
be0ac7f to
61a346e
Compare
|
The change from I've completed a thorough review of this PR. AssessmentThis is a well-designed change. I reviewed the security-critical mint path, the shared-library trust boundary, the concurrency guards, and cross-package consistency. The prior Mint path (
Type soundness — passing a Classification correctness — Auth transitions — No dangling references — helpers dropped from the connector ( Configurator UX — the new I could not run LGTM! |
61a346e to
b24fe02
Compare
|
My independent review is complete. I verified the security-critical mint path, the classification-source invariant, the auth-transition logic, the concurrency guards, and cross-package consistency. All boundaries hold and every branch fails closed. I could not run Key findings from my verification:
LGTM! |
b24fe02 to
f3dbabc
Compare
|
I've completed a thorough review. Let me summarize my assessment. The prior The change is well-designed. I verified the security-critical paths: Mint path (
Classification correctness — Auth transitions — Configurator bounds — No dangling references — removed helpers ( I could not run LGTM! |
f3dbabc to
aaecbdf
Compare
|
The README is thorough and consistent with the implementation. I've completed my review. I performed an independent verification of the security-critical paths rather than relying on the prior Mint path (
Classification invariant — Type soundness — Auth transitions — Configurator bounds — No dangling references — removed helpers survive only in prose; all newly-imported shared exports ( I could not run LGTM! |
aaecbdf to
bdd300e
Compare
|
The README is thorough and consistent with the implementation. I've completed a thorough independent review. Let me consolidate. I examined the security-critical mint path, the shared-library changes, the concurrency guards, and cross-package consistency, verifying against the actual source rather than relying on the prior reviews. Mint path (
Classification invariant — Type soundness — Fail-closed parsing — Auth/concurrency — Configurator bounds — No dangling references — removed helpers survive only in prose; all newly-imported shared exports exist with matching signatures. README and I could not run LGTM! |
bdd300e to
d749301
Compare
|
All exports resolve. Let me do one final verification: the I've thoroughly reviewed the security-critical mint path, the classification-source invariant, the fail-closed parsing, the auth transitions, the concurrency guard, the configurator bounds, and cross-package consistency. Let me confirm my findings against the actual behavior once more on the one area I flagged (OAuth revision recording) — it is benign since the oauth digest excludes the token and the legacy-account branch only invalidates for I found no actionable defects. My independent verification confirms the prior review findings. LGTM! I performed an independent review of this PR (base Mint path (
Classification invariant — Fail-closed parsing — Type soundness — Auth/concurrency — Configurator bounds — No dangling references — removed connector helpers ( I could not run LGTM! |
d749301 to
7a4e384
Compare
|
The tests thoroughly pin down the security-critical behavior, including the annotation-clamping test that verifies I've completed a thorough independent review of this PR. Let me consolidate my findings. I verified the change against the actual source rather than relying solely on the prior Mint path (
Classification invariant (the defect the tests pin). Fail-closed parsing. Type soundness. Auth/concurrency. Configurator bounds. No dangling references. Removed connector helpers ( I could not run LGTM! |
|
GPT Findings:
|
d05fa20 to
cc21770
Compare
|
@dcartertwo Bonk workflow failed. Check the logs for details. View workflow run · To retry, trigger Bonk again. |
|
Confirmed the mint path fails closed: a named tool absent from the (possibly truncated) index throws. The security-critical invariant holds. I have completed a thorough independent review. My assessment of the four GPT findings and the overall change:
I independently verified the security-critical mint path fails closed in every branch ( No actionable defects introduced by this PR. LGTM! |
cc21770 to
715cc94
Compare
|
UnknownError: "Internal server error" |
|
No dangling references to the removed helpers in the connector. The imports at the top of portal.ts ( My independent review is complete. I have no inline findings to submit. Review completeI performed an independent review of this PR against the base branch Mint path ( Classification invariant — Auth transitions — On the five GPT findings: I confirmed #1 and #4 describe pre-existing base behavior (byte-identical I could not run LGTM! |
715cc94 to
972434f
Compare
|
I've now completed a thorough independent review of the actual delta (base Review summaryI verified the security-critical paths against the actual source in Mint path (
Classification invariant (the defect the tests pin). Type soundness. Fail-closed parsing. On the five GPT findings ( I could not run LGTM! |
972434f to
b4a5027
Compare
|
I have completed my review. Let me summarize my independent assessment. Review completeI reviewed the true delta of this PR (single commit Mint path (
Classification-source invariant (the pinned defect). Fail-closed parsing. On the five GPT findings: #1 and #2 reference Consistency. No dangling imports; removed helpers survive only in accurate prose comments. The I could not run LGTM! |
|
Everything checks out. I've now independently verified the security-critical paths. Let me consolidate my findings. Review completeI reviewed the true delta of this PR (single commit Mint path (
Classification-source invariant (the pinned defect). Fail-closed parsing. On the five GPT findings: #1 and #2 reference Consistency. No dangling imports; removed connector helpers ( I could not run LGTM! |
Depends on #169.
An MCP Portal flattens many upstream servers into one tool catalog, which may be too large to retain safely. The configurator trusts the portal’s bounded server list first, falls back to a compact global index only when that list is incomplete, and fetches one bounded summary list for the selected server. Every grant names exactly one upstream server, optionally narrowed to specific tools.
Portal-native management tools are never grantable. Truncated or malformed discovery fails closed, local scope errors are rejected before remote scans, and all catalog work is bounded.
The endpoint must expose direct tools. Deployments where Code Mode is default-on can opt this client out with
?codemode=off; enforced Code Mode is unsupported.