首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
say-mcp-server2025-05-210分享
github
通过使用“say”命令在macOS上启用文本转语音功能,提供对语音、语速、音量和音调等语音参数的广泛控制,从而实现可定制的听觉体验。
By bmorphism
2025-05-210
github
详情内容

say-mcp-server

Say Server MCP server

macOS 系统语音设置

这是一个使用 macOS 内置 say 命令提供文本转语音功能的 MCP 服务器。

要求

  • macOS(使用内置的 say 命令)
  • Node.js >= 14.0.0

配置

将以下内容添加到您的 MCP 设置配置文件中:

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

安装

npm install say-mcp-server

工具

speak

speak 工具提供了访问 macOS 文本转语音功能的能力,并支持广泛的自定义选项。

基本用法

使用 macOS 的文本转语音功能大声朗读文本。

参数:

  • text(必需):要朗读的文本。支持:
    • 纯文本
    • 基本标点符号用于停顿
    • 换行符用于自然停顿
    • [[slnc 500]] 表示 500ms 的静音
    • [[rate 200]] 表示在文本中间改变速度
    • [[volm 0.5]] 表示在文本中间改变音量
    • [[emph +]] 和 [[emph -]] 用于强调
    • [[pbas +10]] 用于调整音调
  • voice(可选):使用的语音(默认:"Alex")
  • rate(可选):每分钟单词数的说话速度(默认:175,范围:1-500)
  • background(可选):在后台运行语音以允许进一步的 MCP 交互(默认:false)

高级特性

  1. 语音调制:
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"
  }
});
  1. 动态速率变化:
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"
  }
});
  1. 强调和音调:
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"
  }
});

集成示例

  1. 与 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
  }
});
  1. 与 YouTube 字幕结合使用:
// 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
  }
});
  1. 多个动作的后台语音:
// 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" }
});
  1. 与 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
    }
  });
}

示例:

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

list_voices

列出系统上所有可用的文本转语音声音。

示例:

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

推荐的声音

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)"

配置

将以下内容添加到您的 MCP 设置配置文件中:

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

要求

  • macOS(使用内置的 say 命令)
  • Node.js >= 14.0.0

贡献者

许可证

MIT

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档