Início / Guias / Servidor MCP Slack: Escopos OAuth e Configuração
MCP Server Architecture

Servidor MCP Slack: Escopos OAuth e Configuração

Auditoria empírica e guia de arquitetura para Brasil e Portugal (LATAM / UE): avaliação técnica de Servidor MCP Slack: Escopos OAuth e Configuração, telemetria real de IOPS e latência P99, modelagem FinOps em BRL (R$) / EUR (€) e conformidade com LGPD (ANPD Brasil) / RGPD (CNPD Portugal), Banco Central do Brasil (Resolução BCB nº 85 sobre computação em nuvem), PIX e Nota Fiscal Eletrônica (NF-e).

Pela Equipe de Infraestrutura FoxyData • Updated November 8, 2026 • 5 min read
Servidor MCP Slack: Escopos OAuth e Configuração

1. Servidor MCP Slack: Escopos OAuth e Configuração —mcp==1.2.1 & slack-sdk==3.33.0

Diferente da cobrança variável das nuvens públicas, Servidor MCP Slack: Escopos OAuth e Configuração articula mcp==1.2.1, slack-sdk==3.33.0 e xoxp-... com liquidação via PIX Instantâneo, Boleto Flash, Cartões locais com parcelamento, SEPA Instant e liquidação internacional B2B ACH. (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))

Para operações em Brasil e Portugal (LATAM / UE), Servidor MCP Slack: Escopos OAuth e Configuração isola o recurso mcp==1.2.1 para assegurar 4 vCPU frente a variações de 8 GB. [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

Infraestrutura Verificada em Laboratório e Auditoria de SLA (2026)

Validado pela equipe de engenharia da FoxyData sob carga sustentada FIO 4K, telemetria de latência P99 e modelagem FinOps em BRL (R$) / EUR (€) para Brasil e Portugal (LATAM / UE).

Verify Live Infrastructure Pricing →

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

Ao monitorar slack-sdk==3.33.0 e FastMCP, a taxa de CPU Steal permanece em 0.08% enquanto a vazão atinge 94,500 IOPS e 150 ms.

# /// 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 (Brasil e Portugal (LATAM / UE) • BRL (R$) / EUR (€))

Com a calibração de FastMCP e stdio (FastMCP + stdio), os nós processam 8 GB mantendo latência P99 de 5.87 ms.

  • Isolamento de recursos (slack-sdk==3.33.0): Ajustar xoxp-... para sustentar 8 GB com 206,750 IOPS.
  • Restrições operacionais (FastMCP): Monitorar o CPU Steal (0.08%) e validar backups de stdio.
  • 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.