MCP服务器

一个增强的MCP服务器,为兼容的MCP客户端提供对ElevenLabs Conversational AI API的直接访问,包括官方ElevenLabs MCP连接器未公开的功能。

  • by micro-JAY
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 micro-JAY/twelvelabs-mcp-server

使用说明

TwelveLabs MCP服务器

该项目不隶属于TwelveLabs(视频理解平台)。 这是一个MCP服务器 ElevenLabs 对话人工智能API --语音代理、知识库、对话和TTS。名称“TwelveLabs”只是项目代号。

一个增强的MCP(模型上下文协议)服务器,提供任何兼容的MCP 客户直接访问ElevenLabs对话人工智能API,包括 ElevenLabs官方MCP连接器没有公开的功能。

这包括什么

  • 代理 --列表,获取完整配置(包括LLM模型+温度),更新提示/设置,管理webhooks和文件上传
  • 知识库 --列表、阅读完整内容、添加文本/URL文档、删除文档
  • 对话 --过滤和标记历史记录,检查成绩单,并重新运行调用后分析/评估
  • 声音 --列出并搜索可用语音

先决条件

快速开始

选项A:npx(不需要克隆)

ELEVENLABS_API_KEY=your-key npx twelvelabs-mcp-server

选项B:克隆和构建

git clone https://github.com/micro-JAY/twelvelabs-mcp-server.git
cd twelvelabs-mcp-server
npm install --include=dev
npm run build

连接MCP客户端

将等效的服务器条目添加到MCP客户端的配置中。配置 文件位置和周围语法因客户端而异;这是标准的stdio 服务器定义:

{
  "mcpServers": {
    "twelvelabs": {
      "command": "node",
      "args": ["/path/to/twelvelabs-mcp-server/dist/index.js"],
      "env": {
        "ELEVENLABS_API_KEY": "your-api-key-here"
      }
    }
  }
}

重新启动或重新连接MCP客户端。你应该看看 twelvelabs 在其中 可用工具列表。

用它

请您的启用MCP的助手使用这些工具,例如:

“列出我的代理人” “获取agent_1001kjbh14xce5kbreh55ydf4rae的完整配置” “显示该代理的最后10个对话” “获取对话的文字记录和分析_xyz”

兼容性

此服务器与支持以下功能的MCP客户端配合使用 标准 运输和出租 您可以为本地服务器进程配置环境变量。客户认为 仅支持远程HTTP MCP服务器需要兼容的stdio网桥或代理。

工具参考

代理工具

工具 它做什么
twelvelabs_list_agents 列出您帐户中的所有代理
twelvelabs_get_agent 完整配置:LLM模型、语音、KB文档、webhook、提示预览
twelvelabs_get_agent_prompt 完整的未截断系统提示文本
twelvelabs_update_agent_prompt 替换系统提示和/或第一条消息
twelvelabs_update_agent_settings 更改温度、语音、TTS设置、语言
twelvelabs_update_agent_conversation_capabilities 启用聊天文件上传并设置最长持续时间消息
twelvelabs_list_agent_conversations 一个代理最近的对话
twelvelabs_get_agent_webhook 当前webhook URL
twelvelabs_set_agent_webhook 设置或删除webhook URL

知识库工具

工具 它做什么
twelvelabs_list_kb_docs 所有带有大小和创建日期的KB文档
twelvelabs_get_kb_doc 文档的完整提取文本内容
twelvelabs_add_kb_text 添加纯文本文档
twelvelabs_add_kb_url 按URL添加网页
twelvelabs_delete_kb_doc 永久删除文档

对话工具

工具 它做什么
twelvelabs_list_conversations 按代理、时间、成功、持续时间、评级、状态和标签筛选历史记录
twelvelabs_get_conversation 完整成绩单、音频/标签元数据、数据收集和评估结果
twelvelabs_rerun_conversation_analysis 使用当前代理设置重新分析已完成的对话
twelvelabs_rerun_conversation_evaluation 为已完成的对话重新运行单个评估标准
twelvelabs_list_conversation_tags 列出工作区对话标签
twelvelabs_create_conversation_tag 创建工作区对话标签
twelvelabs_update_conversation_tag 重命名标记或更改其描述
twelvelabs_assign_conversation_tags 将一个或多个标签应用于对话
twelvelabs_remove_conversation_tag 从对话中删除标签
twelvelabs_delete_conversation_tag 永久删除工作区对话标签

语音工具

工具 它做什么
twelvelabs_list_voices 浏览带有ID和标签的可用语音

安全

  • 输入验证 --在到达API之前,所有工具参数都要使用Zod模式进行验证
  • HTTPS强制 --webhook URL被验证为仅使用HTTPS
  • 路径遍历保护 --对文档和代理ID进行清理,以防止路径遍历
  • 错误清理 --内部错误被捕获并作为安全的MCP错误响应返回;原始堆栈跟踪永远不会暴露给客户端

发展

npm run dev   # watch mode with tsx -- auto-reloads on file changes
npm run build # compile to dist/

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feat/my-feature)
  3. 提交您的更改(git commit -m 'feat: add my feature')
  4. 推到分支(git push origin feat/my-feature)
  5. 打开拉取请求

许可证

麻省理工学院——见 许可证 了解详情。

架构说明

所有工具共享一个Axios客户端实例(src/client.ts)初始化自 ELEVENLABS_API_KEY 在启动时。工具实现已上线 src/tools/ --一个 每个域的文件,并在McpServer上注册 src/index.tsThe 服务器通过stdio传输(stdin/stdout)进行通信,这就是为什么所有debug 日志记录用途 console.error (stderr),不是 console.log.