karl-frascari
MCP Serverkarl-frascaripublic

slack voice mcp

AI-powered Slack integration with text-to-speech capabilities using OpenAI GPT and voice synthesis.

Repository Info

0
Stars
0
Forks
0
Watchers
0
Issues
TypeScript
Language
-
License

About This Server

AI-powered Slack integration with text-to-speech capabilities using OpenAI GPT and voice synthesis.

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

Slack Voice MCP Server

AI-powered Slack integration with text-to-speech capabilities using OpenAI GPT-4 and voice synthesis.

Features

  • 🤖 AI Summarization: Intelligent message summaries using OpenAI GPT-4o-mini
  • 📱 Slack Integration: Retrieve unread messages from channels and DMs
  • 🔊 Text-to-Speech: Multiple TTS options (OpenAI, Piper, System)
  • 🖥️ MCP Protocol: Seamless integration with Claude Desktop and other AI tools
  • Real-time: Fast message processing and voice synthesis

Quick Start

Prerequisites

  • Node.js 18+
  • Claude Desktop application (or other MCP-compatible AI tool)
  • Slack workspace access
  • OpenAI API key

Installation

  1. Clone and setup:
git clone https://github.com/karl-frascari/slack-voice-mcp.git
cd slack-voice-mcp
npm install
npm run build
  1. Optional: Install Piper TTS for offline voice synthesis:

Download Piper TTS files and extract to piper/ directory:

  • Download from: Piper TTS Releases
  • Extract piper.exe, voice models, and espeak-ng-data/ to piper/ folder
  • Recommended voice: en_US-libritts-high.onnx
  1. Configure environment:
cp .env.example .env
# Edit .env and add your tokens and API keys
  1. Configure Claude Desktop: Add to your claude_desktop_config.json:
{
  "mcpServers": {
    "slack-voice": {
      "command": "node",
      "args": ["/absolute/path/to/slack-voice/dist/index.js"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-your-slack-user-token",
        "SLACK_BOT_TOKEN": "xoxb-your-slack-bot-token",
        "OPENAI_API_KEY": "sk-proj-your-openai-api-key",
        "TTS_PROVIDER": "openai",
        "NODE_ENV": "production"
      }
    }
  }
}

Configuration

Environment Variables

Create a .env file based on .env.example:

# Required
SLACK_USER_TOKEN=xoxp-your-slack-user-token
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
OPENAI_API_KEY=sk-proj-your-openai-api-key

# Optional
TTS_PROVIDER=openai
MCP_SERVER_NAME=slack-voice-mcp
NODE_ENV=production
LOG_LEVEL=info

Slack Token Setup

  1. Visit api.slack.com/apps
  2. Create new app or use existing
  3. Go to OAuth & Permissions
  4. Add these scopes:
    • channels:read
    • channels:history
    • groups:read
    • groups:history
    • im:read
    • im:history
    • mpim:read
    • mpim:history
  5. Install app to workspace
  6. Copy User OAuth Token (starts with xoxp-)

OpenAI API Key

  1. Visit platform.openai.com
  2. Create an API key
  3. Add to your .env file

TTS Providers

High-quality cloud-based text-to-speech with multiple voice options.

Features:

  • 🎭 Multiple Voices: alloy, echo, fable, onyx, nova, shimmer
  • 🌐 High Quality: Natural-sounding speech synthesis
  • 💰 Paid Service: Requires OpenAI API key

Piper TTS

High-quality neural text-to-speech that runs completely offline.

Features:

  • 🔒 Completely Offline: No internet connection required
  • Fast: Optimized for real-time synthesis
  • 🎵 Natural: LibriTTS-trained voice model

System TTS

Built-in operating system text-to-speech as fallback.

Supported Platforms:

  • Windows: Microsoft Speech API
  • macOS: Built-in say command
  • Linux: System TTS

Usage

Available MCP Tools

  1. get_summarize_and_speak - Complete workflow: get messages, summarize with AI, and speak
  2. get_available_voices - List available TTS voices

Example Usage in Claude Desktop

Please get my Slack summary and read it to me.

Claude will use the MCP server to:

  1. Fetch your unread Slack messages
  2. Generate an intelligent summary using OpenAI GPT-4o-mini
  3. Speak the summary using your configured TTS provider

Architecture

Claude Desktop (or other AI tool)
    ↕ MCP Protocol
Slack Voice MCP Server
    ├── Slack Service (Message Retrieval)
    ├── Summarization Service (OpenAI GPT-4o-mini)
    └── TTS Service (Voice Output)
        ├── OpenAI TTS
        ├── Piper TTS (Local)
        └── System TTS (Fallback)

Development

Build and Run

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode
npm run dev

# Start production server
npm start

# Lint and format
npm run check
npm run fix

Project Structure

src/
├── index.ts              # MCP server entry point
├── services/
│   ├── slack.ts          # Slack API integration
│   ├── summarization.ts  # OpenAI summarization
│   └── tts.ts           # Text-to-speech providers
└── types/               # TypeScript type definitions

Troubleshooting

Common Issues

MCP connection errors:

  • Ensure absolute paths in Claude Desktop config
  • Check environment variables are set correctly
  • Restart Claude Desktop after config changes

Slack token errors:

  • Verify token starts with xoxp- (User Token)
  • Check token has required scopes
  • Ensure workspace access permissions

OpenAI API errors:

  • Verify API key is valid and has credits
  • Check internet connection
  • Ensure API key has proper permissions

Audio not working:

  • Try different TTS providers in order: OpenAI → Piper → System
  • Check system audio settings
  • For WSL users: use TTS_PROVIDER=openai

Security

  • Environment Variables: Sensitive tokens stored in .env (not committed)
  • Minimal Permissions: Only requests necessary Slack scopes
  • No Persistent Storage: Messages processed in memory only
  • Secure Communication: Uses official Slack and OpenAI APIs

License

MIT

Quick Start

1

Clone the repository

git clone https://github.com/karl-frascari/slack-voice-mcp
2

Install dependencies

cd slack-voice-mcp
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownerkarl-frascari
Reposlack-voice-mcp
LanguageTypeScript
License-
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation