安装
安装 Claude Agent SDK 的 LangSmith 集成uv add langsmith[claude-agent-sdk]
pip install langsmith[claude-agent-sdk]
pnpm add @anthropic-ai/claude-agent-sdk langsmith zod
npm install @anthropic-ai/claude-agent-sdk langsmith zod
设置
设置您的 API 密钥:export LANGSMITH_TRACING=true
export LANGSMITH_ENDPOINT=https://api.smith.langchain.com
export LANGSMITH_API_KEY=<your_langsmith_api_key>
export LANGSMITH_PROJECT=<your_langsmith_project>
export ANTHROPIC_API_KEY=<your_anthropic_api_key>
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGSMITH_API_KEY=<your_langsmith_api_key>
LANGSMITH_PROJECT=<your_langsmith_project>
ANTHROPIC_API_KEY=<your_anthropic_api_key>
快速开始
要为您的 Claude Agent SDK 应用启用 LangSmith 追踪,请在应用启动时调用configure_claude_agent_sdk():
import asyncio
from typing import Any
from claude_agent_sdk import (
ClaudeAgentOptions,
ClaudeSDKClient,
create_sdk_mcp_server,
tool,
)
from langsmith.integrations.claude_agent_sdk import configure_claude_agent_sdk
configure_claude_agent_sdk()
@tool(
"get_weather",
"获取给定城市的当前天气",
{"city": str},
)
async def get_weather(args: dict[str, Any]) -> dict[str, Any]:
city = args["city"]
weather_data = {
"San Francisco": "Foggy, 62°F",
"New York": "Sunny, 75°F",
"London": "Rainy, 55°F",
"Tokyo": "Clear, 68°F",
}
weather = weather_data.get(city, "Weather data not available")
return {"content": [{"type": "text", "text": f"Weather in {city}: {weather}"}]}
async def main() -> None:
weather_server = create_sdk_mcp_server(
name="weather",
version="1.0.0",
tools=[get_weather],
)
options = ClaudeAgentOptions(
model="claude-sonnet-4-5-20250929",
system_prompt="You are a friendly travel assistant who helps with weather information.",
mcp_servers={"weather": weather_server},
allowed_tools=["mcp__weather__get_weather"],
)
async with ClaudeSDKClient(options=options) as client:
await client.query("What's the weather like in San Francisco and Tokyo?")
async for message in client.receive_response():
print(message)
if __name__ == "__main__":
asyncio.run(main())
import * as originalSdk from '@anthropic-ai/claude-agent-sdk';
import { wrapClaudeAgentSDK } from 'langsmith/experimental/anthropic';
import { z } from 'zod/v4';
const sdk = wrapClaudeAgentSDK(originalSdk);
const getWeather = sdk.tool(
'get_weather',
'获取给定城市的当前天气',
{
city: z.string(),
},
async ({ city }) => {
const weatherData: Record<string, string> = {
'San Francisco': 'Foggy, 62°F',
'New York': 'Sunny, 75°F',
London: 'Rainy, 55°F',
Tokyo: 'Clear, 68°F',
};
const weather = weatherData[city] ?? 'Weather data not available';
return {
content: [{ type: 'text' as const, text: weather }],
};
}
);
const weatherServer = sdk.createSdkMcpServer({
name: 'weather',
version: '1.0.0',
tools: [getWeather],
});
const query = sdk.query({
prompt: "What's the weather like in San Francisco and Tokyo?",
options: {
model: 'claude-sonnet-4-5-20250929',
systemPrompt:
'You are a friendly travel assistant who helps with weather information.',
mcpServers: { weather: weatherServer },
allowedTools: ['mcp__weather__get_weather'],
},
});
for await (const chunk of query) {
console.log(chunk);
}
- 智能体查询与响应
- 工具调用与结果
- Claude 模型交互
- MCP 服务器操作
将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

