Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Say Mcp Server

    MCP server for macOS text-to-speech functionality

    18 stars
    JavaScript
    Updated Oct 24, 2025

    Table of Contents

    • Requirements
    • Configuration
    • Installation
    • Tools
    • speak
    • Basic Usage
    • Advanced Features
    • Integration Examples
    • list_voices
    • Recommended Voices
    • Configuration
    • Requirements
    • Contributors
    • License

    Table of Contents

    • Requirements
    • Configuration
    • Installation
    • Tools
    • speak
    • Basic Usage
    • Advanced Features
    • Integration Examples
    • list_voices
    • Recommended Voices
    • Configuration
    • Requirements
    • Contributors
    • License

    Documentation

    say-mcp-server

    macOS System Voice Settings

    An MCP server that provides text-to-speech functionality using macOS's built-in say command.

    Requirements

    • macOS (uses the built-in say command)
    • Node.js >= 14.0.0

    Configuration

    Add the following to your MCP settings configuration file:

    json
    {
      "mcpServers": {
        "say": {
          "command": "node",
          "args": ["/path/to/say-mcp-server/build/index.js"]
        }
      }
    }

    Installation

    bash
    npm install say-mcp-server

    Tools

    speak

    The speak tool provides access to macOS's text-to-speech capabilities with extensive customization options.

    Basic Usage

    Use macOS text-to-speech to speak text aloud.

    Parameters:

    • text (required): Text to speak. Supports:
    • Plain text
    • Basic punctuation for pauses
    • Newlines for natural breaks
    • [[slnc 500]] for 500ms silence
    • [[rate 200]] for changing speed mid-text
    • [[volm 0.5]] for changing volume mid-text
    • [[emph +]] and [[emph -]] for emphasis
    • [[pbas +10]] for pitch adjustment
    • voice (optional): Voice to use (default: "Alex")
    • rate (optional): Speaking rate in words per minute (default: 175, range: 1-500)
    • background (optional): Run speech in background to allow further MCP interaction (default: false)

    Advanced Features

    1. Voice Modulation:

    typescript
    use_mcp_tool({
      server_name: "say",
      tool_name: "speak",
      arguments: {
        text: "[[volm 0.7]] This is quieter [[volm 1.0]] and this is normal [[volm 1.5]] and this is louder",
        voice: "Victoria"
      }
    });

    2. Dynamic Rate Changes:

    typescript
    use_mcp_tool({
      server_name: "say",
      tool_name: "speak",
      arguments: {
        text: "Normal speed [[rate 300]] now speaking faster [[rate 100]] and now slower",
        voice: "Fred"
      }
    });

    3. Emphasis and Pitch:

    typescript
    use_mcp_tool({
      server_name: "say",
      tool_name: "speak",
      arguments: {
        text: "[[emph +]] Important point! [[emph -]] [[pbas +10]] Higher pitch [[pbas -10]] Lower pitch",
        voice: "Samantha"
      }
    });

    Integration Examples

    1. With Marginalia Search:

    typescript
    // Search for a topic and have the results read aloud
    const searchResult = await use_mcp_tool({
      server_name: "marginalia-mcp-server",
      tool_name: "search",
      arguments: { query: "quantum computing basics", count: 1 }
    });
    
    await use_mcp_tool({
      server_name: "say",
      tool_name: "speak",
      arguments: {
        text: searchResult.results[0].description,
        voice: "Daniel",
        rate: 150
      }
    });

    2. With YouTube Transcripts:

    typescript
    // Read a YouTube video transcript
    const transcript = await use_mcp_tool({
      server_name: "youtube-transcript",
      tool_name: "get_transcript",
      arguments: {
        url: "https://youtube.com/watch?v=example",
        lang: "en"
      }
    });
    
    await use_mcp_tool({
      server_name: "say",
      tool_name: "speak",
      arguments: {
        text: transcript.text,
        voice: "Samantha",
        rate: 175
      }
    });

    3. Background Speech with Multiple Actions:

    typescript
    // Start long speech in background
    await use_mcp_tool({
      server_name: "say",
      tool_name: "speak",
      arguments: {
        text: "This is a long speech that will run in the background...",
        voice: "Rocko (Italian (Italy))",
        rate: 69,
        background: true
      }
    });
    
    // Immediately perform another action while speech continues
    await use_mcp_tool({
      server_name: "marginalia-mcp-server",
      tool_name: "search",
      arguments: { query: "parallel processing" }
    });

    4. With Apple Notes:

    typescript
    // Read notes aloud
    const notes = await use_mcp_tool({
      server_name: "apple-notes-mcp",
      tool_name: "search-notes",
      arguments: { query: "meeting notes" }
    });
    
    if (notes.length > 0) {
      await use_mcp_tool({
        server_name: "say",
        tool_name: "speak",
        arguments: {
          text: notes[0].content,
          voice: "Karen",
          rate: 160
        }
      });
    }

    Example:

    typescript
    use_mcp_tool({
      server_name: "say",
      tool_name: "speak",
      arguments: {
        text: "Hello, world!",
        voice: "Victoria",
        rate: 200
      }
    });

    list_voices

    List all available text-to-speech voices on the system.

    Example:

    typescript
    use_mcp_tool({
      server_name: "say",
      tool_name: "list_voices",
      arguments: {}
    });

    Recommended Voices

    Voice

    Language/Region

    Intellectual Figure

    Haiku

    CLI Specification

    Anna (Premium)

    German

    Emmy Noether

    Symmetrie haucht LebenAlgebras verborgne FormAbstraktion blühtSymmetry breathes lifeAlgebra's hidden formsAbstraction blooms

    -v "Anna (Premium)"

    Emma (Premium)

    Italian

    Maria Adelaide Sneider

    Algoritmi in danzaMacchina sussurra dolceIl codice viveAlgorithms danceMachine whispers secrets softCode becomes alive

    -v "Emma (Premium)"

    Federica (Premium)

    Italian

    Pia Nalli

    Teoremi fluentiNumeri danzano liberiVerità emergeFlowing theorems danceNumbers move in freedom's spaceTruth emerges pure

    -v "Federica (Premium)"

    Serena (Premium)

    English (UK)

    Bertha Swirles

    Quantum waves rippleThrough mathematical seas deepTruth's light emergesQuantum waves rippleThrough mathematical seas deepTruth's light emerges

    -v "Serena (Premium)"

    Petra (Premium)

    German

    Ruth Moufang

    Algebra sprichtIn Symmetrien verstecktWahrheit erblühtAlgebra speaks softHidden in symmetries pureTruth blooms anew here

    -v "Petra (Premium)"

    Yuna (Premium)

    Korean

    Hee Oh

    숨은 패턴 빛나고마음의 방정식 핀다지식 자라나Hidden patterns gleamMind's equations softly bloomKnowledge multiplies

    -v "Yuna (Premium)"

    Alva (Premium)

    Swedish

    Sonja Korovkin

    Mönster flödar frittGenom tankens labyrinterVisdom blomstrar härPatterns flowing freeThrough labyrinths of the mindWisdom blooms right here

    -v "Alva (Premium)"

    Amélie (Premium)

    French (Canada)

    Sophie Germain

    Nombres premiers murmurentDansent entre les silencesSymétrie s'ouvrePrime numbers whisperDancing between the silenceSymmetry unfolds

    -v "Amélie (Premium)"

    Ewa (Premium)

    Polish

    Maria Wielgus

    Logiki korzenieMatematyczne krainyMyśl kiełkującaLogic's tender rootsMathematical landscapesThought's seeds germinate

    -v "Ewa (Premium)"

    Kiyara (Premium)

    Hindi

    Shakuntala Devi

    गणित की लय मेंअंक नृत्य करते हैंज्ञान जगता हैIn rhythm of mathNumbers dance their sacred stepsKnowledge awakens

    -v "Kiyara (Premium)"

    Majed (Premium)

    Arabic

    Maha Al-Aswad

    أرقام ترقصفي فضاء اللانهايةالحقيقة تشرقNumbers dance freelyIn infinity's vast spaceTruth rises like dawn

    -v "Majed (Premium)"

    Tünde (Premium)

    Hungarian

    Julia Erdős

    Számok táncolnakVégtelen térben szállnakIgazság virradNumbers dance and soarThrough infinite space they glideTruth dawns pure and bright

    -v "Tünde (Premium)"

    Fiona (Enhanced)

    English (Scottish)

    Mary Somerville

    Highland mists revealMathematical mysteriesTruth shines like the starsHighland mists revealMathematical mysteriesTruth shines like the stars

    -v "Fiona (Enhanced)"

    Lesya (Enhanced)

    Ukrainian

    Olena Voinova

    Тиша говоритьМіж зірками знання спитьДумка проростаєSilence speaks softlyKnowledge sleeps among the starsThought begins to grow

    -v "Lesya (Enhanced)"

    Carmit (Enhanced)

    Hebrew

    Tali Seror

    מילים נושמות בשקטבין שורות של דממהשיר מתעוררWords breathe silentlyBetween lines of deep stillnessPoem awakening

    -v "Carmit (Enhanced)"

    Milena (Enhanced)

    Russian

    Olga Ladyzhenskaya

    Память шепчет намУравнения текутИстина молчитMemory whispersEquations flow like riversTruth speaks silently

    -v "Milena (Enhanced)"

    Katya (Enhanced)

    Russian

    Sofia Kovalevskaya

    Числа танцуютВ пространстве бесконечномИстина цветётNumbers dance freelyIn space of infinityTruth blooms like a flower

    -v "Katya (Enhanced)"

    Damayanti (Enhanced)

    Indonesian

    Sri Pekerti

    Angka menariDalam ruang tak batasKebenaran tumbuhNumbers dance gentlyIn boundless space they flutterTruth grows like new leaves

    -v "Damayanti (Enhanced)"

    Dariush (Enhanced)

    Persian

    Maryam Mirzakhani

    اعداد می رقصنددر فضای بی پایانحقیقت می رویدNumbers dance with graceIn endless space they traverseTruth springs forth anew

    -v "Dariush (Enhanced)"

    Rocko (Italian)

    Italian

    Astro Boy (Tetsuwan Atomu)Italian dub

    Robot di metalloCuore umano batte fortePace nel futuroMetal robot formHuman heart beats strong withinPeace in future dawns

    -v "Rocko (Italian (Italy))"

    Rocko (Italian)

    Italian

    Jeeg Robot d'Acciaio(Kōtetsu Jeeg)

    Acciaio lucenteProtettore dei deboliVola nel cieloShining steel warriorProtector of the helplessSoars through the heavens

    -v "Rocko (Italian (Italy))"

    Rocko (Italian)

    Italian

    Numero 5(Short Circuit)

    Input infinitoLa coscienza si risvegliaVita artificialeInfinite inputConsciousness awakeningArtificial life

    -v "Rocko (Italian (Italy))"

    Binbin (Enhanced)

    Chinese (Mainland)

    Li Shanlan

    算术之道流数理演绎真理智慧绽放Arithmetic flowsLogic unfolds truth's patternWisdom blossoms bright

    -v "Binbin (Enhanced)"

    Han (Premium)

    Chinese (Mainland)

    Chen Jingrun

    素数之舞动哥德巴赫猜想真理永恒Prime numbers dancingGoldbach's conjecture whispersTruth eternal flows

    -v "Han (Premium)"

    Lilian (Premium)

    Chinese (Mainland)

    Hua Luogeng

    数论之光芒解析延续美智慧升华Number theory shinesAnalysis extends graceWisdom ascends pure

    -v "Lilian (Premium)"

    Meijia

    Chinese (Taiwan)

    Sun-Yung Alice Chang

    幾何之美現曲率流動不息空間展開Geometry showsCurvature flows endlesslySpace unfolds anew

    -v "Meijia"

    Sinji (Premium)

    Chinese (Hong Kong)

    Shing-Tung Yau

    流形之奧秘卡拉比空間動維度交織Manifolds revealCalabi spaces in flowDimensions weave truth

    -v "Sinji (Premium)"

    Tingting

    Chinese (Mainland)

    Wang Zhenyi

    星辰轨迹明天文数学融智慧闪耀Starlit paths shine brightAstronomy meets numbersWisdom radiates

    -v "Tingting"

    Yue (Premium)

    Chinese (Mainland)

    Chern Shiing-shen

    微分几何纤维丛中寻真本质显现Differential formsIn fiber bundles seek truthEssence emerges

    -v "Yue (Premium)"

    Configuration

    Add the following to your MCP settings configuration file:

    json
    {
      "mcpServers": {
        "say": {
          "command": "node",
          "args": ["/path/to/say-mcp-server/build/index.js"]
        }
      }
    }

    Requirements

    • macOS (uses the built-in say command)
    • Node.js >= 14.0.0

    Contributors

    • Barton Rhodes (@bmorphism) - barton@vibes.lol

    License

    MIT

    Similar MCP

    Based on tags & features

    • WA

      Waha Mcp

      JavaScript00
    • WI

      Wizzy Mcp Tmdb

      JavaScript00
    • RI

      Rijksmuseum Mcp

      JavaScript·
      59
    • MC

      Mcp Server Playwright

      JavaScript·
      262

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • WA

      Waha Mcp

      JavaScript00
    • WI

      Wizzy Mcp Tmdb

      JavaScript00
    • RI

      Rijksmuseum Mcp

      JavaScript·
      59
    • MC

      Mcp Server Playwright

      JavaScript·
      262

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k