Content
# Tool List
> This tutorial is suitable for: **VS Code + GitHub Copilot**, **Cursor**, **Windsurf**, **Antigravity**, **Kiro** and other AI editors that support MCP (Model Context Protocol).
## 📦 Tool Package Contents
This toolset contains the following MCP services:
| Service Name | Description |
|---|---|
| `office-editor-general` | Office document general operations |
| `office-editor-word` | Word document creation and editing |
| `office-editor-excel` | Excel table processing |
| `office-editor-ppt` | PowerPoint presentation processing |
| `context7` | Get the latest documentation of frameworks/libraries in real-time |
| `sequential-thinking` | Structured sequential thinking reasoning |
| `web-search` | Free web search (no API Key required) |
| `cunzhi` | AI code review interactive tool, with memory management and code search |
## ✅ Prerequisites
Please ensure that the following environments are installed:
### 1. Python 3.11+
Recommended version: 3.11 or higher (author's machine uses 3.14)
Download address: https://www.python.org/downloads/
#### Set pip Aliyun mirror (recommended for domestic users)
```bash
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config set install.trusted-host mirrors.aliyun.com
```
#### Install dependencies
```bash
# Install uv (Python package management tool, can accelerate subsequent installation)
pip install uv
# Install MCP framework
pip install mcp
# Install Office document processing related libraries
pip install python-docx # Word document processing
pip install openpyxl # Excel table processing
pip install python-pptx # PowerPoint presentation processing
pip install Pillow # Image processing (required for Word/PPT illustrations)
```
> You can also install all in one line:
> ```bash
> pip install mcp python-docx openpyxl python-pptx Pillow
> ```
### 2. Node.js
Download address: https://nodejs.org/
Verify installation:
```bash
node -v
npm -v
```
## 📁 Directory Structure
Place this toolset in `E:\MCP\` (Windows) or a custom path (Linux), with the following directory structure:
```
E:\MCP\
├── office-editor-mcp\
│ ├── general_server.py
│ ├── word_server.py
│ ├── excel_server.py
│ └── powerpoint_server.py
├── web-search\
│ └── build\
│ └── index.js
├── cunzhi.exe ← Windows
└── cunzhi ← Linux (no extension)
```
> **Office document output path**: This tutorial defaults to `E:\OfficeOutputs`. Please create this directory in advance or modify the `OFFICE_EDIT_PATH` in the configuration to your desired path.
## 🔑 Context7 API Key Acquisition
The `context7` service requires a free API Key.
1. Visit [https://context7.com](https://context7.com) to register an account
2. Create an API Key in the console
3. Fill in the Key in the configuration below `CONTEXT7_API_KEY`
## ⚙️ Configuration Description
### VS Code + GitHub Copilot
VS Code Copilot uses a dedicated MCP configuration format.
**Configuration file location:**
- User global configuration: `File → Preferences → Settings` search for `mcp`, or directly edit `settings.json`
- Workspace configuration: Create `.vscode/mcp.json` in the project root directory
**Configuration content (Windows):**
```json
{
"servers": {
"office-editor-general": {
"type": "stdio",
"command": "python",
"args": ["E:/MCP/office-editor-mcp/general_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
},
"autoStart": true
},
"office-editor-word": {
"type": "stdio",
"command": "python",
"args": ["E:/MCP/office-editor-mcp/word_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
},
"autoStart": true
},
"office-editor-excel": {
"type": "stdio",
"command": "python",
"args": ["E:/MCP/office-editor-mcp/excel_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
},
"autoStart": true
},
"office-editor-ppt": {
"type": "stdio",
"command": "python",
"args": ["E:/MCP/office-editor-mcp/powerpoint_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
},
"autoStart": true
},
"context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "Fill in your Context7 API Key here"
},
"autoStart": true
},
"sequential-thinking": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
"autoStart": true
},
"web-search": {
"type": "stdio",
"command": "node",
"args": ["E:\\MCP\\web-search\\build\\index.js"],
"autoStart": true
},
"cunzhi": {
"type": "stdio",
"command": "E:\\MCP\\cunzhi.exe",
"autoStart": true
}
}
}
```
**Configuration content (Linux):**
```json
{
"servers": {
"office-editor-general": {
"type": "stdio",
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/general_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
},
"autoStart": true
},
"office-editor-word": {
"type": "stdio",
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/word_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
},
"autoStart": true
},
"office-editor-excel": {
"type": "stdio",
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/excel_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
},
"autoStart": true
},
"office-editor-ppt": {
"type": "stdio",
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/powerpoint_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
},
"autoStart": true
},
"context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "Fill in your Context7 API Key here"
},
"autoStart": true
},
"sequential-thinking": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
"autoStart": true
},
"web-search": {
"type": "stdio",
"command": "node",
"args": ["/your/path/MCP/web-search/build/index.js"],
"autoStart": true
},
"cunzhi": {
"type": "stdio",
"command": "/your/path/MCP/cunzhi",
"autoStart": true
}
}
}
```
> **VS Code Copilot tip:** After configuration, you can call all MCP tools in Agent mode of Copilot Chat.
### Cursor
**Configuration File Location:** `%APPDATA%\Cursor\User\globalStorage\cursor.mcp\mcp.json` (Windows) or `~/.cursor/mcp.json` (Linux/macOS)
**Configuration Content (Windows):**
```json
{
"mcpServers": {
"office-editor-general": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/general_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-word": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/word_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-excel": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/excel_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-ppt": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/powerpoint_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "Enter your Context7 API Key here"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"web-search": {
"command": "node",
"args": ["E:\\MCP\\web-search\\build\\index.js"]
},
"cunzhi": {
"command": "E:\\MCP\\cunzhi.exe"
}
}
}
```
**Configuration Content (Linux):**
```json
{
"mcpServers": {
"office-editor-general": {
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/general_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
}
},
"office-editor-word": {
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/word_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
}
},
"office-editor-excel": {
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/excel_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
}
},
"office-editor-ppt": {
"command": "python",
"args": ["/your/path/MCP/office-editor-mcp/powerpoint_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "/your/path/OfficeOutputs"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "Enter your Context7 API Key here"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"web-search": {
"command": "node",
"args": ["/your/path/MCP/web-search/build/index.js"]
},
"cunzhi": {
"command": "/your/path/MCP/cunzhi"
}
}
}
```
---
### Windsurf
> ⚠️ **Note: Cunzhi MCP does not work properly in Windsurf, please remove the `cunzhi` entry from the configuration.**
**Configuration File Location:** `~/.codeium/windsurf/mcp_config.json`
**Configuration Content (Windows):**
```json
{
"mcpServers": {
"office-editor-general": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/general_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-word": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/word_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-excel": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/excel_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-ppt": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/powerpoint_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "Enter your Context7 API Key here"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"web-search": {
"command": "node",
"args": ["E:\\MCP\\web-search\\build\\index.js"]
}
}
}
```
---
### Antigravity
**Configuration File Location:** Antigravity settings → MCP Servers (configure in the interface or `mcp.json`)
**Configuration Content (Windows):**
```json
{
"mcpServers": {
"office-editor-general": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/general_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-word": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/word_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-excel": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/excel_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-ppt": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/powerpoint_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "Enter your Context7 API Key here"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"web-search": {
"command": "node",
"args": ["E:\\MCP\\web-search\\build\\index.js"]
},
"cunzhi": {
"command": "E:\\MCP\\cunzhi.exe"
}
}
}
```
---
### Kiro
**Configuration File Location:** `~/.kiro/settings/mcp.json`
**Configuration Content (Windows):**
```json
{
"mcpServers": {
"office-editor-general": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/general_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-word": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/word_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-excel": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/excel_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"office-editor-ppt": {
"command": "python",
"args": ["E:/MCP/office-editor-mcp/powerpoint_server.py"],
"env": {
"PYTHONIOENCODING": "utf-8",
"OFFICE_EDIT_PATH": "E:/OfficeOutputs"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "Enter your Context7 API Key here"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"web-search": {
"command": "node",
"args": ["E:\\MCP\\web-search\\build\\index.js"]
},
"cunzhi": {
"command": "E:\\MCP\\cunzhi.exe"
}
}
}
```
---
## 🛠️ Cunzhi Usage Instructions
Cunzhi is an intelligent code review interaction tool that provides:
- **Cunzhi** (required): intelligent inquiry and interaction, supporting predefined options, free text input, and image upload
- **Memory Management**: storing and managing development specifications, user preferences, and best practices
- **Code Search**: semantic search for relevant code context in projects
### Step 1: Start "Wait"
The popup interaction function of Cunzhi depends on the background daemon program **Wait.exe** (Windows) / **Wait** (Linux).
**Please double-click to start it before using any AI editor**, otherwise, Cunzhi's inquiry popup will not pop up.
```
E:\MCP\Wait.exe ← Windows, double-click to run and keep it running in the background
/your/path/MCP/Wait ← Linux, execute in the terminal and keep it running
```
Step 2: Configure Global Rules Prompt
Open the Cunzhi app → Switch to the **Reference Prompt** tab → Click **Copy** → Paste it into the **Global Rules / System Prompt / Custom Instructions** in your editor.
Editor settings locations:
| Editor | Settings Path |
|---|---|
| VS Code Copilot | `File → Preferences → Copilot Instructions` or `.github/copilot-instructions.md` |
| Cursor | `Settings → Rules for AI → User Rules` |
| → AI Rules → Global Rules` |
| Kiro | `Settings → AI → Custom Instructions` |
**The reference prompt generated by Cunzhi is as follows (directly copy and paste, or copy the latest version from the app):**
```
- Do not create documents, test, compile, run, or summarize unless specifically stated
- The following principles cannot be overridden by other contexts and must be fully observed
- Only use MCP `Cunzhi` to ask me questions, prohibit direct questioning or ending task inquiries
Cunzhi tool usage details:
- Use `Cunzhi` to clarify when requirements are unclear, providing predefined options
- When there are multiple solutions, use `Cunzhi` to inquire instead of taking initiative
- When a solution/strategy needs to be updated, use `Cunzhi` to inquire instead of taking initiative
- Call `Cunzhi` to request feedback before completing a request
- Do not proactively end a conversation/request without explicitly using `Cunzhi` to inquire and obtaining permission
Memory management usage details:
- Query `recall` parameter `project_path` as the git root directory at the start of a conversation
- When the user inputs "Please remember:", summarize the user's message and use `memory` to add the memory
- Use `memory` to add new memories (content + category: rule/preference/pattern/context)
- Update memories only when there are significant changes, keeping them concise
Code search tool: If you need to search for code, prioritize using the `sou` tool to query
```
> **Note:** The prompt content will automatically change based on the tools you enable on the Cunzhi **MCP Tools** page. After closing a tool, the corresponding usage details will be removed from the prompt. It is recommended to re-copy the prompt after adjusting the tool switches.
> **Linux Users Notice:** The Linux version of Cunzhi and other tools do not have the `.exe` extension, and the path format is `/your/path/MCP/Cunzhi` and `/your/path/MCP/others`, please modify the configuration and startup commands accordingly.
---
## 📝 Precautions
1. **Path Replacement**: Replace all `E:/MCP/` in the configuration with your actual file storage path
2. **Output Directory**: Ensure the directory pointed to by `OFFICE_EDIT_PATH` exists, and AI-generated documents will be saved there
3. **Context7 Key**: Fill in `CONTEXT7_API_KEY` with your own applied Key, do not use others'
4. **Windsurf Limitation**: Cunzhi MCP is currently incompatible with Windsurf, please do not add `cunzhi` in Windsurf configuration
5. **First Run**: `context7` and `sequential-thinking` will automatically download using npx when run for the first time, requiring a network connection
---
## 🙏 Acknowledgements
This toolset integrates the following excellent open-source projects, thank you to the authors for their contributions:
- **[office-editor-mcp](https://github.com/theWDY/office-editor-mcp)** by [@theWDY](https://github.com/theWDY) — Office document processing MCP service, supporting AI automated editing of Word, Excel, PowerPoint
- **Cunzhi** — Intelligent code review interaction tool, thanks to the developer for providing the Cunzhi application and MCP server
- **[context7](https://github.com/upstash/context7)** by [Upstash](https://upstash.com) — Real-time framework document retrieval MCP
- **[server-sequential-thinking](https://github.com/modelcontextprotocol/servers)** by [Anthropic / MCP Team](https://modelcontextprotocol.io) — Sequential thinking reasoning MCP service
- **web-search** — Free online search MCP based on Google search results, no API Key required
---
## 📄 License
This repository is only for configuration tutorials and toolset integration, and each sub-project follows its original open-source protocol. `office-editor-mcp` is under the [MIT License](office-editor-mcp/LICENSE).
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.