语音命令服务器

一个远程MCP服务器,允许通过Claude移动应用使用语音命令在您的机器上执行操作。

  • by dskill
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 dskill/voice-mcp-server

使用说明

语音MCP服务器

远程MCP(模型上下文协议)服务器,使Claude能够通过Claude移动应用程序通过语音在您的机器上执行命令。

🎤 元时刻

此存储库是使用它包含的MCP连接器创建和提交的。

最初的提交是由Claude通过Claude iOS应用程序进行的,使用语音命令通过此MCP服务器与开发VM进行交互。然后,Claude Code管理工具由Claude设计,由Claude Code实现,并由Claude通过同一服务器进行测试。这是一种递归。

这是什么?

此服务器通过OAuth 2.1身份验证实现了MCP Streamable HTTP传输,允许Claude.ai(包括移动应用程序)安全地连接到您的计算机并执行命令。

特性

  • OAuth 2.1身份验证 -基于PIN的安全授权流程
  • MCP流式HTTP -现代基于HTTP的MCP传输
  • Shell命令执行 -在主机上运行任何命令
  • Tmux集成 -向tmux会话发送密钥并捕获其输出
  • Claude代码管理 -启动、监视和控制Claude Code会话
  • CORS支持 -适用于Claude.ai网络和移动应用程序

提供的工具

壳牌和Tmux工具

工具 说明
execute_command 运行shell命令并获取输出
tmux_send 向tmux会话发送按键
tmux_capture 捕获当前tmux窗格输出

Claude代码管理工具

工具 说明
start_claude_code_task 使用提示和工作目录启动Claude Code任务
get_claude_code_status 检查任务进度、运行时间和上次输出
get_claude_code_output 从任务中获取完整输出
send_to_claude_code 向正在运行的会话发送后续消息
list_claude_code_sessions 列出所有任务(正在运行和已完成)
stop_claude_code_task 停止正在运行的任务

设置

先决条件

  • Node.js 18+
  • 可公开访问的URL(或类似隧道的ngrok/Cloudflare)
  • Claude Code CLI(用于Claude Code管理工具)

安装

npm install
npm run build

跑步

# Set your PIN (required for auth)
export MCP_PIN=your-secret-pin

# Set your public URL
export PUBLIC_URL=https://your-domain.com

# Start the server
npm start

exe.dev部署

如果在exe.dev VM上运行,则需要配置代理以公开正确的端口:

# From your local machine (not the VM), set the public port
ssh exe.dev share port <vmname> 3000
ssh exe.dev share set-public <vmname>

重要提示: exe.dev只允许 一次一个公共港口。如果您还运行其他服务(如开发服务器),则需要选择要公开的服务,或者在默认端口上运行MCP服务器。

来自Claude的连接

  1. 转到Claude.ai设置→ 连接器
  2. 添加新的MCP连接器
  3. 输入您的服务器URL(例如。, https://your-domain.com)
  4. 通过输入您的PIN完成OAuth流程
  5. 开始与克劳德交谈,并使用语音命令!

建筑

┌─────────────────┐     ┌───────────────────┐     ┌─────────────┐
│  Claude Mobile  │────▶│  Voice MCP Server │────▶│   Your VM   │
│  (Voice Input)  │◀────│  (OAuth + MCP)    │◀────│  (Commands) │
└─────────────────┘     └───────────────────┘     └─────────────┘
                                │
                                ▼
                        ┌───────────────┐
                        │  Claude Code  │
                        │  (Agentic)    │
                        └───────────────┘

示例工作流程

You (voice): "Create a new reverb effect for my guitar pedal"

Claude:
1. start_claude_code_task({
     prompt: "Create a reverb effect...",
     workingDirectory: "/home/user/effects"
   })
   → Returns: { taskId: "task-123", status: "running" }

2. get_claude_code_status({ taskId: "task-123" })
   → Returns: { status: "running", runtimeSeconds: 15, lastOutput: "..." }

3. get_claude_code_output({ taskId: "task-123" })
   → Returns: { status: "completed", output: "Created reverb.sc..." }

You: "Nice!"

端点

端点 描述
/.well-known/oauth-authorization-server OAuth 2.1元数据
/.well-known/oauth-protected-resource 受保护的资源元数据
/oauth/register 动态客户端注册
/oauth/authorize 授权端点(PIN输入)
/oauth/token 令牌端点
/mcp MCP JSON-RPC端点
/health 健康检查

环境变量

变量 描述 默认值
PORT 服务器端口 3000
PUBLIC_URL 公共基础URL 自动检测到
MCP_PIN 授权PIN changeme

安全说明

  • 始终设定一个强大的 MCP_PIN 生产中
  • 在生产环境中使用HTTPS(通过反向代理或隧道)
  • 代币在24小时后过期
  • Claude代码运行 --dangerously-skip-permissions (专为VM环境设计)
  • 考虑敏感环境的网络级限制

许可证

麻省理工学院


专为 洛克医生 -多平台、SuperCollider驱动的音频/视觉吉他效果踏板。