mcp_kit.targets.interfaces
Interface definitions for MCP targets.
Target
class Target(ConfigurableMixin)
Abstract base class for MCP targets.
A Target represents a destination for MCP tool calls. It defines the interface that all concrete target implementations must follow.
name
@property
@abstractmethod
def name() -> str
Get the name of this target.
Returns:
The target name
initialize
@abstractmethod
async def initialize() -> None
Initialize the target for use.
This method should be called before any other operations.
list_tools
@abstractmethod
async def list_tools() -> list[Tool]
List all available tools for this target.
Returns:
List of available MCP tools
call_tool
@abstractmethod
async def call_tool(name: str,
arguments: dict[str, Any] | None = None) -> list[Content]
Call a specific tool with given arguments.
Arguments:
name
: Name of the tool to callarguments
: Arguments to pass to the tool
Returns:
List of content responses from the tool
list_prompts
@abstractmethod
async def list_prompts() -> list[Prompt]
List all available prompts for this target.
Returns:
List of prompts
get_prompt
@abstractmethod
async def get_prompt(name: str,
arguments: dict[str, str] | None = None
) -> GetPromptResult
Get a specific prompt by name with optional arguments.
close
@abstractmethod
async def close() -> None
Clean up and close the target.
This method should be called when the target is no longer needed.