Serves a fixed set of :class:Prompt over MCP.
Source code in autogen/beta/mcp/prompts.py
| def __init__(self, prompts: Sequence[Prompt]) -> None:
self._prompts = tuple(prompts)
self._by_name = {p.name: p for p in self._prompts}
|
register
Source code in autogen/beta/mcp/prompts.py
| def register(self, server: "Server") -> None:
provider = self
# ``mcp``'s low-level decorators are untyped; ignore the resulting noise.
@server.list_prompts() # type: ignore[no-untyped-call, misc]
async def _list_prompts() -> list[MCPPrompt]:
return [_to_mcp_prompt(p) for p in provider._prompts]
@server.get_prompt() # type: ignore[no-untyped-call, misc]
async def _get_prompt(name: str, arguments: dict[str, str] | None) -> GetPromptResult:
return await provider.get(name, arguments or {})
|
get async
Source code in autogen/beta/mcp/prompts.py
| async def get(self, name: str, arguments: dict[str, str]) -> GetPromptResult:
prompt = self._by_name.get(name)
if prompt is None:
raise MCPPromptNotFoundError(name)
result = await call_user_fn(prompt.render, dict(arguments))
return GetPromptResult(description=prompt.description, messages=_to_mcp_messages(result))
|