Kakaotalk远程MCP服务器
基于FastMCP的MCP服务器,通过Kakao OAuth认证提供Kakao Talk消息发送和朋友列表查询功能。\ 连接MCP服务器后,会自动重定向到Kakao登录页面。通过登录和授权,代理可以发送KakaoTalk消息。
🎯 刀具清单
send_message_to_me:向我的聊天室发送信息send_message:通过UUID向特定朋友发送消息search_kakao_friends:返回朋友名、UUID、配置文件昵称
🛠️ 技术堆栈
- FastMCP、Starlette、httpx
- Kakao OAuth 2.0+OpenID Connect
📦 安装
# 의존성 설치
pip install requirements.txt
# .env 파일 생성
KAKAO_CLIENT_ID=your_rest_api_key
KAKAO_CLIENT_SECRET=your_client_secret
BASE_URL=https://your-ngrok-url
# 클라이언트에서 네이버 HCX-005 모델 사용
CLOVA_API_KEY=your_clova_studio_api_key🚀 执行
运行FastMCP服务器
python remote_auth_server.py运行FastMCP客户端
python fastmcp_client.pyngrok设置(同时在其他终端上):
ngrok http 8000______________________________________________________________________
📋 Kakao Developers设置
1.创建应用程序并设置首选项
- https://developers.kakao.com/连接
- “我的应用程序”→“添加应用程序”→创建应用程序
- 从“应用程序设置”→“基本信息” REST API密钥 복사 (=KAKAO_CLIENT_ID)
- 业务设置:个人开发者https://business.kakao.com/cold-start/check-business-number在中设置商务应用程序
2.激活Kakao登录
- “Kakao登录”→“启用设置”→“启用”
- 启用OpenID Connect
3.注册Redirect URI
- “Kakao登录”→“设置”→“Redirect URI”→添加以下两个:
https://your-ngrok-url/auth/callback
https://your-ngrok-url/friends/callback4.创建Client Secret
- “安全”选项卡→“客户端机密”→“创建”
- 将颁发的密钥保存到KAKAO_CLIENT_SECRET
5.设置同意项目
- “Kakao登录”→“同意项目”
- 必需:
openid,profile - 选择:
talk_message(发送给我),friends(好友列表) - talk_message,friends选择“使用中同意”
6.添加测试程序(必需)
- “设置应用程序”→“管理团队”→“邀请测试人员”
- 通过您的Kakao账号电子邮件接受邀请
- 收到消息的朋友也需要添加测试程序(朋友在REST API测试中设置权限)
7.(选择)审核应用程序
- “分发”→“申请应用程序审查”→验收批准后所有用户均可使用
______________________________________________________________________
💡 使用方法
1.MCP客户端设置
运行FastMCP服务器后,将以下内容添加到MCP客户端的配置文件中,如Claude Desktop:
{
"mcpServers": {
"kakao-remote-mcp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-ngrok-url/mcp"]
}
}
}2.基本流程
给朋友发信息:
search_kakao_friends(limit=10)→获得朋友UUIDsend_message(uuid="...", message="내용")→发送消息- 收件人单击链接→
/message在端点显示完整消息
给我发信息:
send_message_to_me(message="내용")→立即发送
______________________________________________________________________
🏗️ 技术结构
kakao.py
KakaoTokenVerifier:根据OIDC标准验证JWT令牌
- Kakao公钥签名验证
- 确认索赔有效性
运营商:继承OAuthProxy,实现Kakao OAuth
- 支持PKCE(Proof Key for Code Exchange)
- 遵守OpenID Connect协议
- 令牌存储/续订管理
- 提取用户信息
remote_auth_server.py
MCP服务器 (基于FastMCP)
- 三种工具:
send_message_to_me,send_message,search_kakao_friends - 自定义端点:
- GET /message:将消息显示为HTML(移动/桌面响应) - GET /friends/callback:OAuth回调处理→自动保存friends Scope令牌
fastmcp_client.py
FastMCP OAuth支持的客户端
- 适用于OAuth的fastmcp服务器的兼容fastmcp客户端
- NAVER的
HCX-005利用模型
______________________________________________________________________
⚙ENT主要特点
✅ 自动同意处理:如果没有friends权限,将自动弹出浏览器\ ✅ 长文信息:以200个字符以上的链接显示Web\ ✅ 响应式HTML:优化移动/桌面\ ✅ 管理环境变量令牌:同意后自动保存/使用令牌\ ✅ OIDC合规性:实现Kakao OAuth标准
