49b9bb6724
Deploy Docs / deploy-docs (push) Failing after 1s
Conformance Tests / client-conformance (push) Failing after 3s
Conformance Tests / server-conformance (push) Failing after 1s
GitHub Actions Security Analysis / zizmor (push) Failing after 1s
CI / checks (push) Failing after 59m20s
CI / all-green (push) Waiting to run
23 lines
840 B
Python
23 lines
840 B
Python
from mcp_types import ElicitRequestParams, ElicitRequestURLParams, ElicitResult
|
|
|
|
from mcp import Client
|
|
from mcp.client import ClientRequestContext
|
|
|
|
|
|
async def handle_elicitation(context: ClientRequestContext, params: ElicitRequestParams) -> ElicitResult:
|
|
if isinstance(params, ElicitRequestURLParams):
|
|
print(f"Open this link to continue: {params.url}")
|
|
return ElicitResult(action="accept")
|
|
print(params.message)
|
|
return ElicitResult(action="accept", content={"accept_alternative": True, "date": "2025-12-27"})
|
|
|
|
|
|
async def main() -> None:
|
|
async with Client(
|
|
"http://127.0.0.1:8000/mcp",
|
|
mode="legacy",
|
|
elicitation_callback=handle_elicitation,
|
|
) as client:
|
|
result = await client.call_tool("book_table", {"date": "2025-12-25", "party_size": 2})
|
|
print(result.content)
|