使用说明
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直接访问授权 (资源所有者密码凭据):
- 打电话给
login使用您的Keycloak用户名和密码。 - 服务器从Keycloak获得JWT访问令牌+刷新令牌。
- 令牌保存到
~/.ktalk-mcp/token.json并自动使用。 - 当访问令牌过期时,将使用刷新令牌透明地刷新它。
如果两个令牌都过期,请调用
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。
