MCP服务器

Helix是一个开源的模型上下文协议(MCP)服务器,用于连接AI代理与Microsoft 365服务,提供邮件、日历、SharePoint等功能的标准化访问。

  • by SAIB-Inc
  • C#
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 SAIB-Inc/Helix

使用说明

螺旋

用于Microsoft 365的开源模型上下文协议(MCP)服务器,使用构建。网10。


概述

螺旋 是一个MCP服务器,它将AI代理与Microsoft 365连接起来。它将M365服务作为MCP工具公开,这样像Claude这样的AI模型就可以通过标准化的 模型上下文协议.

建造于 SAIB公司.

安装

单行安装程序(macOS和Linux)

curl -fsSL https://raw.githubusercontent.com/SAIB-Inc/Helix/main/install.sh | bash

这将下载一个自包含的二进制文件到 ~/.helix/bin/helix --没有。需要NET SDK。

要安装特定版本,请执行以下操作:

HELIX_VERSION=0.1.0 curl -fsSL https://raw.githubusercontent.com/SAIB-Inc/Helix/main/install.sh | bash

验证

helix --version

先决条件

您需要Azure AD应用程序注册才能与Microsoft 365进行身份验证。

  1. 首选 Azure门户>应用程序注册 并创建新注册
  2. 集 支持的帐户类型 根据您的喜好(单租户或多租户)
  3. 在...之下 认证,启用 允许公共客户端流 (设备代码认证所需)
  4. 在...之下 API权限,添加以下内容 委派 权限:
    • User.Read
    • Mail.Read, Mail.ReadWrite, Mail.Send
    • Calendars.Read, Calendars.ReadWrite
    • Sites.Read.All, Sites.ReadWrite.All
  5. 注意你的 应用程序(客户端)ID 和 目录(租户)ID

配置

通过环境变量设置Azure应用凭据:

export HELIX__ClientId="your-client-id"
export HELIX__TenantId="your-tenant-id"   # optional, defaults to "common"

或者创建一个 .env 工作目录中的文件:

HELIX__ClientId=your-client-id
HELIX__TenantId=your-tenant-id

使用Claude Desktop

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "helix": {
      "command": "helix",
      "env": {
        "HELIX__ClientId": "your-client-id",
        "HELIX__TenantId": "your-tenant-id"
      }
    }
  }
}

如果 helix 不在PATH中,请使用完整路径: ~/.helix/bin/helix

可用工具

认证

工具 说明
login 启动设备代码身份验证流程
login-status 检查身份验证是否完成
logout 注销并清除缓存的令牌
get-current-user 获取经过身份验证的用户的个人资料

邮件

工具 说明
list-mail-messages 列出具有过滤、搜索(KQL)和分页功能的邮件
get-mail-message 按ID获取完整消息
send-mail 发送电子邮件(支持文件附件)
delete-mail-message 删除邮件(移动到“已删除邮件”)
move-mail-message 将邮件移动到其他文件夹
update-mail-message 更新阅读状态、重要性、类别或主题

邮件草稿

工具 说明
create-draft-message 在“草稿”文件夹中创建电子邮件草稿
send-draft-message 按ID发送现有草稿

邮件附件

工具 说明
list-mail-attachments 列出邮件中的附件
get-mail-attachment 将附件下载到磁盘
add-mail-attachment 将文件从磁盘附加到草稿
delete-mail-attachment 删除附件

邮件文件夹

工具 说明
list-mail-folders 列出所有未读邮件文件夹
list-mail-folder-messages 列出特定文件夹中的邮件

日历

工具 说明
list-calendars 列出所有日历
get-calendar-online-meeting-settings 获取允许/默认的在线会议提供商进行诊断
list-calendar-events 使用筛选和分页功能列出事件
get-calendar-event 按ID获取完整事件
list-calendar-view 列出日期/时间范围内的事件(展开重复事件)
create-calendar-event 创建一个包含与会者、地点和在线会议的新活动
update-calendar-event 更新现有事件
delete-calendar-event 删除事件
respond-calendar-event 接受、拒绝或暂时接受邀请

SharePoint--网站

工具 说明
search-sites 按关键字搜索SharePoint网站
get-site 按ID获取网站
list-site-lists 列出网站中的所有列表
get-site-list 获取包含列定义的列表

SharePoint--列表项

工具 说明
list-list-items 列出具有字段值、筛选和分页的项目
get-list-item 获取包含所有字段的特定项目
create-list-item 使用字段值(JSON)创建新项
update-list-item 更新项目字段
delete-list-item 删除项目

SharePoint--文件

工具 说明
list-site-drives 列出网站中的文档库
list-drive-children 列出文件和文件夹(根目录或子文件夹)
search-drive-items 在驱动器中按名称或内容搜索文件
get-drive-item 获取文件/文件夹元数据
create-drive-folder 在文档库中创建新文件夹
upload-drive-item 上传文件(从磁盘或base64)
download-drive-item 将文件下载到磁盘

路线图

服务 状态
邮件 可用
日历 可用
SharePoint 可用
联系人 计划
OneDrive 计划中
团队 计划
计划/待办事项 已计划

从源代码构建

如果您更喜欢从源代码构建而不是使用安装程序:

git clone https://github.com/SAIB-Inc/Helix.git
cd Helix
dotnet build
dotnet run --project src/Helix.Stdio

需要 .NET 10 SDK.

贡献

看 docs/CONTRIBUTING.md 用于分支工作流、提交约定和设计原则。

许可证

麻省理工学院——见 许可证.


由以下人员建造和维护 SAIB公司.