YIWEI-CHEN/office-addins-mcp-server
If you are the rightful owner of office-addins-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This repository contains a Model Context Protocol (MCP) server implemented in C# using the official ModelContextProtocol SDK.
Office Add‑ins MCP Server
Overview
A Model Context Protocol (MCP) server for discovering and managing Microsoft Office Add‑ins across Word, Excel, PowerPoint, Outlook, and Teams. This server enables AI agents to search add-ins and retrieve detailed metadata, install or uninstall add-ins, handle submission, validation, and publishing of custom add-ins.
This repository provides a comprehensive server implementation based on the
Model Context Protocol (MCP) using the official Python SDK. MCP
standardizes how large language models (LLMs) communicate with external data
sources and tools. The FastMCP class encapsulates the complexity of MCP
and lets developers expose ordinary Python functions as MCP tools or
resources with minimal boilerplate.
Currently, the server provides basic add-in detail retrieval functionality, with comprehensive add-in management features planned for future releases (see Roadmap section).
Installation and Setup (Local Server)
This project uses uv to manage Python dependencies and virtual environments and includes a pyproject.toml configuration file and a uv.lock file to ensure reproducible builds across different environments.
-
Clone the repository:
git clone <repository-url> office-addins-mcp-server cd office-addins-mcp-server -
Install dependencies using uv:
# This will create a virtual environment and install all dependencies # based on pyproject.toml and uv.lock uv sync
Running the Server
You can run the server in several ways:
# 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
Transport Types:
stdio(default): Standard input/output transport, perfect for local testing and CLI integrationsse: Server-Sent Events transport, ideal for web service deploymenthttp: Streamable HTTP transport, suitable for HTTP-based integrations
🧪 Experimental Remote Server
⚠️ EXPERIMENTAL: A remote instance of this MCP server is available for testing purposes only. This is not intended for production use and may have limited uptime, rate limits, or be discontinued without notice.
Remote MCP Endpoint: https://app-api-gmqmpcvoduxtc.azurewebsites.net/addins/mcp
Usage: You can test the MCP protocol with this endpoint, but please deploy your own instance for any serious work.
Testing and Examples
Testing the Server
To verify that the server works, connect with an MCP‑compatible client and
invoke the get_addin_details or search_addins tools. The official SDK provides CLI tools
via uv run mcp. For example:
# 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
Example Scripts and Demonstrations
The examples/ folder contains useful scripts for testing and demonstrating the server functionality:
# 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/
The demonstration script showcases:
- Basic add-in search functionality
- Advanced filtering (by client, category, pricing)
- Pagination and sorting options
- Specific add-in lookup by asset ID
- Detailed add-in information retrieval
Once running, you can connect using Claude Desktop or the MCP Inspector to test the tools. Refer to the official documentation for writing custom clients.
Azure App Service Deployment (Quick Start)
Deploy the MCP server as a web service on Azure App Service using Azure Developer CLI (azd). This provides a production-ready HTTP endpoint with automatic scaling and monitoring.
# 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
📖
Announcements
🎉 2025-09-13: The Office Add-ins MCP server is created.
Roadmap
The following features are planned for future development:
- Add-in Search - Implement comprehensive search functionality for Office add-ins
- Add Prompts to Search Add-in Features - Enhance search with intelligent prompts and filtering
- OAuth2 Authentication - Secure authentication for Microsoft Graph API access
- Show Installed Add-ins - Display user's currently installed add-ins across Office applications
- Install/Uninstall Add-ins - Programmatic installation and removal of add-ins
- Submit Custom Add-ins - Enable submission of custom add-ins to the Office Store
- Validate Custom Add-ins - Automated validation and compliance checking for custom add-ins
- Publish Custom Add-ins - Streamlined publishing workflow for custom add-ins
- M365 Admin Push Add-ins - Allow Microsoft 365 administrators to centrally deploy add-ins
Contributions are welcome—feel free to submit issues or pull requests.