Office-MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Office-MCPcreate a budget spreadsheet with last month's expenses"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Servers for Windows Office Automation
This project provides Model Context Protocol (MCP) servers for automating Microsoft Windows desktop applications on your local machine. These servers enable AI assistants (like GitHub Copilot, Claude, etc.) to interact with your local Office applications via COM automation.
Included MCP Servers
Server | Description |
wps-excel-mcp | Automate WPS Office Excel (create, read, format workbooks, charts, etc.) |
wps-word-mcp | Automate WPS Office Word (create, edit, format documents, tables, etc.) |
wps-slide-mcp | Automate WPS Office Slide (create, edit presentations, shapes, slide shows, etc.) |
outlook-mcp | Automate Microsoft Outlook (email, calendar, contacts) |
whatsapp-mcp | Read WhatsApp Web data (chats, messages, contacts, media) via Chrome DevTools Protocol (CDP) |
mcp-meta | Web tools: search the web (Brave API) and fetch web page content |
Related MCP server: Windows-MCP
Prerequisites
Windows (COM automation is Windows-only)
Python 3.10+
Required Python packages:
mcp— MCP Python SDKpywin32— Windows COM automationwebsockets— WebSocket client (for WhatsApp CDP)
WPS Office installed (for wps-excel-mcp, wps-word-mcp, wps-slide-mcp)
Microsoft Outlook installed (for outlook-mcp)
Google Chrome with remote debugging and WhatsApp Web logged in (for whatsapp-mcp)
Installation
# Clone or navigate to the project directory
cd wps-mcp
# Install dependencies
pip install -r requirements.txt
# Or install the package in development mode
pip install -e .Build Standalone EXEs (No Python Required)
You can build standalone .exe files that users can run without installing Python or any dependencies. The only requirement on the target machine is the respective Office application installed.
One-Click Build
# Build all MCP servers:
build_exe.bat
# Or build individually:
build_exe.bat --wps
build_exe.bat --word
build_exe.bat --slide
build_exe.bat --outlook
build_exe.bat --meta
build_exe.bat --whatsappOr manually:
pip install pyinstaller
python build_exe.py # Build all
python build_exe.py --wps # WPS Excel MCP only
python build_exe.py --word # WPS Word MCP only
python build_exe.py --slide # WPS Slide MCP only
python build_exe.py --outlook # Outlook MCP only
python build_exe.py --meta # MCP Meta only
python build_exe.py --whatsapp # WhatsApp MCP onlyOutput:
dist\wps-excel-mcp.exedist\wps-word-mcp.exedist\wps-slide-mcp.exedist\outlook-mcp.exedist\mcp-meta.exedist\whatsapp-mcp.exe
Using the EXEs
Add them to your MCP client config:
{
"mcpServers": {
"wps-excel-mcp": {
"command": "C:\\path\\to\\wps-excel-mcp.exe"
},
"wps-word-mcp": {
"command": "C:\\path\\to\\wps-word-mcp.exe"
},
"wps-slide-mcp": {
"command": "C:\\path\\to\\wps-slide-mcp.exe"
},
"outlook-mcp": {
"command": "C:\\path\\to\\outlook-mcp.exe"
},
"mcp-meta": {
"command": "C:\\path\\to\\mcp-meta.exe",
"env": {
"BRAVE_API_KEY": "your-brave-api-key-here"
}
},
"whatsapp-mcp": {
"command": "C:\\path\\to\\whatsapp-mcp.exe"
}
}
}Pre-built Releases
Every GitHub Release automatically builds a wps-mcp.zip containing all six MCP servers as standalone .exe files, plus a setup guide. No Python or build tools required — just download, extract, and configure your MCP client.
Download the latest release: Releases
The zip includes:
wps-excel-mcp.exe— WPS Excel MCP serverwps-word-mcp.exe— WPS Word MCP serverwps-slide-mcp.exe— WPS Slide MCP serveroutlook-mcp.exe— Outlook MCP servermcp-meta.exe— MCP Meta server (web search, web fetch)README_SETUP.txt— Step-by-step setup guide
Configuration (Development Mode)
Add the servers to your MCP client configuration:
VS Code / GitHub Copilot
Add to your .vscode/mcp.json:
{
"servers": {
"wps-excel-mcp": {
"command": "python",
"args": ["-m", "wps_excel_mcp.server"],
"cwd": "d:/work/wps-mcp/src"
},
"wps-word-mcp": {
"command": "python",
"args": ["-m", "wps_word_mcp.server"],
"cwd": "d:/work/wps-mcp/src"
},
"wps-slide-mcp": {
"command": "python",
"args": ["-m", "wps_slide_mcp.server"],
"cwd": "d:/work/wps-mcp/src"
},
"outlook-mcp": {
"command": "python",
"args": ["-m", "outlook_mcp.server"],
"cwd": "d:/work/wps-mcp/src"
},
"mcp-meta": {
"command": "python",
"args": ["-m", "mcp_meta.server"],
"cwd": "d:/work/wps-mcp/src",
"env": {
"BRAVE_API_KEY": "your-brave-api-key-here"
}
},
"whatsapp-mcp": {
"command": "python",
"args": ["-m", "whatsapp_mcp.server"],
"cwd": "d:/work/wps-mcp/src"
}
}
}Or use the installed entry points:
{
"servers": {
"wps-excel-mcp": {
"command": "wps-excel-mcp"
},
"wps-word-mcp": {
"command": "wps-word-mcp"
},
"wps-slide-mcp": {
"command": "wps-slide-mcp"
},
"outlook-mcp": {
"command": "outlook-mcp"
},
"mcp-meta": {
"command": "mcp-meta",
"env": {
"BRAVE_API_KEY": "your-brave-api-key-here"
}
},
"whatsapp-mcp": {
"command": "whatsapp-mcp"
}
}
}MCP Meta (mcp-meta)
A lightweight MCP server providing web search and web fetch capabilities for AI assistants.
Features
Tool | Description |
web-search | Search the web via configurable search providers (Brave Search API supported) |
web-fetch | Fetch and extract readable text content from any URL |
Configuration
Environment Variables
Variable | Required | Default | Description |
| No |
| Search provider to use (only |
| Yes (for web-search) | — | Brave Search API key (get one free at https://brave.com/search/api/) |
Prerequisites
Python 3.10+
Required packages:
mcpBrave Search API key for web-search functionality
Tool Reference
web-search — Web Search
Search the web using Brave Search API.
Parameter | Type | Required | Description |
| string | Yes | Search query string |
| integer | No | Number of results (default: 10, max: 20) |
| integer | No | Pagination offset (default: 0) |
| string | No | Two-letter country code (e.g. US, DE, FR) |
| string | No | Search language code (e.g. en, de, fr) |
| string | No | Filter by recency: |
Response fields: provider, query, total_results, results[] (each with title, url, description, age, language).
web-fetch — Web Fetch
Fetch and extract readable text from a URL. Strips HTML tags, scripts, styles, and navigation elements.
Parameter | Type | Required | Description |
| string | Yes | The URL to fetch content from |
| integer | No | Max characters of content returned (default: 10000) |
| boolean | No | Return raw HTML instead of extracted text (default: false) |
Response fields: url, content_type, content, length.
Usage Examples
> Search the web for "latest TypeScript 5.5 features"The assistant calls web-search with query="latest TypeScript 5.5 features".
> Fetch and summarize the content from https://example.com/articleThe assistant calls web-fetch with url="https://example.com/article".
WPS Excel MCP (wps-excel-mcp)
Automate WPS Office Excel via COM automation.
Features
Category | Operations |
Workbook | Create, open, save, close, list, activate |
Worksheet | Add, rename, delete, activate, copy, move, hide/unhide |
Cells | Get/set/clear values, get/set formulas |
Ranges | Get/set/clear, copy/paste, sort, find/replace, used range, remove duplicates |
Formatting | Bold, italic, font name/size/color, underline, fill color, alignment, vertical alignment, number format, wrap text, merge/unmerge, borders, conditional formatting, data validation |
Rows/Columns | Insert, delete, resize, autofit, group/ungroup, freeze/unfreeze panes |
Charts | Add column, line, pie, bar, area, scatter charts |
Data | AutoFilter, text-to-columns |
Protection | Protect/unprotect sheets |
Page Setup | Print area, orientation, margins, headers/footers |
Export | Export to PDF |
Misc | Named ranges, hyperlinks, comments, pivot tables, sparklines, pictures, shapes, gridlines |
Macros | Run VBA macros |
Window | Show/hide WPS Excel window, get app info |
Tool Reference
All tools use a unified action-based API. Each tool accepts an action parameter plus action-specific parameters and an optional sheet_name.
wps_app — Application Control
Action | Description |
| Get WPS Excel version and open workbooks count |
| Show the WPS Excel window |
| Hide the WPS Excel window |
wps_workbook — Workbook Management
Action | Description |
| Create a new workbook |
| Open a file ( |
| Save the active workbook (optional |
| Close the active workbook ( |
| List all open workbooks |
| Activate a workbook by |
wps_sheet — Worksheet Management
Action | Description |
| List all sheets with names, types, visibility |
| Add a new worksheet (optional |
| Rename a sheet ( |
| Delete a sheet by |
| Activate (focus) a sheet by |
| Copy a sheet ( |
| Move a sheet ( |
| Hide a sheet by |
| Unhide a sheet by |
wps_cell — Single Cell Operations
Action | Description |
| Get a cell's value ( |
| Set a cell's value ( |
| Clear a cell's contents ( |
| Set a formula ( |
| Get a cell's formula ( |
wps_range — Multi-Cell Range Operations
Action | Description |
| Get values from a |
| Set values at |
| Clear a range |
| Copy a |
| Paste to |
| Sort a range by |
| Find first occurrence of |
| Find next occurrence |
| Find |
| Get used range address, row count, column count |
| Remove duplicate rows ( |
wps_format — Cell Formatting
Apply multiple formats in a single call. All parameters apply to cell_or_range.
Parameter | Description |
| Bold on/off (bool) |
| Italic on/off (bool) |
| Font family name |
| Font size (integer) |
| Font color (RGB hex, e.g. |
| Underline style: none/single/double |
| Background/fill color (RGB hex) |
| Horizontal alignment: left/center/right |
| Vertical alignment: top/center/bottom |
| Number/date format string |
| Text wrap on/off (bool) |
| True=merge, False=unmerge |
| Border style: thin/medium/thick |
| Border color (RGB hex) |
| Apply border to outline only (bool) |
| Conditional format operator |
| Conditional format formula/value |
| Conditional format font color |
| Conditional format background color |
| Conditional format bold (bool) |
| Clear conditional formats (bool) |
| Data validation type |
| Data validation formulas |
| Validation: ignore blank (bool) |
| Validation: show dropdown (bool) |
| Validation error alert |
wps_rowcol — Row/Column Operations
Action | Description |
| Insert a |
| Delete a |
| Set row height or column width ( |
| Auto-fit rows or columns ( |
| Group rows/columns ( |
| Ungroup rows/columns ( |
| Freeze panes at |
| Unfreeze panes |
wps_chart — Chart Creation
Parameter | Description |
| column/line/pie/bar/area/scatter |
| Data range for the chart |
| Chart position and size |
wps_data — Data Operations
Action | Description |
| Apply AutoFilter to a |
| Split text in |
wps_protection — Sheet Protection
Action | Description |
| Protect the sheet (optional |
| Unprotect the sheet (optional |
wps_page_setup — Page Layout
Action | Description |
| Set print area to |
| Clear print area |
| Set page orientation |
| Set margins ( |
| Set headers/footers ( |
wps_export — Export
Parameter | Description |
| Output PDF file path |
| Optional sheet name |
wps_macro — Macros
Parameter | Description |
| Name of the VBA macro to run |
wps_misc — Miscellaneous Operations
Action | Description |
| Create a named range ( |
| Delete a named range |
| List all named ranges |
| Add a hyperlink ( |
| Remove hyperlinks from |
| Add a comment to |
| Delete comment from |
| Create a pivot table |
| Add a sparkline chart |
| Insert a picture ( |
| Insert a shape ( |
| Show/hide gridlines ( |
Project Structure
wps-mcp/
├── pyproject.toml # Project metadata & dependencies
├── requirements.txt # Pip dependencies
├── README.md # This file
├── build_exe.py # Build standalone .exe files
├── build_exe.bat # Build script wrapper
└── src/
├── wps_excel_mcp/ # WPS Excel MCP Server
│ ├── __init__.py
│ ├── server.py # MCP server with tool definitions & handlers
│ ├── wps_client.py # WPS Excel COM client
│ └── tools/
│ └── __init__.py
├── wps_word_mcp/ # WPS Word MCP Server
│ ├── __init__.py
│ ├── server.py # MCP server with tool definitions & handlers
│ ├── word_client.py # WPS Word COM client
│ └── tools/
│ └── __init__.py
├── wps_slide_mcp/ # WPS Slide MCP Server
│ ├── __init__.py
│ ├── server.py # MCP server with tool definitions & handlers
│ ├── slide_client.py # WPS Slide COM client
│ └── tools/
│ └── __init__.py
├── outlook_mcp/ # Outlook MCP Server
│ ├── __init__.py
│ ├── server.py # MCP server with tool definitions & handlers
│ └── outlook_client.py # Outlook COM client
├── mcp_meta/ # MCP Meta Server (web tools)
│ ├── __init__.py
│ ├── server.py # MCP server: web-search, web-fetch
│ └── tools/
│ └── __init__.py
└── whatsapp_mcp/ # WhatsApp MCP Server
├── __init__.py
├── server.py # MCP server: WhatsApp Web bridge
├── cdp_client.py # Chrome DevTools Protocol client
└── tools/
└── __init__.pyHow It Works
Each MCP server runs as a subprocess and communicates via stdio (standard input/output) using JSON-RPC.
When an AI assistant calls a tool, the server dispatches it to the appropriate handler.
The handler calls the COM client which uses
win32comto automate the target application via its COM interface.Results are serialized to JSON and returned to the AI assistant.
WPS Word MCP (wps-word-mcp)
Automate WPS Office Word via COM automation.
Features
Category | Operations |
Document | Create, open, save, close, list, activate, get/set properties, protect/unprotect |
Text | Get, set, type, append, prepend, get selected text |
Paragraphs | Add, get count, get/set text, insert before, delete, alignment, spacing |
Font | Bold, italic, underline, font name/size/color, highlighting |
Find/Replace | Find text, find & replace (with match case, whole word, replace all) |
Tables | Add, count, get data, set cell, add row/column, delete, style |
Page Layout | Orientation, margins, size, columns, borders, headers, footers, page numbers |
Styles | Apply style, bullet/number lists, remove list |
Insert | Picture, page break, section break, hyperlink, table of contents, bookmark |
Export | Export to PDF, print |
Other | Watermark, track changes, zoom, comments, range text |
Tool Reference
All tools use a unified action-based API.
word_app — Application Control
Action | Description |
| Get WPS Word version and open documents count |
| Show the WPS Word window |
| Hide the WPS Word window |
| Quit WPS Word |
word_document — Document Management
Action | Description |
| Create a new document |
| Open a file ( |
| Save the active document (optional |
| Close the active document ( |
| List all open documents |
| Activate a document by |
| Get document properties (author, title, etc.) |
| Set document properties ( |
| Protect the document with optional |
| Unprotect the document with optional |
word_text — Text Operations
Action | Description |
| Get all document text |
| Replace all text ( |
| Type text at cursor position |
| Append text at end of document |
| Prepend text at start of document |
| Get currently selected text |
word_paragraph — Paragraph Operations
Action | Description |
| Add a paragraph (optional |
| Get total paragraph count |
| Get text of paragraph by |
| Set text of paragraph by |
| Insert paragraph before |
| Delete paragraph by |
| Set alignment ( |
| Set paragraph spacing ( |
word_font — Font Formatting
Apply to a range_spec: selection (default), content, or start=X,end=Y.
Parameter | Description |
| Bold on/off (bool) |
| Italic on/off (bool) |
| Underline on/off (bool) |
| Font family name |
| Font size (number) |
| Font color (RGB hex) |
| Highlight color (0=None, 6=Yellow, 7=Green, 2=Blue) |
word_find — Find & Replace
Action | Description |
| Find |
| Find |
word_table — Table Operations
Action | Description |
| Add a table ( |
| Get table count |
| Get table data by |
| Set cell text ( |
| Add a row to table |
| Add a column to table |
| Delete table by |
| Apply table |
word_page — Page Layout
Action | Description |
| Set orientation ( |
| Set margins ( |
| Set page size ( |
| Set columns ( |
| Set page borders ( |
| Add header ( |
| Add footer ( |
| Insert page numbers ( |
word_insert — Insert Elements
Action | Description |
| Insert a picture ( |
| Insert a page break |
| Add a section break |
| Add a hyperlink ( |
| Insert table of contents |
| Add bookmark ( |
| Navigate to bookmark ( |
word_export — Export & Print
Action | Description |
| Export to PDF ( |
| Print document (optional |
Other Word Tools
Tool | Description |
| Apply styles: |
| Add text watermark ( |
| Toggle track changes ( |
| Set zoom level ( |
| Add a comment ( |
| Get text from a character range ( |
WPS Slide MCP (wps-slide-mcp)
Automate WPS Office Slide (Presentation) via COM automation.
Features
Category | Operations |
Presentation | Create, open, save, close, list, activate, get properties, set slide size |
Slides | Add, delete, duplicate, move, go to, count, list, set background, set transition |
Shapes | Text boxes, pictures, rectangles, ovals, arrows, lines, delete, list, position, fill, line, rotation, z-order, group/ungroup, copy, paste, duplicate |
Text | Get/set shape text |
Font | Bold, italic, underline, font name/size/color, alignment |
Tables | Add tables, set cell text, get table data |
Notes | Get/set speaker notes per slide |
Export | Export to PDF, export single slide as image |
Slide Show | Start, start from slide, stop |
Animations | Add/clear shape animations (20+ effect types) |
Find/Replace | Find/replace text across all slides |
Master/Layout | Slide master info, apply layouts, set master background |
Advanced | Hyperlinks, charts, video/audio media, headers/footers, slide numbers |
Tool Reference
All 16 tools use a unified action-based API. slide_index is 1-based; use 0 for the currently active slide.
app — Application Control
Action | Description |
| Get WPS Slide version and open presentations count |
| Show the WPS Slide window |
| Hide the WPS Slide window |
| Quit WPS Slide |
pres — Presentation Management
Action | Description |
| Create a new presentation |
| Open a file ( |
| Save the active presentation (optional |
| Close the active presentation ( |
| List all open presentations |
| Activate a presentation by |
| Get presentation properties (name, slides count, slide size) |
| Set slide dimensions ( |
slide — Slide Operations
Action | Description |
| Add a slide (optional |
| Delete a slide by |
| Duplicate a slide by |
| Move a slide from |
| Navigate to slide by |
| Get total slide count |
| List all slides with index, name, and shape count |
| Set solid background color ( |
| Set transition effect ( |
shape_add — Add Shapes
Action | Description |
| Add a text box ( |
| Add a picture ( |
| Add a rectangle ( |
| Add an oval/ellipse ( |
| Add a right arrow ( |
| Add a line ( |
shape_format — Format Shapes
Action | Description |
| Set position/size ( |
| Set fill color ( |
| Set outline ( |
| Set rotation in degrees ( |
| Set z-order: front/back/forward/backward ( |
shape_organize — Organize Shapes
Action | Description |
| Group shapes ( |
| Ungroup a grouped shape ( |
| Copy a shape to another slide ( |
| Paste copied shape ( |
| Duplicate a shape ( |
| Delete a shape by |
| List all shapes on a slide ( |
| Get shape count on a slide ( |
Note:
slide_index=0targets the currently active/visible slide. Useslidewithaction=go_toto navigate first.
text — Text Operations
Action | Description |
| Get text from a shape ( |
| Set shape text ( |
font — Font Formatting
Apply to a shape (name_or_index). Use start/length for partial text formatting.
Parameter | Description |
| Bold on/off (bool) |
| Italic on/off (bool) |
| Underline on/off (bool) |
| Font family name |
| Font size (number) |
| Font color (hex RGB, e.g. FF0000) |
| Text alignment: left/center/right/justify |
table — Table Operations
Action | Description |
| Add a table ( |
| Set cell text ( |
| Get all table data as 2D array ( |
notes — Speaker Notes
Action | Description |
| Get speaker notes for a slide ( |
| Set speaker notes ( |
export — Export
Action | Description |
| Export presentation to PDF ( |
| Export a single slide as image ( |
slideshow — Slide Show Control
Action | Description |
| Start slide show from beginning |
| Start slide show from |
| Stop the running slide show |
animate — Shape Animations
Action | Description |
| Add animation ( |
| Clear animations from shape ( |
find — Find & Replace
Action | Description |
| Find |
| Find |
master — Slide Master & Layout
Action | Description |
| Get slide master information |
| Apply a layout to slide ( |
| Set master slide background ( |
advanced — Advanced Features
Use action=help for full details. Supported actions:
Action | Description |
| Add hyperlink to shape ( |
| Add a chart ( |
| Set chart data ( |
| Insert video ( |
| Insert audio ( |
| Toggle slide numbers ( |
| Toggle date/time display ( |
| Set header/footer text ( |
Usage Examples
Create a presentation with a title
> Create a new presentation with a title slide that says "Q3 Business Review"The assistant calls pres with action=create, then shape_add with action=text_box.
Format slide content
> Make the text in shape 1 bold, size 36, and centeredThe assistant calls font with name_or_index=1, bold=true, font_size=36, alignment=center.
Add an image and export
> Insert the company logo from C:\logos\logo.png on slide 2 at position (600, 20)
with width 200, then export as PDF to C:\output\deck.pdfThe assistant calls shape_add with action=picture, then export with action=pdf.
COM ProgID
The client tries these ProgIDs in order, preferring running instances before creating new ones:
WPP.Application(WPS Slide / Presentation)KWPP.Application(older WPS Slide)PowerPoint.Application(Microsoft PowerPoint fallback)
Outlook MCP (outlook-mcp)
Automate Microsoft Outlook via COM automation.
Features
Category | Operations |
Mailbox | Get Outlook version, accounts, folder counts |
List, search, get details, create/update drafts, delete, move, mark read, flag, categorize, save attachments, empty deleted, open in window | |
Calendar | List, get, create, update, delete appointments, respond to invitations, get free/busy |
Contacts | List, get, create, update, delete, export to CSV/vCard |
Tasks | List, get, create, update, delete, mark complete |
Rules | List inbox rules, create rules |
Tool Reference
All tools use a unified action-based API. Each tool accepts an action parameter plus action-specific parameters.
outlook_mailbox — Mailbox Info
Get Outlook version, accounts, and folder counts. No parameters required.
outlook_email — Email Management
Action | Description |
| List emails from a folder ( |
| Search emails ( |
| Get full email details by |
| Create a draft email ( |
| Update an existing draft ( |
| Delete an email by |
| Move an email to |
| Mark as read or unread ( |
| Flag/unflag an email ( |
| Set categories ( |
| Save an attachment to disk ( |
| Empty the Deleted Items folder (optional |
| Open an email in its own window by |
Note: To send an email, use
create_draftto create it, thenupdate_draftto modify it, and the draft can be sent manually from Outlook. The MCP uses a draft-based workflow instead of direct sending for security.
outlook_calendar — Calendar Management
Action | Description |
| List calendar events ( |
| Get appointment details by |
| Create an appointment ( |
| Update an appointment ( |
| Delete an appointment by |
| Respond to an invitation ( |
| Get free/busy information ( |
outlook_contact — Contacts Management
Action | Description |
| List contacts ( |
| Get contact details by |
| Create a contact ( |
| Update a contact ( |
| Delete a contact by |
| Export contacts to file ( |
outlook_task — Tasks Management
Action | Description |
| List tasks ( |
| Get task details by |
| Create a task ( |
| Update a task ( |
| Delete a task by |
| Mark task complete or not started ( |
outlook_rule — Rules Management
Action | Description |
| List all inbox rules |
| Create a rule ( |
Usage Examples
Check your inbox
> Show me my 5 most recent emailsThe assistant calls outlook_email with action=list, count=5.
Create a draft email
> Create a draft email to john@example.com with subject "Q3 Report" and
body "Hi John, please find the Q3 report attached."The assistant calls outlook_email with action=create_draft.
Search emails
> Find all unread emails from "Jane" this weekThe assistant calls outlook_email with action=search, sender="Jane", unread_only=true, and a date range.
Check calendar
> What's on my calendar for next Monday?The assistant calls outlook_calendar with action=list and appropriate start/end dates.
Manage tasks
> Show me my incomplete tasksThe assistant calls outlook_task with action=list, include_completed=false.
COM ProgID
The client uses Outlook.Application as the COM ProgID. If Outlook is already running, it connects to the existing instance.
Troubleshooting
"Could not connect to Microsoft Outlook"
Ensure Microsoft Outlook is installed and running
Verify Outlook is properly registered (the COM interface should be available)
If using a 64-bit version of Python, ensure a 64-bit version of Outlook is installed (or vice versa)
"ModuleNotFoundError: No module named 'win32com'"
pip install pywin32COM errors / crashes
Ensure Outlook is up to date
Some operations may trigger Outlook security prompts (Outlook's security model restricts programmatic access)
WhatsApp MCP (whatsapp-mcp)
Read WhatsApp Desktop data via Chrome DevTools Protocol (CDP). Read-only — no sending, replying, deleting, or mutating any data.
Features
Category | Operations |
Chats | List all chats, search chats by keyword |
Messages | Read messages from any chat (with sender names) |
Contacts | Get contact/group info (name, status, phone) |
Media | Get media files, download images, view downloaded media |
Screenshot | Take screenshots of the current WhatsApp view |
Status | Check connection status |
Prerequisites
Windows 10 / 11
Chrome with remote debugging enabled:
chrome.exe --remote-debugging-port=9222WhatsApp Web (
https://web.whatsapp.com) open and logged in within the debug Chrome
Tool Reference
All 9 tools are purely read-only with safety protections that prevent accidental interaction.
whatsapp_list_chats
List all visible chats from the WhatsApp sidebar. Returns chat name, last message preview, unread badge, and timestamp. No parameters required.
whatsapp_read_chat_messages
Read recent messages from a specific chat. Opens the chat, scrolls to load history, and extracts messages with sender names.
Parameter | Type | Required | Description |
| string | Yes | Chat/contact name (partial match, case-insensitive) |
| integer | No | Max messages to return (default: 20) |
whatsapp_get_contact_info
Get information about a contact or group. Opens the chat and reads the header — returns display name, status/bio, and phone.
Parameter | Type | Required | Description |
| string | Yes | Contact/group name (partial match, case-insensitive) |
whatsapp_search_chats
Search chats by keyword using the WhatsApp search box.
Parameter | Type | Required | Description |
| string | Yes | Search keyword |
whatsapp_get_chat_media
Get recent media files (images, videos, documents) visible in a chat. Blob images are downloaded to local temp files.
Parameter | Type | Required | Description |
| string | Yes | Chat/contact name |
| integer | No | Max media items (default: 10) |
whatsapp_download_image
Download a WhatsApp blob URL to a local file. Use after whatsapp_get_chat_media returns blob URLs.
Parameter | Type | Required | Description |
| string | Yes | The blob: URL from a media item |
| string | No | Optional local file path (default: temp file) |
whatsapp_screenshot
Take a screenshot of the current WhatsApp Web view. Saves to a temp PNG file. No parameters required.
whatsapp_view_media
View an image/media file that was previously downloaded. Takes a file path and returns the actual image for display.
Parameter | Type | Required | Description |
| string | Yes | Absolute path to the media file |
whatsapp_status
Check whether Chrome is reachable and WhatsApp tab is found. No parameters required.
Usage Examples
Check your chats
> Show me my recent WhatsApp chatsThe assistant calls whatsapp_list_chats.
Read messages
> Read the last 10 messages from "Alice"The assistant calls whatsapp_read_chat_messages with chat_name="Alice", count=10.
View shared media
> Show me the recent images from the "Project Team" groupThe assistant calls whatsapp_get_chat_media with chat_name="Project Team", then whatsapp_view_media to display each image.
Safety Features
Danger-zone detection — Blocks clicks on compose area, send button, and context menus
Post-click verification — Confirms correct chat is opened after each navigation
Read-only guarantee — No send, reply, delete, archive, or mutation operations
Troubleshooting
"Could not connect to Chrome"
Ensure Chrome is running with
--remote-debugging-port=9222Check that no other program is using port 9222
Close all Chrome windows and restart with the debugging flag
"WhatsApp tab not found"
Open
https://web.whatsapp.comin the debug Chrome instanceLog in by scanning the QR code with your phone
Wait for chats to load completely
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hinora/office-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server