会议记录管理服务器

KTalk MCP服务器通过JWT认证代理管理和处理KTalk会议记录及转录文件。

  • by Idsosin
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Idsosin/ktalk-mcp

使用说明

KTalk MCP服务器

用于工作的MCP服务器 快聊 会议录音和记录通过 kts-ktalkapi代理 使用JWT(Keycloak)身份验证。

代理充当KTalk API的单一入口点:客户端使用JWT令牌(Keycap)进行身份验证,而KTalk API密钥安全存储在代理服务器上,从不向客户端公开。

工具

工具 说明
login 通过Keycloak进行身份验证(用户名+密码),自动保存令牌
list_recordings 列出带有可选过滤器的录音(房间、日期范围)
get_recording_info 获取录制元数据(标题、参与者、可用质量)
get_transcript 下载成绩单作为 .txt 带有时间戳和说话者姓名的文件
download_recording 下载会议录制视频文件

安装

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

配置

变量 必填 描述
KTALK_PROXY_URL 是 代理基本URL(例如。 https://your-proxy.example.com)
KTALK_JWT_TOKEN 否 手动JWT覆盖(如果设置,跳过已保存的令牌)
KTALK_DOWNLOAD_DIR 否 下载文件的目录(默认: ./downloads)

认证

服务器使用 Keycloak直接访问授权 (资源所有者密码凭据):

  1. 打电话给 login 使用您的Keycloak用户名和密码。
  2. 服务器从Keycloak获得JWT访问令牌+刷新令牌。
  3. 令牌保存到 ~/.ktalk-mcp/token.json 并自动使用。
  4. 当访问令牌过期时,将使用刷新令牌透明地刷新它。

如果两个令牌都过期,请调用 login 再一次。

跑步

光标集成

增添 .cursor/mcp.json (在项目根目录或主目录中):

{
  "mcpServers": {
    "ktalk": {
      "command": "/full/path/to/ktalk-mcp/.venv/bin/python",
      "args": ["/full/path/to/ktalk-mcp/server.py"],
      "env": {
        "KTALK_PROXY_URL": "https://your-proxy.example.com"
      }
    }
  }
}

Claude桌面集成

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ktalk": {
      "command": "/full/path/to/ktalk-mcp/.venv/bin/python",
      "args": ["/full/path/to/ktalk-mcp/server.py"],
      "env": {
        "KTALK_PROXY_URL": "https://your-proxy.example.com"
      }
    }
  }
}

独立(用于调试)

export KTALK_PROXY_URL="https://your-proxy.example.com"
python server.py

用法

连接服务器后,首先进行身份验证:

使用用户名i.sosin登录KTalk

然后使用可用的工具:

显示mcptkdy64ohg房间的所有录音

获取录音笔录Y3ljMA8KGS72A68L0jp0

下载录音Y3ljMA8KGS72A68L0jp0,质量为900p

API端点(通过代理)

所有请求都通过代理进行路由 /api/talk 前缀:

  • GET /api/talk/api/Domain/recordings/v2 --列出录音
  • GET /api/talk/api/Recordings/{recordingKey} --记录元数据
  • GET /api/talk/api/recordings/{recordingKey}/transcript --录音笔录
  • GET /api/talk/api/Recordings/{recordingKey}/file/{qualityName} --录音文件

授权: Authorization: Bearer <JWT> 头球代理通过Keycapt JWKS验证JWT,并使用服务器端API密钥将请求转发到KTalk API。