Class McpSkillAccessPolicy
Discovery checks access first and invokes the discovery evaluator only for accessible registrations. An accessible but undiscoverable registration is omitted from listing but remains eligible for direct access. Direct skill lookup and file reads freshly evaluate access; an earlier list is not a grant. Denial supplies no grant through that registration, rather than vetoing a shared file independently granted through another accessible owner.
Evaluators receive canonical registrations and must support concurrent invocation. The immutable policy does not make captured application state thread-safe. Callback failures and null results fail closed; no partially authorized result is published. Policies retain reference identity and do not inspect evaluator capabilities for equality or diagnostic rendering.
- Author:
- Mark Allen
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceConcurrently callable registration access evaluator.static interfaceConcurrently callable discovery evaluator for accessible registrations. -
Method Summary
Modifier and TypeMethodDescriptionstatic @NonNull McpSkillAccessPolicystatic @NonNull McpSkillAccessPolicyfromEvaluators(@NonNull McpSkillAccessPolicy.AccessEvaluator accessEvaluator, @NonNull McpSkillAccessPolicy.DiscoveryEvaluator discoveryEvaluator) Creates a policy from two required application-owned evaluators.toString()
-
Method Details
-
fromEvaluators
public static @NonNull McpSkillAccessPolicy fromEvaluators(@NonNull McpSkillAccessPolicy.AccessEvaluator accessEvaluator, @NonNull McpSkillAccessPolicy.DiscoveryEvaluator discoveryEvaluator) Creates a policy from two required application-owned evaluators.- Parameters:
accessEvaluator- registration access evaluatordiscoveryEvaluator- listing eligibility evaluator- Returns:
- immutable policy
- Throws:
NullPointerException- if either evaluator is null
-
allowAllInstance
- Returns:
- shared policy permitting access to and discovery of every registered skill
-
toString
-