README
🚀 团队消息essenger
团队消息essenger是一款基于模型上下文协议(MCP)构建的消息应用程序,支持与微软Teams集成。它具备消息收发、实时流式传输和混合搜索等功能,还通过PostgreSQL和pgvector扩展实现了先进的检索能力。
🚀 快速开始
环境要求
- Python 3.8及以上版本
- Docker及Docker Compose
- PostgreSQL 14及以上版本
快速安装
# 克隆仓库
git clone https://github.com/your-org/teams-messenger.git
cd teams-messenger
# 安装依赖
pip install -r requirements.txt
# 配置环境变量
export MS_GRAPH_API_KEY="your-key"
export MCP_SERVER_PORT=5000
export IR_SERVER_URL=http://localhost:8090
启动服务
启动MCP服务
# 单独启动MCP服务
python mcp_server.py
# 通过Docker-compose启动所有服务
docker-compose up -d
访问控制台
- MCP管理界面:
http://localhost:5000 - 检索服务器:
http://localhost:8090
✨ 主要特性
- 微软Teams集成:通过Microsoft Graph API实现Teams消息交互
- 实时流式传输:订阅
messages/incoming事件获取实时更新 - 混合搜索:结合BM25和向量搜索,支持LLM重排
- DuckDB & PostgreSQL支持:使用DuckDB进行本地存储,PostgreSQL进行扩展检索
- 命令行界面(CLI):提供完整的MCP协议交互能力
📚 详细文档
环境变量说明
| 变量名 | 说明 |
|---------------------|--------------------------------------------------------------|
| MS_GRAPH_API_KEY | 微软Teams的Graph API密钥 |
| MCP_SERVER_PORT | MCP服务器监听端口 |
| IR_SERVER_URL | 检索服务URL |
CLI使用说明
登录与令牌管理
python cli/login.py login # 用户登录
python cli/login.py status # 查看登录状态
python cli/login.py logout # 用户注销
消息操作
python cli/mcp_client.py list_chats # 列出所有会话
python cli/mcp_client.py get_messages <id> # 获取指定会话的消息
python cli/mcp_client.py send_message <id> "消息内容" # 发送新消息
创建新会话
python cli/mcp_client.py create_chat <用户ID或邮箱>
搜索功能
python cli/mcp_client.py search_messages "搜索关键词" --mode hybrid --top_k 5
检索服务器用法
健康检查
curl http://localhost:8090/
列出工具
curl GET http://localhost:8090/api/tools
内容检索
curl POST http://localhost:8090/api/tools/search \
-H "Content-Type: application/json" \
-d '{"query":"搜索内容","search_type":"hybrid","top_k":5}'
🔧 技术细节
+-------------------+ +---------------------+
| Microsoft Teams | | MCP CLI Client |
+-------------------+ +---------------------+
△ |
| △
+-----------------------+ △
| Teams Graph API |
+-----------------------+
|
↓
+-----------------------+
| MCP Server |
+-----------------------+
|
↓
+-----------------------+
| IR Server (PostgreSQL)|
+-----------------------+
📄 常见问题
-
无法连接Teams服务?
- 检查API密钥是否正确
- 确保网络连通性
-
检索功能异常?
- 确认PostgreSQL服务正常运行
- 查看检索服务器日志
📚 项目文档
- 官方文档:Teams Messenger Documentation
- 开发指南:开发者文档
📞 联系方式
- 邮件:support@your-org.com
- 电话:+1 (555) 123-4567
Scan to contact