Skip to content

LangChain integration doesn't work with MCP tools and Anthropic models #444

Description

@snersisyan-lilly

Hello,

When using LangChain with ChatDatabricks that uses any Anthropic model hosted on Databricks, it throws an error. This is quite critical, as the default Databricks App template called "agent-langgraph" doesn't work with Anthropic models out of box.

Here is minimal reproducible example:

from langchain.agents import create_agent
from langchain_mcp_adapters.client import MultiServerMCPClient
from databricks_langchain import ChatDatabricks

async def main_langchain():
    client = MultiServerMCPClient(
        {
            "my_server": {
                "transport": "http",
                "url": "https://pubmed.mcp.claude.com/mcp",
            }
        }
    )

    tools = await client.get_tools()

    agent = create_agent(
        model=ChatDatabricks(endpoint="databricks-claude-sonnet-4-6"),
        tools=tools,
    )

    result = await agent.ainvoke(
        {"messages": [{"role": "user", "content": "Find papers by Lalo Salamanca (PMIDs)."}]},
        config={"configurable": {"thread_id": "1"}},
    )
    return result


await main_langchain()

Throws error:

BadRequestError: Error code: 400 - {'error_code': 'BAD_REQUEST', 'message': '{"message":"messages.2.content.0.tool_result.content.0.text.id: Extra inputs are not permitted"}'}
Error(message=Cannot find child , errno=no such file or directory, statusCode=0)
[Trace ID: 00-9ff9b3d26db248cf9efe48e624e14137-8d6db60c4bd9c9ea-00]
File <command-7075019236347811>, line 27
     20     result = await agent.ainvoke(
     21         {"messages": [{"role": "user", "content": "Find papers by Lalo Salamanca (PMIDs)."}]},
     22         config={"configurable": {"thread_id": "1"}},
     23     )
     24     return result
---> 27 await main_langchain()

Same if I use DatabricksMCPServer, DatabricksMultiServerMCPClient.

Package versions:
langchain = 1.3.10
databricks-langchain = 0.20.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions