跳转到主要内容
Dedalus SDK 是一个完整的 MCP Client。将你的智能体连接到任何实现 模型上下文协议 (MCP) 的服务器——无论由你托管、我们托管,还是由其他任何人托管。 本地工具负责你的自定义逻辑,MCP 服务器则提供托管的能力(搜索、数据库、SaaS 应用程序编程接口 API 等)。

用一行代码连接 MCP 服务器

import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dotenv import load_dotenv

load_dotenv()

async def main():
    client = AsyncDedalus()
    runner = DedalusRunner(client)

    result = await runner.run(
        input="What's the weather forecast for San Francisco this week?",
        model="anthropic/claude-opus-4-5",
        mcp_servers=["windsornguyen/open-meteo-mcp"],  # 通过 Open-Meteo 获取天气预报
    )

    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())
智能体会自动发现服务器提供的工具,并在需要时调用它们。

与本地工具配合使用

MCP 服务器和本地工具可以配合工作。将二者同时传递给 runner.run()
import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dotenv import load_dotenv

load_dotenv()

def as_bullets(items: list[str]) -> str:
    """将条目格式化为项目符号列表。"""
    return "\n".join(f"• {item}" for item in items)

async def main():
    client = AsyncDedalus()
    runner = DedalusRunner(client)

    result = await runner.run(
        input=(
            "获取旧金山 7 天的天气预报,"
            "然后使用 as_bullets 将每日天气状况格式化为项目符号。"
        ),
        model="anthropic/claude-opus-4-5",
        mcp_servers=["windsornguyen/open-meteo-mcp"],
        tools=[as_bullets],
    )

    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

外部 MCP URL

你可以直接连接到任意外部 MCP 服务器 URL(支持流式传输的 HTTP,Streamable HTTP)。这在以下场景中很有用:
  • 在不注册服务器的情况下进行测试
  • 连接到自托管的 MCP 部署
  • 使用未在市场中列出的 MCP 服务器
import asyncio
from dedalus_labs import AsyncDedalus, DedalusRunner
from dotenv import load_dotenv

load_dotenv()

async def main():
    client = AsyncDedalus()
    runner = DedalusRunner(client)

    result = await runner.run(
        input="Use your tools to summarize the Dedalus Python SDK repo in 5 bullet points.",
        model="openai/gpt-5.2",
        # 外部 MCP URL!
        mcp_servers=["https://mcp.deepwiki.com/mcp"],
    )

    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

后续步骤

  • 返回类型化数据结构化输出 — 对 JSON 进行校验并解析为模式(schema)
  • 以流式方式运行工作流流式传输 — 实时查看 tool 的调用和输出
  • 查看示例使用场景 — 端到端模型上下文协议(MCP)智能体模式
这些文档以编程方式连接 到 Claude、 VSCode 等,通过模型上下文协议(MCP)获取实时解答。