I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

say-mcp-server
MCP server for macOS text-to-speech functionality
3 years
Works with Finder
1
Github Watches
4
Github Forks
12
Github Stars
say-mcp-server
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:
{
"mcpServers": {
"say": {
"command": "node",
"args": ["/path/to/say-mcp-server/build/index.js"]
}
}
}
Installation
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
- Voice Modulation:
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"
}
});
- Dynamic Rate Changes:
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"
}
});
- Emphasis and Pitch:
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
- With Marginalia Search:
// 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
}
});
- With YouTube Transcripts:
// 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
}
});
- Background Speech with Multiple Actions:
// 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" }
});
- With Apple Notes:
// 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:
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:
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 Leben Algebras verborgne Form Abstraktion blüht Symmetry breathes life Algebra's hidden forms Abstraction blooms |
-v "Anna (Premium)" |
Emma (Premium) | Italian | Maria Adelaide Sneider | Algoritmi in danza Macchina sussurra dolce Il codice vive Algorithms dance Machine whispers secrets soft Code becomes alive |
-v "Emma (Premium)" |
Federica (Premium) | Italian | Pia Nalli | Teoremi fluenti Numeri danzano liberi Verità emerge Flowing theorems dance Numbers move in freedom's space Truth emerges pure |
-v "Federica (Premium)" |
Serena (Premium) | English (UK) | Bertha Swirles | Quantum waves ripple Through mathematical seas deep Truth's light emerges Quantum waves ripple Through mathematical seas deep Truth's light emerges |
-v "Serena (Premium)" |
Petra (Premium) | German | Ruth Moufang | Algebra spricht In Symmetrien versteckt Wahrheit erblüht Algebra speaks soft Hidden in symmetries pure Truth blooms anew here |
-v "Petra (Premium)" |
Yuna (Premium) | Korean | Hee Oh | 숨은 패턴 빛나고 마음의 방정식 핀다 지식 자라나 Hidden patterns gleam Mind's equations softly bloom Knowledge multiplies |
-v "Yuna (Premium)" |
Alva (Premium) | Swedish | Sonja Korovkin | Mönster flödar fritt Genom tankens labyrinter Visdom blomstrar här Patterns flowing free Through labyrinths of the mind Wisdom blooms right here |
-v "Alva (Premium)" |
Amélie (Premium) | French (Canada) | Sophie Germain | Nombres premiers murmurent Dansent entre les silences Symétrie s'ouvre Prime numbers whisper Dancing between the silence Symmetry unfolds |
-v "Amélie (Premium)" |
Ewa (Premium) | Polish | Maria Wielgus | Logiki korzenie Matematyczne krainy Myśl kiełkująca Logic's tender roots Mathematical landscapes Thought's seeds germinate |
-v "Ewa (Premium)" |
Kiyara (Premium) | Hindi | Shakuntala Devi | गणित की लय में अंक नृत्य करते हैं ज्ञान जगता है In rhythm of math Numbers dance their sacred steps Knowledge awakens |
-v "Kiyara (Premium)" |
Majed (Premium) | Arabic | Maha Al-Aswad | أرقام ترقص في فضاء اللانهاية الحقيقة تشرق Numbers dance freely In infinity's vast space Truth rises like dawn |
-v "Majed (Premium)" |
Tünde (Premium) | Hungarian | Julia Erdős | Számok táncolnak Végtelen térben szállnak Igazság virrad Numbers dance and soar Through infinite space they glide Truth dawns pure and bright |
-v "Tünde (Premium)" |
Fiona (Enhanced) | English (Scottish) | Mary Somerville | Highland mists reveal Mathematical mysteries Truth shines like the stars Highland mists reveal Mathematical mysteries Truth shines like the stars |
-v "Fiona (Enhanced)" |
Lesya (Enhanced) | Ukrainian | Olena Voinova | Тиша говорить Між зірками знання спить Думка проростає Silence speaks softly Knowledge sleeps among the stars Thought begins to grow |
-v "Lesya (Enhanced)" |
Carmit (Enhanced) | Hebrew | Tali Seror | מילים נושמות בשקט בין שורות של דממה שיר מתעורר Words breathe silently Between lines of deep stillness Poem awakening |
-v "Carmit (Enhanced)" |
Milena (Enhanced) | Russian | Olga Ladyzhenskaya | Память шепчет нам Уравнения текут Истина молчит Memory whispers Equations flow like rivers Truth speaks silently |
-v "Milena (Enhanced)" |
Katya (Enhanced) | Russian | Sofia Kovalevskaya | Числа танцуют В пространстве бесконечном Истина цветёт Numbers dance freely In space of infinity Truth blooms like a flower |
-v "Katya (Enhanced)" |
Damayanti (Enhanced) | Indonesian | Sri Pekerti | Angka menari Dalam ruang tak batas Kebenaran tumbuh Numbers dance gently In boundless space they flutter Truth grows like new leaves |
-v "Damayanti (Enhanced)" |
Dariush (Enhanced) | Persian | Maryam Mirzakhani | اعداد می رقصند در فضای بی پایان حقیقت می روید Numbers dance with grace In endless space they traverse Truth springs forth anew |
-v "Dariush (Enhanced)" |
Rocko (Italian) | Italian | Astro Boy (Tetsuwan Atomu) Italian dub |
Robot di metallo Cuore umano batte forte Pace nel futuro Metal robot form Human heart beats strong within Peace in future dawns |
-v "Rocko (Italian (Italy))" |
Rocko (Italian) | Italian | Jeeg Robot d'Acciaio (Kōtetsu Jeeg) |
Acciaio lucente Protettore dei deboli Vola nel cielo Shining steel warrior Protector of the helpless Soars through the heavens |
-v "Rocko (Italian (Italy))" |
Rocko (Italian) | Italian | Numero 5 (Short Circuit) |
Input infinito La coscienza si risveglia Vita artificiale Infinite input Consciousness awakening Artificial life |
-v "Rocko (Italian (Italy))" |
Binbin (Enhanced) | Chinese (Mainland) | Li Shanlan | 算术之道流 数理演绎真理 智慧绽放 Arithmetic flows Logic unfolds truth's pattern Wisdom blossoms bright |
-v "Binbin (Enhanced)" |
Han (Premium) | Chinese (Mainland) | Chen Jingrun | 素数之舞动 哥德巴赫猜想 真理永恒 Prime numbers dancing Goldbach's conjecture whispers Truth eternal flows |
-v "Han (Premium)" |
Lilian (Premium) | Chinese (Mainland) | Hua Luogeng | 数论之光芒 解析延续美 智慧升华 Number theory shines Analysis extends grace Wisdom ascends pure |
-v "Lilian (Premium)" |
Meijia | Chinese (Taiwan) | Sun-Yung Alice Chang | 幾何之美現 曲率流動不息 空間展開 Geometry shows Curvature flows endlessly Space unfolds anew |
-v "Meijia" |
Sinji (Premium) | Chinese (Hong Kong) | Shing-Tung Yau | 流形之奧秘 卡拉比空間動 維度交織 Manifolds reveal Calabi spaces in flow Dimensions weave truth |
-v "Sinji (Premium)" |
Tingting | Chinese (Mainland) | Wang Zhenyi | 星辰轨迹明 天文数学融 智慧闪耀 Starlit paths shine bright Astronomy meets numbers Wisdom radiates |
-v "Tingting" |
Yue (Premium) | Chinese (Mainland) | Chern Shiing-shen | 微分几何 纤维丛中寻真 本质显现 Differential forms In fiber bundles seek truth Essence emerges |
-v "Yue (Premium)" |
Configuration
Add the following to your MCP settings configuration file:
{
"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
相关推荐
Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.
Confidential guide on numerology and astrology, based of GG33 Public information
A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.
Converts Figma frames into front-end code for various mobile frameworks.
PR Professional: Guiding You to Get Media Placements and Publicity Quickly and Effectively
Advanced software engineer GPT that excels through nailing the basics.
Therapist adept at identifying core issues and offering practical advice with images.
Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.
Mirror ofhttps://github.com/agentience/practices_mcp_server
Mirror ofhttps://github.com/bitrefill/bitrefill-mcp-server
Reviews

user_UZ1Q6QWK
I've been using PDF Reader MCP Server by shtse8 and it has significantly optimized my workflow. The seamless integration and intuitive interface make reading and managing PDFs a breeze. Highly recommend for those seeking efficiency and reliability. Five stars!