Office插件管理服务器

一个基于Model Context Protocol (MCP)的服务器,用于发现和管理Microsoft Office插件,支持搜索、安装、卸载及自定义插件的提交和发布。

  • by YIWEI-CHEN
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 YIWEI-CHEN/office-addins-mcp-server

使用说明

Office插件MCP服务器

中文版本

概述

用于跨Word、Excel、PowerPoint、Outlook和Teams发现和管理Microsoft Office加载项的模型上下文协议(MCP)服务器。此服务器使AI代理能够搜索加载项并检索详细的元数据,安装或卸载加载项,处理自定义加载项的提交、验证和发布。

此存储库基于 模型上下文协议(MCP) 使用官方Python SDK。主控程序 规范大型语言模型(LLM)与外部数据的通信方式 来源和工具。这 FastMCP 类封装了MCP的复杂性 并允许开发人员将普通Python函数作为MCP工具或 使用最少样板的资源。

目前,该服务器提供基本的插件详细信息检索功能,并计划为未来的版本提供全面的插件管理功能(请参阅路线图部分)。

安装和设置(本地服务器)

此项目使用 紫外线 管理Python依赖关系和虚拟环境,包括 pyproject.toml 配置文件和a uv.lock 文件,以确保跨不同环境的可重复构建。

  1. 克隆存储库:

    git clone <repository-url> office-addins-mcp-server
    cd office-addins-mcp-server
    
  2. 使用uv安装依赖项:

    # This will create a virtual environment and install all dependencies
    # based on pyproject.toml and uv.lock
    uv sync
    

运行服务器

您可以通过多种方式运行服务器:

# Option 1: Using the installed script (recommended)
uv run office-addins-mcp-server

# Option 2: With specific transport
uv run office-addins-mcp-server --transport stdio
uv run office-addins-mcp-server --transport sse
uv run office-addins-mcp-server --transport http

# Option 3: Using uv run with direct path
uv run python office_addins_mcp_server/server.py --transport stdio

# Option 4: After activating the virtual environment
source .venv/bin/activate
python office_addins_mcp_server/server.py --transport stdio

运输类型:

  • stdio (默认):标准输入/输出传输,非常适合本地测试和CLI集成
  • sse:服务器发送事件传输,非常适合web服务部署
  • http:流式HTTP传输,适用于基于HTTP的集成

🧪 实验远程服务器

⚠️ 实验性:此MCP服务器的远程实例仅用于测试目的。这不是用于生产用途的,可能有有限的正常运行时间、速率限制,或者在不另行通知的情况下停止使用。

远程MCP端点: https://app-api-gmqmpcvoduxtc.azurewebsites.net/addins/mcp

用法:您可以使用此端点测试MCP协议,但请为任何严肃的工作部署自己的实例。

测试和示例

测试服务器

要验证服务器是否正常工作,请连接与MCP兼容的客户端,然后 调用 get_addin_details 或 search_addins 工具。官方SDK提供CLI工具 通过 uv run mcp例如:

# Start the server in development mode
uv run mcp dev office_addins_mcp_server/server.py

# Or install it into Claude Desktop
uv run mcp install office_addins_mcp_server/server.py

# Or use the installed script
uv run office-addins-mcp-server

示例脚本和演示

这 examples/ 文件夹包含用于测试和演示服务器功能的有用脚本:

# Run comprehensive demonstration of search capabilities
uv run python examples/demo_search.py

# Test server configuration and tool registration
uv run python examples/test_server.py

# Run the full test suite
uv run pytest tests/

演示脚本展示了:

  • 基本插件搜索功能
  • 高级过滤(按客户、类别、定价)
  • 分页和排序选项
  • 按资产ID进行特定外接程序查找
  • 详细的附加信息检索

运行后,您可以使用Claude Desktop或MCP Inspector连接到 测试工具。请参阅官方文件以编写自定义 客户。

Azure应用服务部署(快速入门)

使用Azure Developer CLI(azd)将MCP服务器作为web服务部署在Azure应用服务上。这提供了一个具有自动扩展和监控功能的生产就绪HTTP端点。

# Install Azure Developer CLI
curl -fsSL https://aka.ms/install-azd.sh | bash

# Authenticate with Azure
azd auth login

# Deploy to Azure (first time)
azd up

# Redeploy after changes
azd deploy

📖 完整的Azure应用服务部署指南→

公告

🎉 2025-09-13:创建了Office加载项MCP服务器。

路线图

计划在未来开发以下功能:

  1. 插件搜索 -为Office加载项实施全面的搜索功能
  2. 添加搜索外接程序功能的提示 -通过智能提示和过滤增强搜索
  3. OAuth2身份验证 -Microsoft Graph API访问的安全身份验证
  4. 显示已安装的加载项 -跨Office应用程序显示用户当前安装的加载项
  5. 安装/卸载加载项 -程序化安装和删除插件
  6. 提交自定义加载项 -允许向Office应用商店提交自定义加载项
  7. 验证自定义加载项 -自定义加载项的自动验证和合规性检查
  8. 发布自定义加载项 -简化了自定义加载项的发布工作流程
  9. M365管理员推送插件 -允许Microsoft 365管理员集中部署加载项

欢迎投稿——请随时提交问题或撤回请求。