返回 MCP 目录
public公开dns本地运行

outlookmcp

一个提供只读访问Outlook/微软365日历的MCP服务器,支持通过API或命令行工具查询日历事件。

article

README

🚀 Outlook日历MCP服务器

这是一个MCP(模型上下文协议)服务器,它能为您提供对Outlook/微软365日历的只读访问功能,方便您获取日历信息。

🚀 快速开始

本项目是一个提供只读访问Outlook/微软365日历的MCP服务器,下面将为您介绍使用该项目的详细步骤。

✨ 主要特性

  • 提供对Outlook/微软365日历的只读访问。
  • 支持多种平台的构建和交叉编译。
  • 支持使用YAML配置文件和环境变量进行配置。

📦 安装指南

克隆项目

git clone https://github.com/your-username/outlookmcp.git
cd outlookmcp

下载依赖

go mod download

💻 使用示例

构建应用程序

构建MCP服务器

# 为当前平台构建
go build -o outlook-mcp ./cmd/mcp

# 交叉编译Windows版本
GOOS=windows GOARCH=amd64 go build -o outlook-mcp.exe ./cmd/mcp

# 交叉编译macOS版本
GOOS=darwin GOARCH=amd64 go build -o outlook-mcp-mac ./cmd/mcp

# 交叉编译Linux版本
GOOS=linux GOARCH=amd64 go build -o outlook-mcp-linux ./cmd/mcp

构建CLI客户端

# 为当前平台构建
go build -o outlook-cli ./cmd/cli

# 交叉编译Windows版本
GOOS=windows GOARCH=amd64 go build -o outlook-cli.exe ./cmd/cli

# 交叉编译macOS版本
GOOS=darwin GOARCH=amd64 go build -o outlook-cli-mac ./cmd/cli

# 交叉编译Linux版本
GOOS=linux GOARCH=amd64 go build -o outlook-cli-linux ./cmd/cli

配置应用程序

配置文件

基于示例创建一个 config.yaml 文件:

outlook:
  me: "John Doe"
  max_attendees: 10
  max_event_count: 50
  skip_all_day_events: true

环境变量

创建一个包含您的Azure AD应用程序凭证的 .env 文件:

OUTLOOK_TENANT_ID=your-tenant-id
OUTLOOK_CLIENT_ID=your-client-id
OUTLOOK_CLIENT_SECRET=your-client-secret

📚 详细文档

项目结构

  • outlook/outlook_api.go - 用于与Outlook日历交互的内部API
  • cmd/mcp/main.go - 用于AI助手的MCP服务器实现
  • cmd/cli/main.go - 测试用的命令行界面
  • config.example.yaml - 示例配置文件

配置方式

有两种配置方式:

  1. 使用YAML配置文件(参考 config.example.yaml
  2. 使用环境变量

🔧 技术细节

先决条件

  • Go 1.21或更高版本
  • 微软365账户,具有日历访问权限
  • 在Azure AD中注册的应用程序,并带有适当的权限

📄 许可证

暂未提供相关许可证信息。

⚠️ 重要提示

  • 安全地存储客户端密钥(使用环境变量)
  • 服务器仅提供日历数据的只读访问权限
  • 没有实现写入操作
  • 令牌仅在服务器执行期间内存中存储
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端