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

# LangChain

> Doconda as tools for a LangChain agent, in TypeScript or Python.

## TypeScript

```bash theme={null}
npm install @langchain/mcp-adapters langchain @langchain/core @langchain/langgraph
```

```ts theme={null}
import { MultiServerMCPClient } from "@langchain/mcp-adapters"
import { createAgent } from "langchain"

const client = new MultiServerMCPClient({
  doconda: {
    transport: "http",
    url: "https://api.eu.doconda.com/mcp",
    headers: { Authorization: `Bearer ${process.env.DOCONDA_API_KEY}` },
  },
  // or locally: { transport: "stdio", command: "npx", args: ["-y", "@doconda/mcp"], env: { DOCONDA_API_KEY: "…" } }
})

const agent = createAgent({ model: "anthropic:claude-sonnet-5-5", tools: await client.getTools() })
await agent.invoke({ messages: [{ role: "user", content: "Write a welcome letter for Ana in Word" }] })
await client.close()
```

## Python

```bash theme={null}
pip install langchain-mcp-adapters "langchain[anthropic]"
```

```python theme={null}
import os
from langchain.agents import create_agent
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "doconda": {
        "transport": "streamable_http",
        "url": "https://api.eu.doconda.com/mcp",
        "headers": {"Authorization": f"Bearer {os.environ['DOCONDA_API_KEY']}"},
    },
})

agent = create_agent("anthropic:claude-sonnet-5-5", await client.get_tools())
await agent.ainvoke({"messages": [{"role": "user", "content": "Write up the minutes of today's meeting"}]})
```


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