将 Claude Agent SDK 与 You.com HTTP MCP 服务器集成,支持 Python 和 TypeScript。当开发者提及 Claude Agent SDK、Anthropic Agent SDK 或将 Claude 与 MCP 工具集成时使用。
将 Claude Agent SDK 与 You.com MCP. 交互工作流程整合, 以 You.com 的 HTTP MCP 服务器设置 Claude Ag是一项面向实际任务的技能,主要用于Workflow.;Ssk: Language Choice.;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
用于将 Claude Agent SDK 与 You.com 的 HTTP MCP 服务器进行集成的交互式工作流。
询问:编程语言选择
若选择 TypeScript —— 询问:SDK 版本
await using安装软件包
pip install claude-agent-sdknpm install @anthropic-ai/claude-agent-sdk询问:环境变量配置
YDC_API_KEY 和 ANTHROPIC_API_KEY?询问:文件位置
创建或更新文件
对于新建文件:
对于已有文件:
将 HTTP MCP 服务端配置添加至现有代码中
Python 配置块:
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(
mcp_servers={
"ydc": {
"type": "http",
"url": "https://api.you.com/mcp",
"headers": {
"Authorization": f"Bearer {os.getenv('YDC_API_KEY')}"
}
}
},
allowed_tools=[
"mcp__ydc__you_search",
"mcp__ydc__you_express",
"mcp__ydc__you_contents"
]
)
TypeScript 配置块:
const options = {
mcpServers: {
ydc: {
type: 'http' as const,
url: 'https://api.you.com/mcp',
headers: {
Authorization: `Bearer ${process.env.YDC_API_KEY}`
}
}
},
allowedTools: [
'mcp__ydc__you_search',
'mcp__ydc__you_express',
'mcp__ydc__you_contents'
]
};
为新建文件使用以下完整模板。每个模板均已在设置 API 密钥后可直接运行。
"""
Claude Agent SDK 与 You.com HTTP MCP 服务器集成
采用 async/await 模式的 Python 实现
"""
import os
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
# 验证环境变量
ydc_api_key = os.getenv("YDC_API_KEY")
anthropic_api_key = os.getenv("ANTHROPIC_API_KEY")
if not ydc_api_key:
raise ValueError(
"YDC_API_KEY 环境变量是必需的。"
"请前往 https://you.com/platform/api-keys 获取密钥"
)
if not anthropic_api_key:
raise ValueError(
"ANTHROPIC_API_KEY 环境变量是必需的。"
"请前往 https://console.anthropic.com/settings/keys 获取密钥"
)
async def main():
"""
示例:搜索 AI 新闻并从 You.com MCP 服务器获取结果
"""
# 使用 HTTP MCP 服务器配置 Claude Agent
options = ClaudeAgentOptions(
mcp_servers={
"ydc": {
"type": "http",
"url": "https://api.you.com/mcp",
"headers": {"Authorization": f"Bearer {ydc_api_key}"},
}
},
allowed_tools=[
"mcp__ydc__you_search",
"mcp__ydc__you_express",
"mcp__ydc__you_contents",
],
model="claude-sonnet-4-5-20250929",
)
# 在启用 MCP 工具的情况下向 Claude 发起查询
async for message in query(
prompt="搜索本周最新的 AI 新闻",
options=options,
):
# 处理不同类型的消息
if message.type == "text":
print(message.content)
elif message.type == "tool_use":
print(f"\n[工具:{message.name}]")
print(f"输入:{message.input}")
elif message.type == "tool_result":
print(f"结果:{message.content}")
if __name__ == "__main__":
asyncio.run(main())
/**
* Claude Agent SDK 与 You.com HTTP MCP 服务器集成
* 基于生成器模式的 TypeScript v1 实现
*/
import { query } from '@anthropic-ai/claude-agent-sdk';
// 验证环境变量
const ydcApiKey = process.env.YDC_API_KEY;
const anthropicApiKey = process.env.ANTHROPIC_API_KEY;
if (!ydcApiKey) {
throw new Error(
'YDC_API_KEY 环境变量是必需的。' +
'请前往 https://you.com/platform/api-keys 获取密钥'
);
}
if (!anthropicApiKey) {
throw new Error(
'ANTHROPIC_API_KEY 环境变量是必需的。' +
'请前往 https://console.anthropic.com/settings/keys 获取密钥'
);
}
/**
* 示例:搜索 AI 新闻并从 You.com MCP 服务器获取结果
*/
async function main() {
// 使用 HTTP MCP 配置向 Claude 发起查询
const result = query({
prompt: '搜索本周最新的 AI 新闻',
options: {
mcpServers: {
ydc: {
type: 'http' as const,
url: 'https://api.you.com/mcp',
headers: {
Authorization: `Bearer ${ydcApiKey}`,
},
},
},
allowedTools: [
'mcp__ydc__you_search',
'mcp__ydc__you_express',
'mcp__ydc__you_contents',
],
model: 'claude-sonnet-4-5-20250929',
},
});
// 按消息到达顺序逐条处理
for await (const msg of result) {
if (msg.type === 'text') {
console.log(msg.content);
} else if (msg.type === 'tool_use') {
console.log(`\n[工具:${msg.name}]`);
console.log(`输入:${JSON.stringify(msg.input, null, 2)}`);
} else if (msg.type === 'tool_result') {
console.log(`结果:${msg.content}`);
}
}
}
main().catch(console.error);
/**
* Claude Agent SDK 与 You.com HTTP MCP 服务器集成
* 采用 send/receive 模式的 TypeScript v2 实现
* 要求 TypeScript 5.2+ 以支持 'await using' 语法
*/
import { unstable_v2_createSession } from '@anthropic-ai/claude-agent-sdk';
// 验证环境变量
const ydcApiKey = process.env.YDC_API_KEY;
const anthropicApiKey = process.env.ANTHROPIC_API_KEY;
if (!ydcApiKey) {
throw new Error(
'YDC_API_KEY 环境变量是必需的。' +
'请前往 https://you.com/platform/api-keys 获取密钥'
);
}
if (!anthropicApiKey) {
throw new Error(
'ANTHROPIC_API_KEY 环境变量是必需的。' +
'请前往 https://console.anthropic.com/settings/keys 获取密钥'
);
}
/**
* 示例:搜索 AI 新闻并从 You.com MCP 服务器获取结果
*/
async function main() {
// 创建带 HTTP MCP 配置的会话
// 'await using' 可确保作用域退出时自动清理资源
await using session = unstable_v2_createSession({
mcpServers: {
ydc: {
type: 'http' as const,
url: 'https://api.you.com/mcp',
headers: {
Authorization: `Bearer ${ydcApiKey}`,
},
},
},
allowedTools: [
'mcp__ydc__you_search',
'mcp__ydc__you_express',
'mcp__ydc__you_contents',
],
model: 'claude-sonnet-4-5-20250929',
});
// 向 Claude 发送消息
await session.send('搜索本周最新的 AI 新闻');
// 接收并处理消息
for await (const msg of session.receive()) {
if (msg.type === 'text') {
console.log(msg.content);
} else if (msg.type === 'tool_use') {
console.log(`\n[工具:${msg.name}]`);
console.log(`输入:${JSON.stringify(msg.input, null, 2)}`);
} else if (msg.type === 'tool_result') {
console.log(`结果:${msg.content}`);
}
}
}
main().catch(console.error);
所有模板均使用 You.com 的 HTTP MCP 服务端,以简化集成流程:
Python:
mcp_servers={
"ydc": {
"type": "http",
"url": "https://api.you.com/mcp",
"headers": {
"Authorization": f"Bearer {ydc_api_key}"
}
}
}
TypeScript:
mcpServers: {
ydc: {
type: 'http' as const,
url: 'https://api.you.com/mcp',
headers: {
Authorization: `Bearer ${ydcApiKey}`
}
}
}
HTTP MCP 的优势:
完成配置后,Claude 可自动发现并调用以下工具:
mcp__ydc__you_search —— 网页与新闻搜索mcp__ydc__you_express —— 基于网页上下文的 AI 问答mcp__ydc__you_contents —— 网页内容提取两个 API 密钥均为必需项:
# 添加至 .env 文件或 shell 配置文件中 export YDC_API_KEY="your-you-api-key-here" export ANTHROPIC_API_KEY="your-anthropic-api-key-here"
获取 API 密钥:
完成前请确认以下各项:
claude-agent-sdk(Python)或 @anthropic-ai/claude-agent-sdk(TypeScript)YDC_API_KEY 和 ANTHROPIC_API_KEYhttps://api.you.com/mcp)Bearer ${YDC_API_KEY}allowedTools 列表中已包含 You.com 工具Python:
python your-file.py
TypeScript:
# 推荐使用 tsx 快速测试 npx tsx your-file.ts # 或先编译再运行 tsc your-file.ts && node your-file.js
请安装该软件包:
# NPM npm install @anthropic-ai/claude-agent-sdk # Bun bun add @anthropic-ai/claude-agent-sdk # Yarn yarn add @anthropic-ai/claude-agent-sdk # pnpm pnpm add @anthropic-ai/claude-agent-sdk
请设置您的 You.com API 密钥:
export YDC_API_KEY="your-api-key-here"
请设置您的 Anthropic API 密钥:
export ANTHROPIC_API_KEY="your-api-key-here"
请验证您的 YDC_API_KEY 是否有效:
Bearer ${YDC_API_KEY}请确保 allowedTools 中包含正确的工具名称:
mcp__ydc__you_search(而非 you_search)mcp__ydc__you_express(而非 you_express)mcp__ydc__you_contents(而非 you_contents)所有工具名称必须包含 mcp__ydc__ 前缀。
v2 SDK 要求 TypeScript 5.2+ 才能支持 await using 语法。
解决方案 1:升级 TypeScript
npm install -D typescript@latest
解决方案 2:手动清理资源
const session = unstable_v2_createSession({ /* options */ });
try {
await session.send('Your query');
for await (const msg of session.receive()) {
// 处理消息
}
} finally {
session.close();
}
解决方案 3:改用 v1 SDK
在初始化流程中选择 v1,以获得更广泛的 TypeScript 兼容性。