Slack MCP 服务器

Slack MCP 服务器是一个用于连接和操作Slack的工具,提供用户级和机器人级的API调用功能。

  • by SiddiqshaA
  • Python
  • 云端部署
  • 更新于
在 GitHub 查看 SiddiqshaA/slack_dynamic_mcp

使用说明

Slack MCP服务器-快速指南

已部署MCP链路-https://dynamic.fastmcp.app/mcp

服务器URL

http://localhost:8000/sse

从您的代理连接

from mcp import ClientSession

async with ClientSession("http://localhost:8000/sse") as session:
    result = await session.call_tool(
        "tool_name",
        arguments={"user_id": "your_user_id", ...}
    )

可用工具

用户级别(使用Supabase中的xoxp令牌)

工具 参数 返回
slack_get_user_profile user_id 用户个人资料
slack_list_user_conversations user_id, limit 用户渠道/DM
slack_fetch_conversation_history user_id, channel_id, limit 留言
slack_find_user_by_email user_id, email 用户信息
slack_open_dm user_id, slack_user_id DM通道ID
slack_search_messages user_id, channel_id, keyword, limit 匹配邮件

机器人级别(使用.env中的xoxb标记)

工具 参数 返回
slack_send_message channel_id, text 消息时间戳
slack_standup user_name, channel_id, standup_text 消息时间戳
slack_list_users - 所有用户
slack_list_channels - 所有频道
slack_schedule_message channel_id, text, post_at 计划邮件ID
slack_create_channel name, is_private 频道信息
slack_add_reaction channel_id, timestamp, emoji 成功状态

快速示例

# Get user profile
profile = await session.call_tool(
    "slack_get_user_profile",
    arguments={"user_id": "krithika_123"}
)

# Send message
message = await session.call_tool(
    "slack_send_message",
    arguments={
        "channel_id": "C123456",
        "text": "Hello from agent!"
    }
)

# List channels
channels = await session.call_tool(
    "slack_list_channels",
    arguments={}
)

重要

  • 始终提供 user_id 用于用户级工具
  • MCP服务器自动从Supabase获取用户令牌
  • 所有回复包括 {"ok": true/false, ...data}