Token导航 LogoToken导航TokenDH.com
Full MCP Code logo
运维云端stdio官方级别未说明来源级核验

Full MCP Code

MCP Server

Microsoft 365的MCP服务器,提供OAuth回调服务和Microsoft Graph API集成,适用于本地开发和Kubernetes生产环境。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
认证服务Python云端部署

安装说明

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

作者 / 组织

purva-kashyap

提供方

purva-kashyap

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

微软365 MCP服务器

用于Microsoft 365/Microsoft Graph API的生产就绪MCP(模型上下文协议)服务器,带有独立的OAuth回调服务。

📁 项目结构

streamable-http-mcp/
├── microsoft-mcp/          # Main MCP Server
│   ├── src/                # Source code
│   ├── main.py             # Server entry point
│   ├── requirements.txt    # Python dependencies
│   ├── Dockerfile          # MCP server Docker image
│   └── kubernetes/         # K8s manifests for MCP server
│
└── callback-server/        # OAuth Callback Service (Separate)
    ├── oauth_callback_server.py  # Standalone callback server
    ├── Dockerfile                 # Callback server Docker image
    ├── deployment.yaml            # K8s manifest
    └── README.md                  # Callback server docs

🎯 为什么要分开服务器?

地方发展

  • 单个进程:MCP服务器包括内置的回调处理程序
  • 易于测试:不需要单独部署
  • 快速迭代:快速开始 python3 main.py

生产/Kubernetes

  • 可扩展性:MCP服务器可以水平扩展
  • 关注点分离:身份验证处理与业务逻辑隔离
  • 韧性:服务可以独立更新/扩展
  • 安全:回调服务可以有不同的安全策略

🚀 快速开始

本地开发(内置回调)

cd microsoft-mcp

# Install dependencies
pip install -r requirements.txt

# Configure
cp .env.example .env
# Edit .env with your Azure AD credentials

# Run (includes built-in callback server)
python3 main.py

服务器启动时间:

  • MCP服务器: http://localhost:8001
  • OAuth回调: http://localhost:8000 (内置)

Kubernetes(独立服务)

# Deploy OAuth Callback Service
cd callback-server
kubectl apply -f deployment.yaml

# Deploy MCP Server
cd ../microsoft-mcp
kubectl apply -f kubernetes/

有关详细说明,请参阅各个自述文件:

🏗️ 建筑

地方发展

┌─────────────────────────┐
│   microsoft-mcp         │
│   (main.py)             │
│                         │
│  ┌───────────────────┐  │
│  │  MCP Server       │  │
│  │  Port: 8001       │  │
│  └───────────────────┘  │
│  ┌───────────────────┐  │
│  │  OAuth Callback   │  │
│  │  Port: 8000       │  │
│  │  (built-in)       │  │
│  └───────────────────┘  │
└─────────────────────────┘

Kubernetes生产

                ┌─────────────┐
                │   Ingress   │
                │ (NGINX/ALB) │
                └──────┬──────┘
                       │
        ┌──────────────┴─────────────┐
        │                            │
┌───────▼────────┐          ┌────────▼────────┐
│ callback-server│          │  microsoft-mcp  │
│                │          │                 │
│ OAuth Callback │◄────API──┤   MCP Server    │
│  Port: 8000    │          │   Port: 8001    │
│  Replicas: 1   │          │   Replicas: N   │
└────────────────┘          └─────────────────┘

🔧 配置

MCP服务器环境变量

变量本地Kubernetes描述
MICROSOFT_MCP_CLIENT_ID必需ConfigMapAzure AD客户端ID
MICROSOFT_MCP_CLIENT_SECRET必需密码Azure AD客户端密码
MICROSOFT_MCP_ENABLE_CALLBACK_SERVERtruefalse启用内置回调
MICROSOFT_MCP_REDIRECT_URIhttp://localhost:8000/callbackhttps://yourdomain.com/oauth/callbackOAuth重定向
MICROSOFT_MCP_OAUTH_CALLBACK_API_URL-http://oauth-callback-service:8000/api/callback/{state}外部回调API

回调服务器环境变量

变量默认值描述
OAUTH_CALLBACK_HOST0.0.0.0要绑定的主机
OAUTH_CALLBACK_PORT8000要收听的端口

📦 可用的MCP工具

  1. 认证

- list_accounts -列出经过身份验证的帐户 - authenticate_account -启动OAuth流 - wait_for_callback -等待OAuth回调 - complete_authentication -完整身份验证

  1. 用户档案

- get_user_profile -获取用户资料信息

  1. 电子邮件

- list_emails -列出文件夹中的电子邮件 - get_email -获取电子邮件详细信息 - search_emails -搜索电子邮件

🐳 Docker镜像

构建这两种服务

# Build OAuth Callback Server
cd callback-server
docker build -t oauth-callback-server:latest .

# Build MCP Server
cd ../microsoft-mcp
docker build -t mcp-server:latest .

使用Docker Compose运行

version: '3.8'
services:
  oauth-callback:
    build: ./callback-server
    ports:
      - "8000:8000"
  
  mcp-server:
    build: ./microsoft-mcp
    ports:
      - "8001:8001"
    environment:
      - MICROSOFT_MCP_ENABLE_CALLBACK_SERVER=false
      - MICROSOFT_MCP_OAUTH_CALLBACK_API_URL=http://oauth-callback:8000/api/callback/{state}
    env_file:
      - microsoft-mcp/.env
    depends_on:
      - oauth-callback

📚 文档

🔐 Azure AD安装程序

  1. 首选 Azure门户
  2. 引导到 Azure Active Directory > 应用程序注册
  3. 创建新注册:

- 姓名: microsoft-mcp-server - 支持的帐户类型:根据您的需求进行选择

  1. 注意 应用程序(客户端)ID
  2. 创建 客户端密钥 证书和机密
  3. 添加 重定向URI 在身份验证下:

- 当地: http://localhost:8000/callback - 生产: https://yourdomain.com/oauth/callback

  1. 添加 API权限:

- Microsoft Graph>委派权限 - 添加: User.Read, Mail.Read

🧪 测试

单独测试回调服务器

cd callback-server
python3 oauth_callback_server.py

# In another terminal
curl http://localhost:8000/health

测试MCP服务器

cd microsoft-mcp
python3 main.py

# In another terminal
python3 simple_client.py

测试全流量

# Terminal 1: Callback server
cd callback-server && python3 oauth_callback_server.py

# Terminal 2: MCP server (configured for external callback)
cd microsoft-mcp
export MICROSOFT_MCP_ENABLE_CALLBACK_SERVER=false
export MICROSOFT_MCP_OAUTH_CALLBACK_API_URL=http://localhost:8000/api/callback/{state}
python3 main.py

# Terminal 3: Client
cd microsoft-mcp && python3 simple_client.py

📝 需求

  • Python 3.12+
  • 具有客户端ID和密钥的Azure AD应用程序
  • 对于K8s:Kubernetes 1.20+,nginx入口,证书管理器

🤝 贡献

欢迎投稿!请确保:

  • 代码遵循现有结构
  • 本地和K8s模式都经过测试
  • 文档已更新

📄 许可证

MIT许可证

🔗 相关项目

目录标签

目录标签

认证服务Python云端部署Microsoft365本地部署OAuth回调GraphAPIKubernetes部署

接入字段

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

stdio

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

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP