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}