From 5350967ddc359bef9c3ee1151617f596f3b6380b Mon Sep 17 00:00:00 2001 From: ccurme Date: Wed, 10 Dec 2025 09:39:35 -0500 Subject: [PATCH] feat(anthropic): support mcp_toolset in bind_tools (#34284) --- .../langchain_anthropic/chat_models.py | 1 + .../tests/cassettes/test_remote_mcp.yaml.gz | Bin 10291 -> 13259 bytes .../integration_tests/test_chat_models.py | 5 +---- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/libs/partners/anthropic/langchain_anthropic/chat_models.py b/libs/partners/anthropic/langchain_anthropic/chat_models.py index 15c1563d47c..9a5af138f86 100644 --- a/libs/partners/anthropic/langchain_anthropic/chat_models.py +++ b/libs/partners/anthropic/langchain_anthropic/chat_models.py @@ -154,6 +154,7 @@ def _is_builtin_tool(tool: Any) -> bool: "web_search_", "web_fetch_", "code_execution_", + "mcp_toolset", "memory_", "tool_search_", ] diff --git a/libs/partners/anthropic/tests/cassettes/test_remote_mcp.yaml.gz b/libs/partners/anthropic/tests/cassettes/test_remote_mcp.yaml.gz index 7bc6b9165939a6dc9868def474ccd96f87d6bf09..e9cacc8341e9c60ec327970bca61f384efdebf66 100644 GIT binary patch literal 13259 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 F007qA)%E}Y diff --git a/libs/partners/anthropic/tests/integration_tests/test_chat_models.py b/libs/partners/anthropic/tests/integration_tests/test_chat_models.py index ee941fa24b2..7f0856121e8 100644 --- a/libs/partners/anthropic/tests/integration_tests/test_chat_models.py +++ b/libs/partners/anthropic/tests/integration_tests/test_chat_models.py @@ -1801,18 +1801,15 @@ def test_remote_mcp(output_version: Literal["v0", "v1"]) -> None: "type": "url", "url": "https://mcp.deepwiki.com/mcp", "name": "deepwiki", - "tool_configuration": {"enabled": True, "allowed_tools": ["ask_question"]}, "authorization_token": "PLACEHOLDER", }, ] llm = ChatAnthropic( model="claude-sonnet-4-5-20250929", # type: ignore[call-arg] - betas=["mcp-client-2025-04-04"], mcp_servers=mcp_servers, - max_tokens=10_000, # type: ignore[call-arg] output_version=output_version, - ) + ).bind_tools([{"type": "mcp_toolset", "mcp_server_name": "deepwiki"}]) input_message = { "role": "user",