Code

"""
💬 Pipedream Slack MCP

此示例展示了如何将 Pipedream MCP 服务器(在此案例中为 Slack)与 Agno Agents 一起使用。

1. 连接您的 Pipedream 和 Slack 账户:https://mcp.pipedream.com/app/slack
2. 获取您的 Pipedream MCP 服务器 URL:https://mcp.pipedream.com/app/slack
3. 将 MCP_SERVER_URL 环境变量设置为您上面获取的 MCP 服务器 URL
4. 安装依赖:pip install agno mcp-sdk

"""

import asyncio
import os

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.mcp import MCPTools
from agno.utils.log import log_exception

mcp_server_url = os.getenv("MCP_SERVER_URL")


async def run_agent(task: str) -> None:
    try:
        async with MCPTools(
            url=mcp_server_url, transport="sse", timeout_seconds=20
        ) as mcp:
            agent = Agent(
                model=OpenAIChat(id="gpt-4o-mini"),
                tools=[mcp],
                markdown=True,
            )
            await agent.aprint_response(
                message=task,
                stream=True,
            )
    except Exception as e:
        log_exception(f"Unexpected error: {e}")


if __name__ == "__main__":
    # Agent 可以读取频道、用户、消息等。
    asyncio.run(run_agent("Show me the latest message in the channel #general"))

    # 使用您的真实 Slack 昵称以使其正常工作!
    asyncio.run(
        run_agent("Send a message to <YOUR_NAME> saying 'Hello, I'm your Agno Agent!'")
    )