← スキル一覧に戻る

slack-mcp-server
by rbarazi
⭐ 0🍴 0📅 2026年1月13日
SKILL.md
name: slack-mcp-server description: Create MCP servers that interact with Slack APIs. Use when building agent tools for Slack canvases, posting messages, or other Slack operations via Model Context Protocol.
Slack MCP Server Tools
Build MCP servers that enable AI agents to interact with Slack APIs.
Problem Statement
AI agents need to perform actions in Slack beyond just sending messages - creating canvases, managing channels, posting rich content. MCP servers provide a standardized way to expose these capabilities as tools.
When to Use
- Building agent tools that create/update Slack canvases
- Exposing Slack API operations as MCP tools
- Returning rich resources (Block Kit, Work Objects) from tool calls
- Keywords: mcp server, slack tools, slack canvas, agent tools, model context protocol
Quick Start
module SlackCanvasMCPServer
class Server < BaseMCPServer
server_name "slack_canvas"
server_version "1.0.0"
tool :create_canvas
tool :update_canvas
def create_canvas(title:, content:, channel_id: nil)
client = Slack::Web::Client.new(token: config[:slack_token])
response = client.canvases_create(
title: title,
document_content: JSON.generate({ type: "markdown", markdown: content })
)
build_success_result(
text: "Created canvas '#{title}'",
canvas_id: response["canvas_id"]
)
end
end
end
Architecture
Agent → Task → LLM → Tool Call → MCP Server → Slack API
↓
Tool Result with Resources
Key Patterns
Tool registration: Use tool :method_name DSL
Config injection: Credentials via config[:slack_token], config[:team_id]
Multi-channel results: Return ui:// + slack:// resources for different clients
Testing Strategy
RSpec.describe SlackCanvasMCPServer::Server do
let(:server) { described_class.new(config: { slack_token: "xoxb-test" }) }
it "creates canvas with valid content" do
stub_slack_api(:canvases_create).to_return(canvas_id: "C123")
result = server.create_canvas(title: "Test", content: "# Hello")
expect(result[:canvas_id]).to eq("C123")
end
end
Common Pitfalls
- Token scopes: Ensure bot token has required scopes (canvases:write, etc.)
- Rate limits: Handle Slack API rate limiting gracefully
- Content format: Canvas content must be valid markdown or document JSON
Reference Files
- base-server.md - BaseMCPServer DSL and constants
- canvas-api.md - Canvas create/update/sections operations
- templates.md - YAML template system for resources
- multi-channel.md - Returning resources for multiple channels
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です