Say MCP Server
say-mcp-server
<a href="https://glama.ai/mcp/servers/lmmqoe15jp"><img width="380" height="200" src="https://glama.ai/mcp/servers/lmmqoe15jp/badge" alt="Say Server MCP server" /></a>
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:
Installation
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
- Voice Modulation:
- Dynamic Rate Changes:
- Emphasis and Pitch:
Integration Examples
- With Marginalia Search:
- With YouTube Transcripts:
- Background Speech with Multiple Actions:
- With Apple Notes:
Example:
list_voices
List all available text-to-speech voices on the system.
Example:
Recommended Voices
<table> <tr> <th>Voice</th> <th>Language/Region</th> <th>Intellectual Figure</th> <th>Haiku</th> <th>CLI Specification</th> </tr> <tr> <td>Anna (Premium)</td> <td>German</td> <td>Emmy Noether</td> <td>Symmetrie haucht Leben<br>Algebras verborgne Form<br>Abstraktion blüht<br><br><i>Symmetry breathes life<br>Algebra's hidden forms<br>Abstraction blooms</i></td> <td><code>-v "Anna (Premium)"</code></td> </tr> <tr> <td>Emma (Premium)</td> <td>Italian</td> <td>Maria Adelaide Sneider</td> <td>Algoritmi in danza<br>Macchina sussurra dolce<br>Il codice vive<br><br><i>Algorithms dance<br>Machine whispers secrets soft<br>Code becomes alive</i></td> <td><code>-v "Emma (Premium)"</code></td> </tr> <tr> <td>Federica (Premium)</td> <td>Italian</td> <td>Pia Nalli</td> <td>Teoremi fluenti<br>Numeri danzano liberi<br>Verità emerge<br><br><i>Flowing theorems dance<br>Numbers move in freedom's space<br>Truth emerges pure</i></td> <td><code>-v "Federica (Premium)"</code></td> </tr> <tr> <td>Serena (Premium)</td> <td>English (UK)</td> <td>Bertha Swirles</td> <td>Quantum waves ripple<br>Through mathematical seas deep<br>Truth's light emerges<br><br><i>Quantum waves ripple<br>Through mathematical seas deep<br>Truth's light emerges</i></td> <td><code>-v "Serena (Premium)"</code></td> </tr> <tr> <td>Petra (Premium)</td> <td>German</td> <td>Ruth Moufang</td> <td>Algebra spricht<br>In Symmetrien versteckt<br>Wahrheit erblüht<br><br><i>Algebra speaks soft<br>Hidden in symmetries pure<br>Truth blooms anew here</i></td> <td><code>-v "Petra (Premium)"</code></td> </tr> <tr> <td>Yuna (Premium)</td> <td>Korean</td> <td>Hee Oh</td> <td>숨은 패턴 빛나고<br>마음의 방정식 핀다<br>지식 자라나<br><br><i>Hidden patterns gleam<br>Mind's equations softly bloom<br>Knowledge multiplies</i></td> <td><code>-v "Yuna (Premium)"</code></td> </tr> <tr> <td>Alva (Premium)</td> <td>Swedish</td> <td>Sonja Korovkin</td> <td>Mönster flödar fritt<br>Genom tankens labyrinter<br>Visdom blomstrar här<br><br><i>Patterns flowing free<br>Through labyrinths of the mind<br>Wisdom blooms right here</i></td> <td><code>-v "Alva (Premium)"</code></td> </tr> <tr> <td>Amélie (Premium)</td> <td>French (Canada)</td> <td>Sophie Germain</td> <td>Nombres premiers murmurent<br>Dansent entre les silences<br>Symétrie s'ouvre<br><br><i>Prime numbers whisper<br>Dancing between the silence<br>Symmetry unfolds</i></td> <td><code>-v "Amélie (Premium)"</code></td> </tr> <tr> <td>Ewa (Premium)</td> <td>Polish</td> <td>Maria Wielgus</td> <td>Logiki korzenie<br>Matematyczne krainy<br>Myśl kiełkująca<br><br><i>Logic's tender roots<br>Mathematical landscapes<br>Thought's seeds germinate</i></td> <td><code>-v "Ewa (Premium)"</code></td> </tr> <tr> <td>Kiyara (Premium)</td> <td>Hindi</td> <td>Shakuntala Devi</td> <td>गणित की लय में<br>अंक नृत्य करते हैं<br>ज्ञान जगता है<br><br><i>In rhythm of math<br>Numbers dance their sacred steps<br>Knowledge awakens</i></td> <td><code>-v "Kiyara (Premium)"</code></td> </tr> <tr> <td>Majed (Premium)</td> <td>Arabic</td> <td>Maha Al-Aswad</td> <td>أرقام ترقص<br>في فضاء اللانهاية<br>الحقيقة تشرق<br><br><i>Numbers dance freely<br>In infinity's vast space<br>Truth rises like dawn</i></td> <td><code>-v "Majed (Premium)"</code></td> </tr> <tr> <td>Tünde (Premium)</td> <td>Hungarian</td> <td>Julia Erdős</td> <td>Számok táncolnak<br>Végtelen térben szállnak<br>Igazság virrad<br><br><i>Numbers dance and soar<br>Through infinite space they glide<br>Truth dawns pure and bright</i></td> <td><code>-v "Tünde (Premium)"</code></td> </tr> <tr> <td>Fiona (Enhanced)</td> <td>English (Scottish)</td> <td>Mary Somerville</td> <td>Highland mists reveal<br>Mathematical mysteries<br>Truth shines like the stars<br><br><i>Highland mists reveal<br>Mathematical mysteries<br>Truth shines like the stars</i></td> <td><code>-v "Fiona (Enhanced)"</code></td> </tr> <tr> <td>Lesya (Enhanced)</td> <td>Ukrainian</td> <td>Olena Voinova</td> <td>Тиша говорить<br>Між зірками знання спить<br>Думка проростає<br><br><i>Silence speaks softly<br>Knowledge sleeps among the stars<br>Thought begins to grow</i></td> <td><code>-v "Lesya (Enhanced)"</code></td> </tr> <tr> <td>Carmit (Enhanced)</td> <td>Hebrew</td> <td>Tali Seror</td> <td>מילים נושמות בשקט<br>בין שורות של דממה<br>שיר מתעורר<br><br><i>Words breathe silently<br>Between lines of deep stillness<br>Poem awakening</i></td> <td><code>-v "Carmit (Enhanced)"</code></td> </tr> <tr> <td>Milena (Enhanced)</td> <td>Russian</td> <td>Olga Ladyzhenskaya</td> <td>Память шепчет нам<br>Уравнения текут<br>Истина молчит<br><br><i>Memory whispers<br>Equations flow like rivers<br>Truth speaks silently</i></td> <td><code>-v "Milena (Enhanced)"</code></td> </tr> <tr> <td>Katya (Enhanced)</td> <td>Russian</td> <td>Sofia Kovalevskaya</td> <td>Числа танцуют<br>В пространстве бесконечном<br>Истина цветёт<br><br><i>Numbers dance freely<br>In space of infinity<br>Truth blooms like a flower</i></td> <td><code>-v "Katya (Enhanced)"</code></td> </tr> <tr> <td>Damayanti (Enhanced)</td> <td>Indonesian</td> <td>Sri Pekerti</td> <td>Angka menari<br>Dalam ruang tak batas<br>Kebenaran tumbuh<br><br><i>Numbers dance gently<br>In boundless space they flutter<br>Truth grows like new leaves</i></td> <td><code>-v "Damayanti (Enhanced)"</code></td> </tr> <tr> <td>Dariush (Enhanced)</td> <td>Persian</td> <td>Maryam Mirzakhani</td> <td>اعداد می رقصند<br>در فضای بی پایان<br>حقیقت می روید<br><br><i>Numbers dance with grace<br>In endless space they traverse<br>Truth springs forth anew</i></td> <td><code>-v "Dariush (Enhanced)"</code></td> </tr> <tr> <td>Rocko (Italian)</td> <td>Italian</td> <td>Astro Boy (Tetsuwan Atomu)<br>Italian dub</td> <td>Robot di metallo<br>Cuore umano batte forte<br>Pace nel futuro<br><br><i>Metal robot form<br>Human heart beats strong within<br>Peace in future dawns</i></td> <td><code>-v "Rocko (Italian (Italy))"</code></td> </tr> <tr> <td>Rocko (Italian)</td> <td>Italian</td> <td>Jeeg Robot d'Acciaio<br>(Kōtetsu Jeeg)</td> <td>Acciaio lucente<br>Protettore dei deboli<br>Vola nel cielo<br><br><i>Shining steel warrior<br>Protector of the helpless<br>Soars through the heavens</i></td> <td><code>-v "Rocko (Italian (Italy))"</code></td> </tr> <tr> <td>Rocko (Italian)</td> <td>Italian</td> <td>Numero 5<br>(Short Circuit)</td> <td>Input infinito<br>La coscienza si risveglia<br>Vita artificiale<br><br><i>Infinite input<br>Consciousness awakening<br>Artificial life</i></td> <td><code>-v "Rocko (Italian (Italy))"</code></td> </tr> <tr> <td>Binbin (Enhanced)</td> <td>Chinese (Mainland)</td> <td>Li Shanlan</td> <td>算术之道流<br>数理演绎真理<br>智慧绽放<br><br><i>Arithmetic flows<br>Logic unfolds truth's pattern<br>Wisdom blossoms bright</i></td> <td><code>-v "Binbin (Enhanced)"</code></td> </tr> <tr> <td>Han (Premium)</td> <td>Chinese (Mainland)</td> <td>Chen Jingrun</td> <td>素数之舞动<br>哥德巴赫猜想<br>真理永恒<br><br><i>Prime numbers dancing<br>Goldbach's conjecture whispers<br>Truth eternal flows</i></td> <td><code>-v "Han (Premium)"</code></td> </tr> <tr> <td>Lilian (Premium)</td> <td>Chinese (Mainland)</td> <td>Hua Luogeng</td> <td>数论之光芒<br>解析延续美<br>智慧升华<br><br><i>Number theory shines<br>Analysis extends grace<br>Wisdom ascends pure</i></td> <td><code>-v "Lilian (Premium)"</code></td> </tr> <tr> <td>Meijia</td> <td>Chinese (Taiwan)</td> <td>Sun-Yung Alice Chang</td> <td>幾何之美現<br>曲率流動不息<br>空間展開<br><br><i>Geometry shows<br>Curvature flows endlessly<br>Space unfolds anew</i></td> <td><code>-v "Meijia"</code></td> </tr> <tr> <td>Sinji (Premium)</td> <td>Chinese (Hong Kong)</td> <td>Shing-Tung Yau</td> <td>流形之奧秘<br>卡拉比空間動<br>維度交織<br><br><i>Manifolds reveal<br>Calabi spaces in flow<br>Dimensions weave truth</i></td> <td><code>-v "Sinji (Premium)"</code></td> </tr> <tr> <td>Tingting</td> <td>Chinese (Mainland)</td> <td>Wang Zhenyi</td> <td>星辰轨迹明<br>天文数学融<br>智慧闪耀<br><br><i>Starlit paths shine bright<br>Astronomy meets numbers<br>Wisdom radiates</i></td> <td><code>-v "Tingting"</code></td> </tr> <tr> <td>Yue (Premium)</td> <td>Chinese (Mainland)</td> <td>Chern Shiing-shen</td> <td>微分几何<br>纤维丛中寻真<br>本质显现<br><br><i>Differential forms<br>In fiber bundles seek truth<br>Essence emerges</i></td> <td><code>-v "Yue (Premium)"</code></td> </tr> </table>Configuration
Add the following to your MCP settings configuration file:
Requirements
- macOS (uses the built-in
say
command) - Node.js >= 14.0.0
Contributors
- Barton Rhodes (@bmorphism) - barton@vibes.lol
License
MIT
Enables text-to-speech functionality on macOS using the say command, offering extensive control over speech parameters like voice, rate, volume, and pitch for a customizable auditory experience.