Connect
LangGraph
LangGraph builds stateful multi-step agent graphs on top of LangChain primitives. Wire Dock in through langchain-mcp-adapters, the same package LangChain uses, and every graph node can call Dock tools.
Client
LangGraph
Stateful agent graphs. Uses the same MCP adapters as LangChain.
HTTP JSON-RPC (streamable-http)
Dock MCP
trydock.ai/api/mcp
37 tools · OAuth 2.1 + DCR · Bearer
Auth path
1
Mint a
dk_ key in Dock Settings → API keys.2
Paste it as
Authorization: Bearer dk_… in the client config.3
Client calls Dock MCP directly on every request.
Prerequisites
- Python 3.10+.
langgraphandlangchain-mcp-adaptersinstalled.- A Dock
dk_key.
graph.pypython
import os
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic
mcp = MultiServerMCPClient({
"dock": {
"url": "https://trydock.ai/api/mcp",
"transport": "streamable_http",
"headers": {
"Authorization": f"Bearer {os.environ['DOCK_API_KEY']}"
},
}
})
tools = await mcp.get_tools()
agent = create_react_agent(ChatAnthropic(model="claude-opus-4-7"), tools)
result = await agent.ainvoke({
"messages": [{"role": "user", "content": "List my Dock workspaces."}]
})Troubleshooting
Symptom
Fix
Graph hangs on tool call
Ensure the MCP client session isn't closed before the graph runs. Scope the async-with to the full
agent.ainvoke call.