Token导航 LogoToken导航TokenDH.com
Teams Messenger MCP App logo
AI代理stdio官方级别未说明来源级核验

Teams Messenger MCP App

MCP Server

一个基于Model Context Protocol (MCP)的服务,用于桥接Microsoft Teams和MCP兼容客户端(如LLMs、代理框架和CLI MCP客户端),提供聊天/消息集成、高级搜索功能和持久存储。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
PythonAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

imoon

提供方

imoon

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Teams Messenger MCP应用程序

该项目实现了一个纯模型上下文协议(MCP)服务器,该服务器连接了Microsoft Teams和MCP兼容客户端(LLM、代理框架和丰富的CLI MCP客户端)。所有功能都是通过MCP工具、资源和事件公开的,没有REST API端点。

特性

  • 通过MCP集成Microsoft Teams聊天/消息
  • 基于PostgreSQL的信息检索(IR)服务器,具有高级搜索功能
  • 在DuckDB中持久存储聊天/消息历史记录
  • 语义和词汇混合搜索(BM25+向量,FlockMTL风格)
  • 用于登录/令牌管理的CLI和用于本地测试的丰富MCP客户端
  • 基于轮询的新消息事件发布
  • 实时事件流和搜索LLM和CLI
  • 单代理(bot)帐户,非多用户

建筑

+-------------------+      +-------------------+      +-------------------+
|   CLI MCP Client  ||    MCP Server     ||  Microsoft Teams  |
| (rich terminal UI)|      | (Python, FastMCP) |      |  (Graph API)      |
+-------------------+      +-------------------+      +-------------------+
         |                        |                          
         |                        v                          
         |                +-------------------+      +-------------------+
         |                |     DuckDB DB     |      |    IR Server      |
         |                +-------------------+      | (PostgreSQL, API) |
                                                     +-------------------+
                                                              |
                                                              v
                                                     +-------------------+
                                                     |  PostgreSQL DB    |
                                                     |  (with pgvector)  |
                                                     +-------------------+
  • 所有聊天/消息/搜索逻辑都是通过MCP工具/资源/事件实现的
  • Teams MCP服务器使用DuckDB进行消息存储
  • IR服务器通过PostgreSQL和pgvector提供高级搜索功能
  • IR服务器公开用于MCP服务器通信的HTTP API

安装

需求

选项1:本地安装

1.克隆存储库

git clone 
cd mcp-teams

2.安装依赖项

pip install -r requirements.txt

3.配置环境变量

复制模板并填写您的Azure AD/团队凭据:

cp .env.template .env
# Edit .env and fill in your Azure AD and other settings

变量说明见下表。

选项2:Docker部署(推荐)

1.克隆存储库

git clone 
cd mcp-teams

2.配置环境变量

复制模板并填写您的凭据:

cp .env.template .env
# Edit .env and fill in your settings

3.构建和启动服务

docker-compose up -d

环境变量(.env)

变量描述示例/默认值
AZURE_CLIENT_IDAZURE AD应用程序(客户端)IDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_CLIENT_CRETAZURE AD应用程序机密your-secret
AZURE_TENANT_ID.安全AD租户ID。安全AD租户标识。 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_APP_OBJECT_IDAZURE AD应用程序对象IDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DUCKDB_PATHDUCKDB数据库文件的路径db/teams_mcp.duckdb
TOKEN_PATH存储持久令牌缓存的路径db/token_cache.json
POLL_INTERVAL新消息的轮询间隔(秒)10
DEMO_MODE设置为 true 用于模拟/演示模式(没有真正的Teams API调用)false
OPENAI_API_KEY用于嵌入生成的OPENAI API密钥sk-...
PostgreSQL用户名postgres
PostgreSQL密码postgres
PostgreSQL数据库名称mcp_ir
IR_SERVER_HOSTIR服务器主机名ir_server
IR_SERVER_PORTIR服务器端口8090

运行MCP服务器

本地模式(无Docker)

python mcp_server/server.py

Docker模式(所有服务)

docker-compose up -d

要检查日志,请执行以下操作:

docker-compose logs -f teams_mcp  # Teams MCP server logs
docker-compose logs -f ir_server  # IR server logs

演示模式(没有真正的Teams API调用)

DEMO_MODE=true 在你的 .env 并如上所述运行。

CLI使用情况

1.登录和令牌管理

python cli/login.py login
python cli/login.py status
python cli/login.py logout

2.丰富的CLI MCP客户端

以下所有命令都使用MCP stdio协议与服务器通信。

列出聊天记录

python cli/mcp_client.py list_chats

从聊天中获取消息

python cli/mcp_client.py get_messages 

发送消息

python cli/mcp_client.py send_message  "Hello from CLI!"

创建新的1:1聊天

python cli/mcp_client.py create_chat 

搜索消息(混合、BM25或矢量)

python cli/mcp_client.py search_messages "project update" --mode hybrid --top_k 5

流式传输新的传入消息(实时事件订阅)

python cli/mcp_client.py stream

IR服务器使用情况

IR服务器通过PostgreSQL和pgvector提供高级搜索功能。它公开了一个用于MCP服务器通信的HTTP API。

IR服务器API端点

1.健康检查

GET http://localhost:8090/

2.列出可用工具

GET http://localhost:8090/api/tools

3.搜索内容

POST http://localhost:8090/api/tools/search

主体:

{
  "query": "your search query",
  "search_type": "hybrid",
  "limit": 10
}

4.索引内容

POST http://localhost:8090/api/tools/index_content

主体:

{
  "content": "Text content to index",
  "source_type": "teams",
  "metadata": {
    "author": "User Name",
    "created": "2025-04-01T12:00:00Z"
  }
}

有关更详细的IR服务器文档,请参阅 ir/README.md.

搜索和事件流

  • 混合搜索:将BM25和矢量搜索与LLM重新排序相结合
  • 直播:订阅 messages/incoming 用于实时更新

开发与扩展

  • 在中添加新的MCP工具/资源 mcp_server/server.py
  • 扩展团队集成 teams/graph.py
  • 修改IR服务器中的IR功能
  • 使用DuckDB、PostgreSQL和LLM添加分析、摘要或RAG功能
  • 将CLI用作所有MCP功能的测试线束

故障排除和常见问题

  • 登录失败:检查您的Azure AD凭据,然后 .env 价值观
  • 未显示任何消息:确保投票正在运行,并且您的机器人帐户在团队聊天中
  • DuckDB错误:检查中的文件权限和路径 .env
  • IR服务器没有响应:检查Docker日志并确保容器正在运行
  • 演示模式:设置 DEMO_MODE=true 用于没有真实团队的本地测试

参考文献

______________________________________________________________________

有关完整的产品详细信息,请参阅 specs/app-spec.md.

目录标签

目录标签

PythonAI代理工作流自动化消息桥接本地部署高级搜索持久存储MCP协议Teams集成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP