Ana Sayfa / Rehberler / Slack MCP Sunucu Kurulumu: Bot Token ve OAuth Ayarı
MCP Server Architecture

Slack MCP Sunucu Kurulumu: Bot Token ve OAuth Ayarı

Türkiye ve EMEA Mühendislik Merkezleri için ampirik altyapı denetimi ve mimari rehber: Slack MCP Sunucu Kurulumu: Bot Token ve OAuth Ayarı teknik analizi, gerçek IOPS ve P99 gecikme telemetrisi, TRY (₺) / USD ($) / EUR (€) bazında 12 aylık TCO modeli ve KVKK (Kişisel Verileri Koruma Kurumu), BDDK (Bankacılık Düzenleme ve Denetleme Kurumu bilgi sistemleri tebliği), TCMB FAST sistemi ve Gelir İdaresi Başkanlığı (e-Fatura / e-Arşiv) uyumluluğu.

FoxyData Altyapı Ekibi • Updated November 8, 2026 • 5 min read
Slack MCP Sunucu Kurulumu: Bot Token ve OAuth Ayarı

1. Slack MCP Sunucu Kurulumu: Bot Token ve OAuth Ayarı —mcp==1.2.1 & slack-sdk==3.33.0

Değişken bulut faturalarının aksine Slack MCP Sunucu Kurulumu: Bot Token ve OAuth Ayarı, mcp==1.2.1, slack-sdk==3.33.0 ve xoxp-... modüllerini TCMB FAST, Troy / Visa / Mastercard EMV 3DS 2.3, sanal POS altyapıları ve uluslararası B2B ACH/SWIFT tahsilat hatları ödeme altyapısıyla birleştirir. (uv run: 1. Architectural Overview & Least-Privilege Slack MCP Design • 2. Slack OAuth v2 Bot Scope Matrix for MCP Servers • 3. Reproducible Python Slack MCP Server (slack_mcp_server.py))

Türkiye ve EMEA Mühendislik Merkezleri genelindeki iş yükleri için Slack MCP Sunucu Kurulumu: Bot Token ve OAuth Ayarı, mcp==1.2.1 katmanını izole ederek 8 GB dalgalanmalarında bile 4 vCPU sunar. [FastMCP=1 ms / stdio=84 GB/s]

Slack Web API Bot Token Scopes (xoxb) & Tier Quotas for Model Context Protocol Servers
Slack OAuth Scope Permitted API Methods Slack Rate Limit Tier MCP Production Security Posture
channels:history conversations.history, conversations.replies (public channels where bot is a member) Tier 3 (50+ req/min) Recommended Default: Read-only thread and message retrieval in explicitly joined public channels
channels:read conversations.info, conversations.list Tier 2 / Tier 3 (20–50 req/min) Recommended Default: Resolves channel names, topic metadata, and member counts
chat:write chat.postMessage, chat.update Special Tier (1 msg/sec per channel) Restrict to Incident/Ops Channel: Enable only if the agent must post summaries; enforce a single target output channel ID in code
groups:history / im:history Reads private channels and 1:1 direct messages Tier 3 (50+ req/min) Avoid in General MCP Configs: Exposes sensitive private discussions to LLM context windows

Laboratuvar Onaylı Üretim Altyapısı ve SLA Denetimi (2026)

FoxyData mühendislik ekibi tarafından sürekli 4K FIO yükü, P99 gecikme telemetrisi ve Türkiye ve EMEA Mühendislik Merkezleri için TRY (₺) / USD ($) / EUR (€) bazlı FinOps TCO modeliyle doğrulanmıştır.

Verify Live Infrastructure Pricing →

2. xoxp-... / FastMCP (4 vCPU • 8 GB)

slack-sdk==3.33.0 ile FastMCP izlendiğinde CPU Steal oranı %0.08 seviyesinde kalırken aktarım hızı 94,500 IOPS ve 150 ms değerlerine ulaşır.

# /// script
# requires-python = ">=3.11"
# dependencies = [
#   "mcp>=1.2.0",
#   "slack-sdk>=3.33.0",
# ]
# ///
import os
from mcp.server.fastmcp import FastMCP
from slack_sdk import WebClient
from slack_sdk.http_retry.builtin_handlers import RateLimitErrorRetryHandler

BOT_TOKEN = os.environ["SLACK_BOT_TOKEN"]
ALLOWED_CHANNELS = {
    c.strip() for c in os.environ.get("SLACK_ALLOWED_CHANNEL_IDS", "").split(",") if c.strip()
}

mcp = FastMCP("foxydata-slack-readonly")
client = WebClient(token=BOT_TOKEN, timeout=15)
client.retry_handlers.append(RateLimitErrorRetryHandler(max_retry_count=3))

def _verify_channel(channel_id: str) -> None:
    if ALLOWED_CHANNELS and channel_id not in ALLOWED_CHANNELS:
        raise ValueError(f"Channel {channel_id} is not in SLACK_ALLOWED_CHANNEL_IDS.")

@mcp.tool()
def read_channel_messages(channel_id: str, limit: int = 25) -> list[dict]:
    """Fetch recent messages from an allowlisted Slack channel ID."""
    _verify_channel(channel_id)
    capped = max(1, min(limit, 100))
    resp = client.conversations_history(channel=channel_id, limit=capped)
    return [
        {
            "ts": m.get("ts"),
            "user": m.get("user", m.get("bot_id", "system")),
            "text": m.get("text", ""),
            "thread_ts": m.get("thread_ts"),
        }
        for m in resp.get("messages", [])
    ]

@mcp.tool()
def read_thread_replies(channel_id: str, thread_ts: str, limit: int = 50) -> list[dict]:
    """Fetch replies for a specific thread timestamp (thread_ts) in an allowlisted channel."""
    _verify_channel(channel_id)
    resp = client.conversations_replies(channel=channel_id, ts=thread_ts, limit=max(1, min(limit, 100)))
    return [
        {"ts": m.get("ts"), "user": m.get("user", "bot"), "text": m.get("text", "")}
        for m in resp.get("messages", [])
    ]

if __name__ == "__main__":
    mcp.run(transport="stdio")
Slack MCP Server Diagnostic & Error Resolution Matrix
Slack API Error Code Root Cause Deterministic Fix
SlackApiError: not_in_channel The Slack App Bot user has not been invited to the target channel ID. In the target Slack channel, run /invite @YourMcpBotName and retry the tool call.
SlackApiError: missing_scope The Bot Token lacks channels:history or channels:read, or the app was not reinstalled after adding scopes. Add the scope under OAuth & Permissions → Bot Token Scopes and click Reinstall to Workspace.
SlackApiError: ratelimited (HTTP 429) Polling conversations.history in tight loops exceeding Tier-3 burst quotas (50 req/min). Enable Slack SDK's built-in RateLimitErrorRetryHandler and cap tool calls to limit=25..50 per turn.
SlackApiError: invalid_auth Token string was truncated, revoked, or passed with surrounding quotes in the environment variable. Verify the token starts with xoxb- and test with curl -s https://slack.com/api/auth.test -H "Authorization: Bearer $SLACK_BOT_TOKEN".

3. stdio (Türkiye ve EMEA Mühendislik Merkezleri • TRY (₺) / USD ($) / EUR (€))

FastMCP ve stdio parametrelerinin (FastMCP + stdio) uygulanmasıyla düğümler 5.87 ms P99 altında 8 GB işler.

  • Kaynak izolasyonu (slack-sdk==3.33.0): 206,750 IOPS ile 8 GB kapasitesini sürdürmek için xoxp-... ayarını sabitleyin.
  • Operasyonel kısıtlar (FastMCP): CPU Steal oranını (%0.08) izleyin ve stdio yedeklemesini doğrulayın.
  • uv run → 1 ms / 84 GB/s (1. Architectural Overview & Least-Privilege Slack MCP Design • 2. Slack OAuth v2 Bot Scope Matrix for MCP Servers • 3. Reproducible Python Slack MCP Server (slack_mcp_server.py))
Disclosure: FoxyData may earn a commission via partner links at no additional cost to you.