> ## Documentation Index
> Fetch the complete documentation index at: https://docs.danubeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LangChain and LangGraph

> Use Danube tools from LangChain agents and LangGraph graphs

## Install

```bash theme={null}
pip install "danube[langchain]"
export DANUBE_API_KEY=...
```

## LangGraph

```python theme={null}
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
from danube import DanubeClient
from danube.integrations.langchain import danube_tools

tools = danube_tools(DanubeClient())
agent = create_react_agent(ChatOpenAI(model="gpt-4.1"), tools)

state = agent.invoke({"messages": [("user", "Post 'deploy finished' to #ops on Slack")]})
print(state["messages"][-1].content)
```

## LangChain agents

```python theme={null}
from langchain.agents import AgentExecutor, create_tool_calling_agent

agent = create_tool_calling_agent(llm, tools, prompt)
AgentExecutor(agent=agent, tools=tools).invoke({"input": "Top Hacker News stories, please"})
```

`danube_tools(client)` returns three `StructuredTool`s with pydantic argument schemas:

| tool | arguments |
| - | - |
| `danube_search_tools` | `query: str`, `limit: int` |
| `danube_describe_tool` | `tool_id: str` |
| `danube_execute_tool` | `tool_id: str`, `parameters: dict` |

Options: `service_id`, `ready_only`, `max_results`, as in the other adapters. Results come back as JSON text, capped at 20,000 characters.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.