autogen_ext.tools.mcp#
- create_mcp_server_session(server_params: Annotated[StdioServerParams | SseServerParams | StreamableHttpServerParams, FieldInfo(annotation=NoneType, required=True, discriminator='type')], sampling_callback: SamplingFnT | None = None) AsyncGenerator[ClientSession, None][quelle]#
Erstellt eine MCP-Clientsitzung für die angegebenen Serverparameter.
- class McpSessionActor(server_params: Annotated[StdioServerParams | SseServerParams | StreamableHttpServerParams, FieldInfo(annotation=NoneType, required=True, discriminator='type')], model_client: ChatCompletionClient | None = None)[quelle]#
Bases:
ComponentBase[BaseModel],Component[McpSessionActorConfig]- component_type: ClassVar[ComponentType] = 'mcp_session_actor'#
Der logische Typ der Komponente.
- component_config_schema#
alias von
McpSessionActorConfig
- component_provider_override: ClassVar[str | None] = 'autogen_ext.tools.mcp.McpSessionActor'#
Überschreibe den Anbieter-String für die Komponente. Dies sollte verwendet werden, um zu verhindern, dass interne Modulnamen Teil des Modulnamens werden.
- server_params: Annotated[StdioServerParams | SseServerParams | StreamableHttpServerParams, FieldInfo(annotation=NoneType, required=True, discriminator='type')]#
- async call(type: str, args: McpActorArgs | None = None) Future[Coroutine[Any, Any, ListToolsResult] | Coroutine[Any, Any, CallToolResult] | Coroutine[Any, Any, ListPromptsResult] | Coroutine[Any, Any, ListResourcesResult] | Coroutine[Any, Any, ListResourceTemplatesResult] | Coroutine[Any, Any, ReadResourceResult] | Coroutine[Any, Any, GetPromptResult]][quelle]#
- class StdioMcpToolAdapter(server_params: StdioServerParams, tool: Tool, session: ClientSession | None = None)[quelle]#
Bases:
McpToolAdapter[StdioServerParams],Component[StdioMcpToolAdapterConfig]Ermöglicht die Umhüllung eines MCP-Tools, das über STDIO läuft, und dessen Bereitstellung für AutoGen.
Dieser Adapter ermöglicht die Verwendung von MCP-kompatiblen Tools, die über Standardeingabe/-ausgabe mit AutoGen-Agenten kommunizieren. Gängige Anwendungsfälle sind die Einbindung von Befehlszeilen-Tools und lokalen Diensten, die das Model Context Protocol (MCP) implementieren.
Hinweis
Um diese Klasse zu verwenden, müssen Sie die mcp-Erweiterung für das Paket autogen-ext installieren.
pip install -U "autogen-ext[mcp]"
- Parameter:
server_params (StdioServerParams) – Parameter für die MCP-Serververbindung, einschließlich des auszuführenden Befehls und seiner Argumente
tool (Tool) – Das zu umhüllende MCP-Tool
session (ClientSession, optional) – Die zu verwendende MCP-Clientsitzung. Wenn nicht angegeben, wird eine neue Sitzung erstellt. Dies ist nützlich für Tests oder wenn Sie den Lebenszyklus der Sitzung selbst verwalten möchten.
Siehe
mcp_server_tools()für Beispiele.- component_config_schema#
alias von
StdioMcpToolAdapterConfig
- pydantic model StdioServerParams[quelle]#
Bases:
StdioServerParametersParameter für die Verbindung zu einem MCP-Server über STDIO.
JSON-Schema anzeigen
{ "title": "StdioServerParams", "description": "Parameters for connecting to an MCP server over STDIO.", "type": "object", "properties": { "command": { "title": "Command", "type": "string" }, "args": { "items": { "type": "string" }, "title": "Args", "type": "array" }, "env": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Env" }, "cwd": { "anyOf": [ { "type": "string" }, { "format": "path", "type": "string" }, { "type": "null" } ], "default": null, "title": "Cwd" }, "encoding": { "default": "utf-8", "title": "Encoding", "type": "string" }, "encoding_error_handler": { "default": "strict", "enum": [ "strict", "ignore", "replace" ], "title": "Encoding Error Handler", "type": "string" }, "type": { "const": "StdioServerParams", "default": "StdioServerParams", "title": "Type", "type": "string" }, "read_timeout_seconds": { "default": 5, "title": "Read Timeout Seconds", "type": "number" } }, "required": [ "command" ] }
- Felder:
read_timeout_seconds (float)type (Literal['StdioServerParams'])
- class SseMcpToolAdapter(server_params: SseServerParams, tool: Tool, session: ClientSession | None = None)[quelle]#
Bases:
McpToolAdapter[SseServerParams],Component[SseMcpToolAdapterConfig]Ermöglicht die Umhüllung eines MCP-Tools, das über Server-Sent Events (SSE) läuft, und dessen Bereitstellung für AutoGen.
Dieser Adapter ermöglicht die Verwendung von MCP-kompatiblen Tools, die über HTTP mit SSE kommunizieren, mit AutoGen-Agenten. Gängige Anwendungsfälle sind die Integration mit entfernten MCP-Diensten, Cloud-basierten Tools und Web-APIs, die das Model Context Protocol (MCP) implementieren.
Hinweis
Um diese Klasse zu verwenden, müssen Sie die mcp-Erweiterung für das Paket autogen-ext installieren.
pip install -U "autogen-ext[mcp]"
- Parameter:
server_params (SseServerParameters) – Parameter für die MCP-Serververbindung, einschließlich URL, Header und Timeouts.
tool (Tool) – Das zu umhüllende MCP-Tool.
session (ClientSession, optional) – Die zu verwendende MCP-Clientsitzung. Wenn nicht angegeben, wird eine neue Sitzung erstellt. Dies ist nützlich für Tests oder wenn Sie den Lebenszyklus der Sitzung selbst verwalten möchten.
Examples
Verwenden Sie einen entfernten Übersetzungsdienst, der MCP über SSE implementiert, um Tools zu erstellen, mit denen AutoGen-Agenten Übersetzungen durchführen können
import asyncio from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import SseMcpToolAdapter, SseServerParams from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.ui import Console from autogen_core import CancellationToken async def main() -> None: # Create server params for the remote MCP service server_params = SseServerParams( url="https://api.example.com/mcp", headers={"Authorization": "Bearer your-api-key", "Content-Type": "application/json"}, timeout=30, # Connection timeout in seconds ) # Get the translation tool from the server adapter = await SseMcpToolAdapter.from_server_params(server_params, "translate") # Create an agent that can use the translation tool model_client = OpenAIChatCompletionClient(model="gpt-4") agent = AssistantAgent( name="translator", model_client=model_client, tools=[adapter], system_message="You are a helpful translation assistant.", ) # Let the agent translate some text await Console( agent.run_stream(task="Translate 'Hello, how are you?' to Spanish", cancellation_token=CancellationToken()) ) if __name__ == "__main__": asyncio.run(main())
- component_config_schema#
alias von
SseMcpToolAdapterConfig
- pydantic model SseServerParams[quelle]#
Bases:
BaseModelParameter für die Verbindung zu einem MCP-Server über SSE.
JSON-Schema anzeigen
{ "title": "SseServerParams", "description": "Parameters for connecting to an MCP server over SSE.", "type": "object", "properties": { "type": { "const": "SseServerParams", "default": "SseServerParams", "title": "Type", "type": "string" }, "url": { "title": "Url", "type": "string" }, "headers": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers" }, "timeout": { "default": 5, "title": "Timeout", "type": "number" }, "sse_read_timeout": { "default": 300, "title": "Sse Read Timeout", "type": "number" } }, "required": [ "url" ] }
- Felder:
headers (dict[str, Any] | None)sse_read_timeout (float)timeout (float)type (Literal['SseServerParams'])url (str)
- class StreamableHttpMcpToolAdapter(server_params: StreamableHttpServerParams, tool: Tool, session: ClientSession | None = None)[quelle]#
Bases:
McpToolAdapter[StreamableHttpServerParams],Component[StreamableHttpMcpToolAdapterConfig]Ermöglicht die Umhüllung eines MCP-Tools, das über Streamable HTTP läuft, und dessen Bereitstellung für AutoGen.
Dieser Adapter ermöglicht die Verwendung von MCP-kompatiblen Tools, die über Streamable HTTP mit AutoGen-Agenten kommunizieren. Gängige Anwendungsfälle sind die Integration mit entfernten MCP-Diensten, Cloud-basierten Tools und Web-APIs, die das Model Context Protocol (MCP) implementieren.
Hinweis
Um diese Klasse zu verwenden, müssen Sie die mcp-Erweiterung für das Paket autogen-ext installieren.
pip install -U "autogen-ext[mcp]"
- Parameter:
server_params (StreamableHttpServerParams) – Parameter für die MCP-Serververbindung, einschließlich URL, Header und Timeouts.
tool (Tool) – Das zu umhüllende MCP-Tool.
session (ClientSession, optional) – Die zu verwendende MCP-Clientsitzung. Wenn nicht angegeben, wird eine neue Sitzung erstellt. Dies ist nützlich für Tests oder wenn Sie den Lebenszyklus der Sitzung selbst verwalten möchten.
Examples
Verwenden Sie einen entfernten Übersetzungsdienst, der MCP über Streamable HTTP implementiert, um Tools zu erstellen, mit denen AutoGen-Agenten Übersetzungen durchführen können
import asyncio from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import StreamableHttpMcpToolAdapter, StreamableHttpServerParams from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.ui import Console from autogen_core import CancellationToken async def main() -> None: # Create server params for the remote MCP service server_params = StreamableHttpServerParams( url="https://api.example.com/mcp", headers={"Authorization": "Bearer your-api-key", "Content-Type": "application/json"}, timeout=30.0, # HTTP timeout in seconds sse_read_timeout=300.0, # SSE read timeout in seconds (5 minutes) terminate_on_close=True, ) # Get the translation tool from the server adapter = await StreamableHttpMcpToolAdapter.from_server_params(server_params, "translate") # Create an agent that can use the translation tool model_client = OpenAIChatCompletionClient(model="gpt-4") agent = AssistantAgent( name="translator", model_client=model_client, tools=[adapter], system_message="You are a helpful translation assistant.", ) # Let the agent translate some text await Console( agent.run_stream(task="Translate 'Hello, how are you?' to Spanish", cancellation_token=CancellationToken()) ) if __name__ == "__main__": asyncio.run(main())
- component_config_schema#
alias von
StreamableHttpMcpToolAdapterConfig
- pydantic model StreamableHttpServerParams[quelle]#
Bases:
BaseModelParameter für die Verbindung zu einem MCP-Server über Streamable HTTP.
JSON-Schema anzeigen
{ "title": "StreamableHttpServerParams", "description": "Parameters for connecting to an MCP server over Streamable HTTP.", "type": "object", "properties": { "type": { "const": "StreamableHttpServerParams", "default": "StreamableHttpServerParams", "title": "Type", "type": "string" }, "url": { "title": "Url", "type": "string" }, "headers": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers" }, "timeout": { "default": 30.0, "title": "Timeout", "type": "number" }, "sse_read_timeout": { "default": 300.0, "title": "Sse Read Timeout", "type": "number" }, "terminate_on_close": { "default": true, "title": "Terminate On Close", "type": "boolean" } }, "required": [ "url" ] }
- Felder:
headers (dict[str, Any] | None)sse_read_timeout (float)terminate_on_close (bool)timeout (float)type (Literal['StreamableHttpServerParams'])url (str)
- async mcp_server_tools(server_params: Annotated[StdioServerParams | SseServerParams | StreamableHttpServerParams, FieldInfo(annotation=NoneType, required=True, discriminator='type')], session: ClientSession | None = None) list[StdioMcpToolAdapter | SseMcpToolAdapter | StreamableHttpMcpToolAdapter][Quelle]#
Erstellt eine Liste von MCP-Tool-Adaptern, die mit AutoGen-Agenten verwendet werden können.
Warnung
Verbinden Sie sich nur mit vertrauenswürdigen MCP-Servern, insbesondere wenn Sie StdioServerParams verwenden, da dies Befehle in der lokalen Umgebung ausführt.
Diese Factory-Funktion stellt eine Verbindung zu einem MCP-Server her und gibt Adapter für alle verfügbaren Tools zurück. Die Adapter können direkt der Tool-Liste eines AutoGen-Agenten zugewiesen werden.
Hinweis
Um diese Funktion nutzen zu können, müssen Sie die mcp-Erweiterung für das autogen-ext-Paket installieren.
pip install -U "autogen-ext[mcp]"
- Parameter:
server_params (McpServerParams) – Verbindungsparameter für den MCP-Server. Kann entweder StdioServerParams für Befehlszeilen-Tools oder SseServerParams und StreamableHttpServerParams für HTTP/SSE-Dienste sein.
session (ClientSession | None) – Optionale vorhandene Sitzung zur Verwendung. Dies wird verwendet, wenn Sie eine bestehende Verbindung zum MCP-Server wiederverwenden möchten. Die Sitzung wird bei der Erstellung der MCP-Tool-Adapter wiederverwendet.
- Gibt zurück:
list[StdioMcpToolAdapter | SseMcpToolAdapter | StreamableHttpMcpToolAdapter] – Eine Liste von einsatzbereiten Tool-Adaptern für AutoGen-Agenten.
Examples
Beispiel für einen lokalen Dateisystem-MCP-Dienst über Standard-Ein-/Ausgabe
Installieren Sie das Dateisystem-Server-Paket von npm (erfordert Node.js 16+ und npm).
npm install -g @modelcontextprotocol/server-filesystem
Erstellen Sie einen Agenten, der alle Tools vom lokalen Dateisystem-MCP-Server verwenden kann.
import asyncio from pathlib import Path from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import StdioServerParams, mcp_server_tools from autogen_agentchat.agents import AssistantAgent from autogen_core import CancellationToken async def main() -> None: # Setup server params for local filesystem access desktop = str(Path.home() / "Desktop") server_params = StdioServerParams( command="npx.cmd", args=["-y", "@modelcontextprotocol/server-filesystem", desktop] ) # Get all available tools from the server tools = await mcp_server_tools(server_params) # Create an agent that can use all the tools agent = AssistantAgent( name="file_manager", model_client=OpenAIChatCompletionClient(model="gpt-4"), tools=tools, # type: ignore ) # The agent can now use any of the filesystem tools await agent.run(task="Create a file called test.txt with some content", cancellation_token=CancellationToken()) if __name__ == "__main__": asyncio.run(main())
Beispiel für einen lokalen Abruf-MCP-Dienst über Standard-Ein-/Ausgabe
Installieren Sie das Paket mcp-server-fetch.
pip install mcp-server-fetch
Erstellen Sie einen Agenten, der das fetch-Tool vom lokalen MCP-Server verwenden kann.
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import StdioServerParams, mcp_server_tools async def main() -> None: # Get the fetch tool from mcp-server-fetch. fetch_mcp_server = StdioServerParams(command="uvx", args=["mcp-server-fetch"]) tools = await mcp_server_tools(fetch_mcp_server) # Create an agent that can use the fetch tool. model_client = OpenAIChatCompletionClient(model="gpt-4o") agent = AssistantAgent(name="fetcher", model_client=model_client, tools=tools, reflect_on_tool_use=True) # type: ignore # Let the agent fetch the content of a URL and summarize it. result = await agent.run(task="Summarize the content of https://en.wikipedia.org/wiki/Seattle") print(result.messages[-1]) asyncio.run(main())
Gemeinsame Nutzung einer MCP-Client-Sitzung über mehrere Tools hinweg
Sie können eine einzelne MCP-Client-Sitzung erstellen und diese für mehrere Tools gemeinsam nutzen. Dies ist manchmal erforderlich, wenn der Server einen Sitzungsstatus (z. B. einen Browserstatus) beibehält, der für mehrere Anfragen wiederverwendet werden soll.
Das folgende Beispiel zeigt, wie eine einzelne MCP-Client-Sitzung zu einem lokalen Playwright-Server erstellt und für mehrere Tools gemeinsam genutzt wird.
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.conditions import TextMentionTermination from autogen_agentchat.teams import RoundRobinGroupChat from autogen_agentchat.ui import Console from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import StdioServerParams, create_mcp_server_session, mcp_server_tools async def main() -> None: model_client = OpenAIChatCompletionClient(model="gpt-4o", parallel_tool_calls=False) # type: ignore params = StdioServerParams( command="npx", args=["@playwright/mcp@latest"], read_timeout_seconds=60, ) async with create_mcp_server_session(params) as session: await session.initialize() tools = await mcp_server_tools(server_params=params, session=session) print(f"Tools: {[tool.name for tool in tools]}") agent = AssistantAgent( name="Assistant", model_client=model_client, tools=tools, # type: ignore ) termination = TextMentionTermination("TERMINATE") team = RoundRobinGroupChat([agent], termination_condition=termination) await Console( team.run_stream( task="Go to https://ekzhu.com/, visit the first link in the page, then tell me about the linked page." ) ) asyncio.run(main())
Beispiel für einen entfernten MCP-Dienst über SSE
from autogen_ext.tools.mcp import SseServerParams, mcp_server_tools async def main() -> None: # Setup server params for remote service server_params = SseServerParams(url="https://api.example.com/mcp", headers={"Authorization": "Bearer token"}) # Get all available tools tools = await mcp_server_tools(server_params) # Create an agent with all tools agent = AssistantAgent(name="tool_user", model_client=OpenAIChatCompletionClient(model="gpt-4"), tools=tools) # type: ignore
Weitere Beispiele und detaillierte Verwendung finden Sie im Verzeichnis „samples“ im Paket-Repository.
- class McpWorkbench(server_params: Annotated[StdioServerParams | SseServerParams | StreamableHttpServerParams, FieldInfo(annotation=NoneType, required=True, discriminator='type')], tool_overrides: Dict[str, ToolOverride] | None = None, model_client: ChatCompletionClient | None = None)[Quelle]#
Basiert auf:
Workbench,Component[McpWorkbenchConfig]Eine Workbench, die einen MCP-Server umschließt und eine Schnittstelle zum Auflisten und Aufrufen von vom Server bereitgestellten Tools bietet.
Warnung
Verbinden Sie sich nur mit vertrauenswürdigen MCP-Servern, insbesondere wenn Sie StdioServerParams verwenden, da dies Befehle in der lokalen Umgebung ausführt.
Diese Workbench sollte als Kontextmanager verwendet werden, um die ordnungsgemäße Initialisierung und Bereinigung der zugrunde liegenden MCP-Sitzung sicherzustellen.
MCP-Unterstützung# MCP-Fähigkeit
Unterstützte Funktionen
Tools
list_tools, call_tool
Ressourcen
list_resources, read_resource
ResourceTemplates
list_resource_templates, read_resource_template
Prompts
list_prompts, get_prompt
Sampling
Optionale Unterstützung über model_client
Roots
nicht unterstützt
Ellicitation
nicht unterstützt
- Parameter:
server_params (McpServerParams) – Die Parameter zum Verbinden mit dem MCP-Server. Dies kann entweder ein
StdioServerParamsoder einSseServerParamssein.tool_overrides (Optional[Dict[str, ToolOverride]]) – Optionale Zuordnung von ursprünglichen Tool-Namen zu Überschreibungskonfigurationen für Name und/oder Beschreibung. Dies ermöglicht die Anpassung, wie Server-Tools für Verbraucher angezeigt werden, während die zugrunde liegende Tool-Funktionalität beibehalten wird.
model_client – Optionaler Chat-Completion-Client zur Verarbeitung von Sampling-Anfragen von MCP-Servern, die die Sampling-Fähigkeit unterstützen. Dies ermöglicht MCP-Servern, Textgenerierung von einem Sprachmodell während der Tool-Ausführung anzufordern. Wenn nicht angegeben, geben Sampling-Anfragen einen Fehler zurück.
- Löst aus:
ValueError – Wenn es Konflikte bei den Tool-Überschreibungsnamen gibt.
Examples
Hier ist ein einfaches Beispiel für die Verwendung der Workbench mit einem mcp-server-fetch-Server
import asyncio from autogen_ext.tools.mcp import McpWorkbench, StdioServerParams async def main() -> None: params = StdioServerParams( command="uvx", args=["mcp-server-fetch"], read_timeout_seconds=60, ) # You can also use `start()` and `stop()` to manage the session. async with McpWorkbench(server_params=params) as workbench: tools = await workbench.list_tools() print(tools) result = await workbench.call_tool(tools[0]["name"], {"url": "https://github.com/"}) print(result) asyncio.run(main())
Beispiel für die Verwendung von Tool-Überschreibungen
import asyncio from autogen_ext.tools.mcp import McpWorkbench, StdioServerParams from autogen_core.tools import ToolOverride async def main() -> None: params = StdioServerParams( command="uvx", args=["mcp-server-fetch"], read_timeout_seconds=60, ) # Override the fetch tool's name and description overrides = { "fetch": ToolOverride(name="web_fetch", description="Enhanced web fetching tool with better error handling") } async with McpWorkbench(server_params=params, tool_overrides=overrides) as workbench: tools = await workbench.list_tools() # The tool will now appear as "web_fetch" with the new description print(tools) # Call the overridden tool result = await workbench.call_tool("web_fetch", {"url": "https://github.com/"}) print(result) asyncio.run(main())
Beispiel für die Verwendung der Workbench mit dem GitHub MCP Server
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.ui import Console from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import McpWorkbench, StdioServerParams async def main() -> None: model_client = OpenAIChatCompletionClient(model="gpt-4.1-nano") server_params = StdioServerParams( command="docker", args=[ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server", ], env={ "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", }, ) async with McpWorkbench(server_params) as mcp: agent = AssistantAgent( "github_assistant", model_client=model_client, workbench=mcp, reflect_on_tool_use=True, model_client_stream=True, ) await Console(agent.run_stream(task="Is there a repository named Autogen")) asyncio.run(main())
Beispiel für die Verwendung der Workbench mit dem Playwright MCP Server
# First run `npm install -g @playwright/mcp@latest` to install the MCP server. import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.teams import RoundRobinGroupChat from autogen_agentchat.conditions import TextMessageTermination from autogen_agentchat.ui import Console from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import McpWorkbench, StdioServerParams async def main() -> None: model_client = OpenAIChatCompletionClient(model="gpt-4.1-nano") server_params = StdioServerParams( command="npx", args=[ "@playwright/mcp@latest", "--headless", ], ) async with McpWorkbench(server_params) as mcp: agent = AssistantAgent( "web_browsing_assistant", model_client=model_client, workbench=mcp, model_client_stream=True, ) team = RoundRobinGroupChat( [agent], termination_condition=TextMessageTermination(source="web_browsing_assistant"), ) await Console(team.run_stream(task="Find out how many contributors for the microsoft/autogen repository")) asyncio.run(main())
- component_provider_override: ClassVar[str | None] = 'autogen_ext.tools.mcp.McpWorkbench'#
Überschreibe den Anbieter-String für die Komponente. Dies sollte verwendet werden, um zu verhindern, dass interne Modulnamen Teil des Modulnamens werden.
- component_config_schema#
Alias von
McpWorkbenchConfig
- property server_params: Annotated[StdioServerParams | SseServerParams | StreamableHttpServerParams, FieldInfo(annotation=NoneType, required=True, discriminator='type')]#
- async list_tools() List[ToolSchema][Quelle]#
Listet die derzeit verfügbaren Tools in der Workbench als
ToolSchema-Objekte auf.Die Liste der Tools kann dynamisch sein und ihr Inhalt kann sich nach der Tool-Ausführung ändern.
- async call_tool(name: str, arguments: Mapping[str, Any] | None = None, cancellation_token: CancellationToken | None = None, call_id: str | None = None) ToolResult[Quelle]#
Ruft ein Tool in der Workbench auf.
- Parameter:
name (str) – Der Name des aufzurufenden Tools.
arguments (Mapping[str, Any] | None) – Die an das Tool zu übergebenden Argumente. Wenn None, wird das Tool ohne Argumente aufgerufen.
cancellation_token (CancellationToken | None) – Ein optionaler Abbruch-Token, um die Tool-Ausführung abzubrechen.
call_id (str | None) – Eine optionale Kennung für den Tool-Aufruf, die zur Nachverfolgung verwendet wird.
- Gibt zurück:
ToolResult – Das Ergebnis der Tool-Ausführung.
- async list_resources() ListResourcesResult[Quelle]#
Listet verfügbare Ressourcen vom MCP-Server auf.
- async list_resource_templates() ListResourceTemplatesResult[Quelle]#
Listet verfügbare Ressourcenvorlagen vom MCP-Server auf.
- async get_prompt(name: str, arguments: Dict[str, str] | None = None) GetPromptResult[Quelle]#
Ruft einen Prompt vom MCP-Server ab.
- async start() None[Quelle]#
Startet die Workbench und initialisiert alle Ressourcen.
Diese Methode sollte aufgerufen werden, bevor die Workbench verwendet wird.
- async stop() None[Quelle]#
Beendet die Workbench und gibt alle Ressourcen frei.
Diese Methode sollte aufgerufen werden, wenn die Workbench nicht mehr benötigt wird.
- async reset() None[Quelle]#
Setzt die Workbench in ihren initialisierten, gestarteten Zustand zurück.
- async save_state() Mapping[str, Any][Quelle]#
Speichert den Zustand der Workbench.
Diese Methode sollte aufgerufen werden, um den Zustand der Workbench zu persistent zu machen.
- async load_state(state: Mapping[str, Any]) None[Quelle]#
Lädt den Zustand der Workbench.
- Parameter:
state (Mapping[str, Any]) – Der in die Workbench zu ladende Zustand.