Outlook操作MCP。主要是发邮箱和操作日历。
Project description
Outlook 操作MCP服务
这是一个基于 MCP (Model Context Protocol) 的Outlook操作服务,通过命令行参数可以灵活配置服务器运行模式和日志级别,主要功能包括发送邮箱和操作日历。
快速开始 - 使用UVX配置MCP服务(推荐)
- 用uvx的方式配置MCP服务是推荐的方式。
- 因为uvx可以在不同的平台上运行,包括Windows、macOS和Linux。
# 给AI模型提供Outlook操作的MCP服务
{
"mcpServers": {
"outlook": {
"command": "uvx",
"args": [
"xmcp-server-outlook"
],
"env": {}
}
}
}
macOS系统的推荐配置
抱歉通知您,mac系统不支持该MCP功能。 mac系统虽然是有Outlook for Mac。但是不支持用python代码操作日历。 原因是: Outlook for Mac不支持COM 接口的日历应用。COM 接口是 Windows 系统下的组件对象模型,用于进程间通信和软件组件的交互,而 macOS 系统采用的是不同的技术架构,不支持 COM 接口。因此,在 macOS 系统上,Outlook for Mac 无法直接与基于 COM 接口的日历应用进行交互。
如果有别的建议请反馈给我:samt007@qq.com。
使用MCP服务
接着,将MCP服务配置给你的AI智能体,让AI可以调用这个MCP来操作Outlook,典型的是创建日历事件,更新事件,查询邮箱,发Email等等的动作。 举例子: 1、和智能体说:给samt007@xinyiglass.com发送主题为"会议邀请"的邮件。然后,该MCP会自动调用Outlook执行对应的操作。 2、和智能体说:明天晚上8点有个饭局,地点在迎宾楼。然后,该MCP会自动调用Outlook创建日历事件。 3、还可以配合别的MCP协同完成一系列的动作。假设您也配置了天气查询的MCP服务(见链接https://pypi.org/project/xmcp-server-weather)。就可以和智能体说:将芜湖的天气发邮件给samt007@xinyiglass.com。然后,智能体先调用天气查询的MCP服务,查询到了芜湖的天气,然后再将天气的内容自动发送给对应的邮箱。
邮件效果如下:
发件人: samt007 <samt007@qq.com>
收件人: samt007@xinyiglass.com<samt007@xinyiglass.com>
时间: 2025年6月19日 (周四) 11:31
大小: 6 KB
您好,
以下是芜湖的最新天气信息:
- 地点:芜湖
- 当前温度:28.7°C
- 湿度:74%
- 风向:东南风
- 风速:3.3米/秒(微风)
- 体感温度:31.7°C
- 更新时间:2025年6月19日 11:20
祝好!
本地测试运行MCP服务
- 本步骤主要是为了 本地测试 Outlook操作MCP服务。
1、Windows环境的配置:
# 先安装服务
pip install xmcp-server-outlook
# 指定日志级别和传输方式(sse方式)
xmcp-server-outlook --log-level=INFO --transport=sse --port=8003
- 然后,就可以配置本地服务来调试MCP
{
"mcpServers": {
"outlook": {
"url": "http://localhost:8003/sse"
}
}
}
2、macOS系统的配置
由于不支持mac系统,所以这里忽略。
命令行参数
日志级别 (--log-level)
设置服务器的日志输出级别,可选值:
DEBUG:详细的调试信息,用于开发和问题排查INFO:正常运行的信息,显示关键操作WARNING:警告信息,可能影响功能但不影响运行ERROR:错误信息,功能无法正常执行CRITICAL:严重错误,可能导致程序崩溃
默认值:ERROR
示例:
xmcp-server-outlook --log-level=DEBUG
传输方式 (--transport)
设置服务器与客户端之间的通信协议,可选值:
stdio:使用标准输入输出进行通信,适用于进程间通信sse:使用 Server-Sent Events 进行实时通信,适用于网络环境streamable-http:使用可流式的HTTP协议进行通信
默认值:stdio
注意:
stdio模式下日志不会输出到控制台,避免干扰通信- 网络传输模式需要指定端口参数
示例:
xmcp-server-outlook --transport=sse
服务器端口 (--port)
当使用网络传输方式时,指定服务器监听的端口号。
默认值:8003
示例:
xmcp-server-outlook --transport=sse --port=8080
完整示例
启动一个具有详细日志记录的网络服务器:
xmcp-server-outlook --log-level=INFO --transport=sse --port=8003
启动一个用于进程间通信的服务器(无日志输出):
xmcp-server-outlook --transport=stdio
常见问题
-
为什么
stdio模式下看不到日志?stdio模式使用标准输入输出进行通信,日志输出会干扰通信协议,因此默认禁用控制台日志。
-
如何在后台运行服务器?
- 可以使用
nohup或systemd等工具将服务器作为守护进程运行。
- 可以使用
-
端口被占用怎么办?
- 使用
--port参数指定其他可用端口,或使用lsof命令查找并关闭占用端口的进程。
- 使用
# 查找占用8003端口的进程
lsof -i:8003
# 终止进程(PID为进程ID)
kill -9 <PID>
- 如果操作Outlook服务时报权限错误怎么办?
- 请检查是否以管理员/root权限运行,或确认Outlook应用是否已正确安装并授权。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xmcp_server_outlook-0.1.0.tar.gz.
File metadata
- Download URL: xmcp_server_outlook-0.1.0.tar.gz
- Upload date:
- Size: 30.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25800cc697ab5941133b68da36abce56f8c4e2064ba48fc6053cd2dcf4a3325f
|
|
| MD5 |
e6354323f7a5c88104da5f7cd9e37804
|
|
| BLAKE2b-256 |
5c53aee831bfaad006c03ae4e39036968ce4e8884ea652ea1b7799731bd5b52d
|
File details
Details for the file xmcp_server_outlook-0.1.0-py3-none-any.whl.
File metadata
- Download URL: xmcp_server_outlook-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66fc1e39793352f1b0e3e9723723a08bf7935e8c177b792927e2fc44938a5a30
|
|
| MD5 |
ab23649149b32da0f893249d4bb021e6
|
|
| BLAKE2b-256 |
409a3059b8c4f1e7a571490d6727dcd0292b3ec59a4852cfa3f18494c5d5ca18
|