文本转语音服务

一个基于操作系统文本转语音引擎的MCP服务器,提供文本转语音功能,支持自定义语音和语速调节。

  • by passelin
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 passelin/mcp-server-speak

使用说明

@passelin/mcp服务器通话

A. 模型上下文协议(MCP) 服务器,提供使用操作系统的文本到语音引擎讲文本的能力。

特性

  • 使用系统的本机文本到语音功能将文本转换为语音(使用 say 包装)
  • 支持可定制的语音(您的系统上可用的语音)
  • 语音速度可调
  • 能够在播放过程中停止语音

用法

启动服务器

启动MCP服务器:

npx @passelin/mcp-server-speak

此MCP服务器使用 stdio 传输,这意味着它将从标准输入读取并写入标准输出。您可以使用JSON-RPC消息与它进行交互。

API

此MCP服务器提供以下工具:

1. speak

使用系统的文本到语音引擎说出提供的文本。

参数:

  • text (string,必填):要说话的文本
  • voice (字符串,可选):用于语音的可选语音(取决于可用的系统语音)
  • speed (数字,可选):语速(默认为1.0)

请求示例:

{
  "jsonrpc": "2.0",
  "id": "123",
  "method": "tools/call",
  "params": {
    "name": "speak",
    "arguments": {
      "text": "Hello! This is a test message.",
      "voice": "Alex",
      "speed": 1.2
    }
  }
}

2. stop

停止任何正在进行的演讲。

参数:无

请求示例:

{
  "jsonrpc": "2.0",
  "id": "456",
  "method": "tools/call",
  "params": {
    "name": "stop",
    "arguments": {}
  }
}

运行测试

要运行测试,请执行以下操作:

npm test

发展

先决条件

  • Node.js 18.0.0或更高版本
  • npm 8.0.0或更高版本

发布管理

此软件包使用 语义版本控制。要创建新版本,请执行以下操作:

  1. 确保所有更改都符合要求 常规承诺 格式:

    • feat: add new feature (小版本凹凸)
    • fix: resolve issue (补丁版本凹凸)
    • feat!: breaking change 或 BREAKING CHANGE: description (主要版本凹凸)

    您可以使用helper命令创建格式正确的提交:

    npm run commit
    
  2. 使用npm version命令来提升版本:

    npm version patch # for bug fixes (1.0.0 -> 1.0.1)
    npm version minor # for new features (1.0.0 -> 1.1.0)
    npm version major # for breaking changes (1.0.0 -> 2.0.0)
    
  3. version命令将:

    • 更新package.json版本
    • 根据您的提交自动更新CHANGELOG.md
    • 为版本创建一个git标签
    • 提交这些更改
  4. 将更改和标签推送到GitHub:

    git push && git push --tags
    
  5. 基于新标签创建GitHub版本以触发发布工作流

依赖项

许可证

该项目根据MIT许可证获得许可。