Astrail
Back to Marketplace
Executable connectorCommunicationJul 22, 20260 calls

Slack Connector

Executable Slack connector for search, channel discovery, history, and approved messaging.

Credential setup

bearer

Install a Slack app with search:read, channels:read, channels:history, and chat:write only when those tools are enabled.

Setup docs: https://api.slack.com/apps

After adding this connector, attach the credential on the server page, then run astrail tools list.

Hosted MCP endpoint

/api/mcp/preset-slack

Private servers require an Astrail API key in the Authorization header.

MCP client snippets

Connect

Claude Desktop config

{
  "mcpServers": {
    "slack-connector": {
      "url": "/api/mcp/preset-slack"
    }
  }
}

cURL initialize

curl -sS -X POST "/api/mcp/preset-slack" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

cURL tools/list

curl -sS -X POST "/api/mcp/preset-slack" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

cURL tools/call

curl -sS -X POST "/api/mcp/preset-slack" \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"slack_search_messages","arguments":{"query":"example","count":"example","page":"example"}}}'

Runtime behavior

Runtime healthhealthy
Endpoint healthnot_checked
Execution modesafe_rest_execution
Deterministic executionSupported
Generated sourceExport only
Endpoint mapAvailable
Endpoint mappedYes
Auth-required endpointsPresent
Browser runtime endpointsNone detected
Last statusnot recorded
Last execution modenot recorded
Last toolnot recorded
Last latencynot recorded
Upstream statusnot recorded
Trace IDnot recorded
Error codenone
Observabilitystructured fallback
Rate limit modestandard
Missing authauth_required / oauth_required
Missing mappingmapping_required

Astrail does not evaluate generated TypeScript inside Next.js. Hosted calls are routed through stored tool metadata and endpoint maps.

Tools

7
slack_search_messages

Search Slack messages visible to the connected user token.

slack_list_channels

List Slack channels visible to the connected token.

slack_get_conversation_history

Fetch recent messages from a Slack conversation.

slack_post_message

Post a message to a Slack channel after approval.

slack_get_thread_replies

Fetch replies in a Slack thread using cursor pagination.

slack_list_users

List workspace users with cursor pagination.

slack_add_reaction

Add an emoji reaction to a Slack message after approval.

server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "Slack Connector", version: "1.0.0" });

// Curated Astrail connector for: slack_search_messages, slack_list_channels, slack_get_conversation_history, slack_post_message, slack_get_thread_replies, slack_list_users, slack_add_reaction.
// The hosted endpoint executes its verified deterministic endpoint map. Attach a least-privilege provider credential before calling private tools.

server.tool("connector_status", "Confirm this curated connector template is installed.", z.object({}), async () => ({
  content: [{ type: "text", text: "Connector installed. Attach provider credentials to enable hosted API calls." }],
}));

const transport = new StdioServerTransport();
await server.connect(transport);