 
🇨🇳中文 🇯🇵日本语 🇰🇷韩语 🇩🇪德语 🇪🇸西班牙语 🇫🇷法语 🇵🇹葡萄牙语 🇷🇺俄语
概述
用于操作Excel、Word、PowerPoint和Outlook等Office文件的MCP服务器。
您必须安装Office 2016和更高版本才能使用此MCP服务器。
使用
下载最新版本 并将其提取到任何位置。
然后将以下配置添加到MCP服务器配置中。
{
"mcpServers": {
"office": {
"command": "DRIVER:\\PATH\\TO\\cs-office-mcp-server.exe",
"args": [],
"env": {}
}
}
}如果您正在使用,请参阅以下内容 法典.
%USERPROFILE%\.codex\config.toml[mcp_servers.office]
command = 'cmd'
args = [
"/c",
'DRIVER:\PATH\TO\cs-office-mcp-server.exe',
]
env = { SystemRoot = 'C:\Windows' }
startup_timeout_sec = 300
tool_timeout_sec = 300
enabled = true请注意,这仅在安装了Office 2016(64位版本)或更高版本的Windows上受支持!
工具
Excel
excel_run_macro
运行指定Excel文件的宏。
参数
fullName*:Excel文件的完整路径。macroName*:宏的名称。macroParameters:宏的参数。最大数量为30。save:执行宏后保存文件。password:Excel文件的密码(如果有的话)。
excel_read_used_range
从指定工作表中读取已使用单元格范围的值。如果单元格为空,则不会包含在返回的结果集中。
参数
fullName*:Excel文件的完整路径。sheetName*:Excel文件的工作表名称。password:Excel文件的密码(如果有的话)。
excel_get_sheets
获取指定Excel文件的所有工作表名称。
参数
fullName*:Excel文件的完整路径。password:Excel文件的密码(如果有的话)。
excel_write
将数据写入Excel文件中指定工作表的单元格或单元格区域。
参数
fullName*:Excel文件的完整路径。如果不存在,它将被创建。sheetName:Excel文件的工作表名称。如果不存在,它将被创建。data:需要写入的数据。startColumn:第一列为字母,用于写入数据。(如A)startRow:写入数据的第一个行号。password:Excel文件的密码(如果有的话)。forceOverwriteFile:当文件存在时,强制覆盖以创建新文件。forceOverwriteSheet:当工作表存在时,强制覆盖以创建新的工作表。
excel_rename_sheet
更改指定Excel文件的工作表名称。
参数
fullName*:Excel文件的完整路径。oldSheetName*:Excel文件的旧工作表名称。newSheetName*:Excel文件的新工作表名称。password:Excel文件的密码(如果有的话)。
excel_copy_sheet
复制指定Excel文件的工作表。
参数
fullName*:Excel文件的完整路径。sourceSheetName*:Excel文件的源工作表名称。targetSheetName*:Excel文件的目标工作表名称。deleteTargetIfExists:如果目标工作表存在,请先删除它。beforeSourceSheet:复制后,将目标工作表移动到源工作表的左侧,否则移动到源表的右侧。password:Excel文件的密码(如果有的话)。
excel_get_tables
获取指定Excel文件的所有表名。
参数
fullName*:Excel文件的完整路径。password:Excel文件的密码(如果有的话)。
excel_delete_sheet
删除指定Excel文件的工作表。
参数
fullName*:Excel文件的完整路径。sheetName*:Excel文件的工作表名称。password:Excel文件的密码(如果有的话)。
excel_get_table_content
获取指定Excel文件的表格内容。
参数
fullName*:Excel文件的完整路径。tableName*:Excel文件的表名。password:Excel文件的密码(如果有的话)。
excel_find
从Excel文件中查找值。
参数
fullNameList*:需要搜索的Excel文件的完整路径列表。searchValue*:要搜索的值可以使用通配符,如?(任何单个字符),*(任意数量的字符),~随后?,*,或~(问号、星号或波浪号)。matchPart:如果为真,则与搜索文本的任何部分匹配。当为false时,匹配整个搜索文本。ignoreCase:为真时忽略小写和大写差异。false时不区分大小写password:Excel文件的密码(如果有),并且所有密码都相同。
excel_read
从指定工作表中读取单元格或单元格区域的值。如果单元格为空,则不会包含在返回的结果集中。
参数
fullName*:Excel文件的完整路径。sheetName*:Excel文件的工作表名称。startColumn:第一列为字母。(如A)startRow:第一行编号。endColumn:最后一列为字母。(如Z)如果为空,则相对于startColumn使用xlToRightendRow:最后一行编号。如果为空,则相对于startRow使用xlDownpassword:Excel文件的密码(如果有的话)。
excel_clear
从指定工作表中清除单元格或单元格区域的值。 如果startColumn或startRow为空,则清除整个工作表。
参数
fullName*:Excel文件的完整路径。sheetName*:Excel文件的工作表名称。startColumn:第一列为字母。(如A)startRow:第一行编号。endColumn:最后一列为字母。(如Z)如果为空,则相对于startColumn使用xlToRightendRow:最后一行编号。如果为空,则相对于startRow使用xlDownpassword:Excel文件的密码(如果有的话)。
字
word_run_macro
运行指定Word文件的宏。
参数
fullName*:Word文件的完整路径。macroName*:宏的名称。macroParameters:宏的参数。最大数量为30。save:执行宏后保存文件。password:Word文件的密码(如果有的话)。
word_clear
清除指定Word文件的全部内容。
参数
fullName*:Word文件的完整路径。password:Word文件的密码(如果有的话)。
word_read
获取指定Word文件的文本内容。
参数
fullName*:Word文件的完整路径。fromPage:要阅读的起始页码。toPage:要读取的结束页码。如果它是空的,那么读到最后一页。password:Word文件的密码(如果有的话)。
word_write
将数据写入Word文件。
参数
fullName*:Word文件的完整路径。如果不存在,它将被创建。data:需要写入的数据。insertAfter:如果为true,则添加到文档末尾。如果为false,请附加到文档的开头。insertNewline:在写入现有文件时附加换行符,换行符选项为true。当数据附加到文档末尾时,会在数据之前添加一个换行符。当数据被添加到文档的开头时,数据后面会添加一个换行符。password:Word文件的密码(如果有的话)。forceOverwriteFile:当文件存在时,强制覆盖以创建新文件。
word_find
从Word文件中查找值。
参数
fullNameList*:需要搜索的Word文件的完整路径列表。searchValue*:要搜索的值可以使用通配符,如?(任何单个字符),*(任意数量的字符),\随后?,*,或\(问号、星号或反斜杠)。matchPart:当为真时,与较大单词的任何部分匹配。如果为false,则与搜索文本的整个单词进行匹配。ignoreCase:为真时忽略小写和大写差异。false时不区分大小写。password:Word文件的密码(如果有),并且所有文件都是相同的。
word_get_page_count
获取指定Word文件的所有页数。
参数
fullName*:Word文件的完整路径。password:Word文件的密码(如果有的话)。
word_replace
替换Word文件中的值。
参数
fullNameList*:需要搜索的Word文件的完整路径列表。oldValue*:要搜索的值可以使用通配符,如?(任何单个字符),*(任意数量的字符),\随后?,*,或\(问号、星号或反斜杠)。newValue*:新的重置值。matchPart:当为真时,与较大单词的任何部分匹配。如果为false,则与搜索文本的整个单词进行匹配。ignoreCase:为真时忽略小写和大写差异。false时不区分大小写。replaceAll:为true时替换所有匹配项。如果为false,则仅替换第一个匹配项。password:Word文件的密码(如果有),并且所有文件都是相同的。
幻灯片
powerpoint_run_macro
运行指定PowerPoint文件的宏。
参数
fullName*:PowerPoint文件的完整路径。macroName*:宏的名称。macroParameters:宏的参数。最大数量为30。save:执行宏后保存文件。password:PowerPoint文件的密码(如果有的话)。
powerpoint_read
获取指定PowerPoint文件的文本内容。
参数
fullName*:PowerPoint文件的完整路径。fromSlide:要读取的起始幻灯片编号。toSlide:要读取的末尾幻灯片编号。如果它是空的,那么读到最后一张幻灯片。password:PowerPoint文件的密码(如果有的话)。
powerpoint_find
从PowerPoint文件中查找价值。
参数
fullNameList*:需要搜索的PowerPoint文件的完整路径列表。searchValue*:要搜索的值。matchPart:当为真时,与较大单词的任何部分匹配。如果为false,则与搜索文本的整个单词进行匹配。ignoreCase:为真时忽略小写和大写差异。false时不区分大小写。password:PowerPoint文件的密码(如果有),并且所有文件都是相同的。
powerpoint_get_slide_count
获取指定PowerPoint文件的所有幻灯片数量。
参数
fullName*:PowerPoint文件的完整路径。password:PowerPoint文件的密码(如果有的话)。
展望
outlook_read_appointments
阅读Outlook日历中的约会内容。
参数
withinDays:约会的天数范围。如果使用负数,请阅读过去的约会。
outlook_send_appointment
使用Outlook发送约会。
参数
subject*:任命的主题。participants*:代表会议参与者的一系列电子邮件地址。startTime*:预约的开始时间。duration*:预约时间(分钟)。必须大于0。location:任命地点。body:任命的正文内容。displayBeforeSend:发送前显示预约,手动确认后发送,否则直接发送。
outlook_get_inbox_mail_count
获取Outlook收件箱中的所有邮件数量。
参数
(无参数)
outlook_read_inbox_mails
阅读Outlook收件箱中的邮件内容。
参数
startItem:要读取的项目的起始位置,从1开始。maxItems:要阅读的最大邮件数。newestFirst:退回邮件的排序顺序,特别是对最近收到的邮件进行优先级排序。
outlook_send_mail
使用Outlook发送邮件。
参数
subject*:邮件的主题。sendTo*:邮件的主要收件人。body*:邮件正文的内容。可以是纯文本或HTML,具体取决于使用HTML。useHtml:一个布尔值,指示邮件正文是否应格式化为HTML。sendCc:邮件的抄送收件人。sendBcc:邮件的密件抄送收件人。displayBeforeSend:发送前显示邮件,手动确认后发送,否则直接发送。
outlook_find_inbox_mails
在Outlook收件箱中查找邮件内容。
参数
searchValue:将在主题和正文中搜索要搜索的值。如果为空,则不进行过滤。senders:需要指定发件人的电子邮件或姓名。如果为空,则不进行过滤。maxItems:要返回的最大邮件数。newestFirst:退回邮件的排序顺序,特别是对最近收到的邮件进行优先级排序。
