使用说明
Excel MCP Server (Python版 - FastMCP使用)
AI代理Excel自由操作Model Context Protocol (MCP) 服务器Python是安装版。FastMCP使用框架简单易用API中描述的相应参数的值。
机能
这个MCP服务器包括:Excel提供操作功能:
使用工作簿工作表
create_workbook-新的Excel创建工作簿get_workbook_info-获取工作簿详细信息add_worksheet-添加工作表
单元格区域操作
set_cell_value-为单元格设置值get_cell_value-获取单元格值set_range_values-在区域中设置二维数组数据get_range_values-获取范围数据
书式设定
format_cell-设置单元格格式(字体、填充和格线)
数式・计算
add_formula-将公式添加到单元格
数据操作
find_data-在工作表中查找数据
出力
export_to_csv-打开工作表CSV导出到文件
必要条件
- Python 3.10以上
- uv (建议)或pip
快速启动
uv使用(推奨)
-
uv安装 (如果尚未):
pip install uv -
开发环境设置:
uv sync --dev或者,使用批处理文件(Windows):
setup-dev.bat -
启动服务器:
uv run excel-mcp-server或者,使用批处理文件(Windows):
start-server.bat -
运行测试:
uv run python -m pytest
传统pip使用
-
创建虚拟环境并安装依赖关系:
python -m venv venv # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate pip install -r requirements.txt -
启动服务器:
python src/excel_mcp_server/index.py
开发命令(使用uv)
# 仮想環境に入る
uv shell
# サーバー起動
uv run excel-mcp-server
# テスト実行
uv run python -m pytest
# コードフォーマット
uv run black src/
# リンター実行
uv run ruff src/
# 型チェック
uv run mypy src/
# 開発用依存関係を含む同期
uv sync --dev
# プロダクション用のみ同期
uv sync
MCP客户端使用
FastMCP的规格化距离的幂函数MCP可以从客户端调用:
# 新しいワークブックを作成
{
"tool": "create_workbook",
"arguments": {
"file_path": "C:/path/to/workbook.xlsx"
}
}
# ワークシートを追加
{
"tool": "add_worksheet",
"arguments": {
"file_path": "C:/path/to/workbook.xlsx",
"sheet_name": "Sheet1"
}
}
# セルに値を設定
{
"tool": "set_cell_value",
"arguments": {
"file_path": "C:/path/to/workbook.xlsx",
"sheet_name": "Sheet1",
"cell": "A1",
"value": "Hello, Excel!"
}
}
# 範囲にデータを設定
{
"tool": "set_range_values",
"arguments": {
"file_path": "C:/path/to/workbook.xlsx",
"sheet_name": "Sheet1",
"start_cell": "A1",
"values": [
["名前", "年齢", "職業"],
["田中", 30, "エンジニア"],
["佐藤", 25, "デザイナー"]
]
}
}
# セルの書式を設定
{
"tool": "format_cell",
"arguments": {
"file_path": "C:/path/to/workbook.xlsx",
"sheet_name": "Sheet1",
"cell": "A1",
"format_spec": {
"font": {
"bold": true,
"size": 14,
"color": "FF0000FF"
},
"fill": {
"type": "pattern",
"pattern": "solid",
"fgColor": "FFFF00"
}
}
}
}
## 開発
### テストの実行
```bash
pytest
代码格式
black src/ test/
模具检查
mypy src/
文件结构
excel_mcp_server_python/
├── src/
│ ├── excel_mcp_server/ # メインパッケージ
│ │ ├── __init__.py # パッケージ初期化
│ │ └── main.py # メインサーバー実装
│ └── main.py # 従来形式の実行ファイル(互換性用)
├── test/ # テストファイル
│ ├── test_uv_setup.py # uvセットアップテスト
│ ├── excel_integration_test.py # Excel統合テスト
│ ├── test_tools_list.py # ツールリストテスト
│ └── output/ # テスト出力ファイル
├── scripts/ # ユーティリティスクリプト
├── pyproject.toml # プロジェクト設定(uv対応)
├── uv.lock # uvロックファイル
├── requirements.txt # 従来の依存関係
├── setup-dev.bat # 開発環境セットアップ(Windows)
├── start-server.bat # サーバー起動(Windows)
└── README.md # このファイル
uv(推荐)的优点
- 高速: Rust的包装管理器速度非常快
- 信頼性:通过锁定文件进行可靠的依赖关系管理
- 简单的:简化项目管理
- 互换性: pip的兼容性,更好的用户体验
技术仕样
- 言语:Python 3.10+
- 包管理器: uv(建议)或pip
- MCP框架结构:FastMCP
- Excel程序库:openpyxl
- 数据处理:熊猫
- 开发工具:pytest,黑色,ruff,mypy
TypeScript版本差异
这个Python版本为TypeScript提供与版本相同的功能,但有以下区别:
- 言语: Python 3.8+使用
- MCP框架结构: FastMCP(基于简单的解码器)
- Excel程序库: openpyxl使用(TypeScript版为ExcelJS)
- 非同期処理:不需要(FastMCP内部处理)
FastMCP优点
- 简单的:在基于解码器的基础上轻松定义工具
- 自动架构生成:自动从函数文档生成模式
- 型安全: Python利用标准类型提示
- 軽量:以最低依赖关系运行
许可证
国际协调委员会
貢献
欢迎普尔请求和伊修的报告。
