Outlookmcp

Outlookmcp

🚀 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中注册的应用程序,并带有适当的权限

📄 许可证

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

⚠️ 重要提示

  • 安全地存储客户端密钥(使用环境变量)
  • 服务器仅提供日历数据的只读访问权限
  • 没有实现写入操作
  • 令牌仅在服务器执行期间内存中存储
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-29 00:30

相似服务问题