duck.contrib.mcp.capabilities.accessor¶
Explicit, traceable accessor for MCP capabilities.
Provides attribute-style access to registered capabilities with clear error messages and discovery methods.
Module Contents¶
Classes¶
Explicit, traceable accessor for MCP capabilities. |
API¶
- class duck.contrib.mcp.capabilities.accessor.CapabilityAccessor(view: MCPView)[source]¶
Explicit, traceable accessor for MCP capabilities.
Provides attribute-style access to registered capabilities with clear error messages and discovery methods.
Example:
capabilities = CapabilityAccessor(view) capabilities.tools # Returns ToolsCapability capabilities.server # Returns aliased capability capabilities.get('tools') # Safe get with default capabilities.has('server') # Check existence capabilities.list() # List all capabilitiesInitialization
- __getattr__(name: str)[source]¶
Attribute-style access to capabilities.
… rubric:: Example
self.capabilities.tools self.capabilities.server
- get(name: str, default=None)[source]¶
Get a capability by name or alias.
- Parameters:
name – Capability name or alias
default – Value to return if capability doesn’t exist
Example:
server_cap = self.capabilities.get('_server_requests') if server_cap: await server_cap.send_request(...)
- list() Dict[str, str][source]¶
List all registered capabilities and their aliases.
- Returns:
Dict mapping capability names to their aliases (or None)
- register(name: str, capability: duck.contrib.mcp.capabilities.Capability, alias: str = None) duck.contrib.mcp.capabilities.Capability[source]¶
Internal: Register a capability.
- property registry: Dict[str, duck.contrib.mcp.capabilities.Capability]¶
Public property for the capabilities registry.
- set_alias(alias: str, capability_name: str)[source]¶
Create an alias for a capability.
- Parameters:
alias – Short name to use (e.g., ‘server’, ‘tools’)
capability_name – The registered capability name (e.g., ‘_server_requests’)
Example:
capabilities.set_alias('server', '_server_requests') # Now capabilities.server works
- unregister(name: str) duck.contrib.mcp.capabilities.Capability[source]¶
Internal: Unregister a capability.