Hiel Excel Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Hiel Excel Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An optimized Excel MCP server that provides comprehensive Excel manipulation capabilities through a clean API. The server now includes 25+ powerful tools for advanced Excel operations including tables, pivot tables, advanced formatting, and data manipulation.
The hiel_excel_mcp server provides AI agents with extensive Excel manipulation capabilities while maintaining performance and reliability. All operations are designed to be non-blocking and thread-safe with intelligent caching for optimal performance.
# Linux/macOS
pip3 install hiel-excel-mcp
# Windows
pip install hiel-excel-mcp# Clone the repository
git clone https://github.com/yourusername/hiel-excel-mcp.git
cd hiel-excel-mcp
# Linux/macOS
pip3 install -e .
# Windows
pip install -e .#### Linux/macOS
# Run the server directly
python3 server.py
# Or with stdio transport
python3 -m hiel_excel_mcp stdio
# Or with HTTP transport
python3 -m hiel_excel_mcp streamable-http --host 0.0.0.0 --port 8017#### Windows
# Run the server directly
python server.py
# Or with stdio transport
python -m hiel_excel_mcp stdio
# Or with HTTP transport
python -m hiel_excel_mcp streamable-http --host 0.0.0.0 --port 8017UVX is a high-performance Python runtime that can significantly improve server performance.
#### Linux/macOS
# Install UVX
pip3 install uvx
# Run the server with UVX
uvx server.py
# Or with stdio transport
uvx -m hiel_excel_mcp stdio
# Or with HTTP transport
uvx -m hiel_excel_mcp streamable-http --host 0.0.0.0 --port 8017#### Windows
Note: UVX may have limited support on Windows. Use Python directly if you encounter issues.
# Install UVX
pip install uvx
# Run the server with UVX
uvx server.pyclaude_desktop_config.json file:{
"mcpServers": {
"hiel-excel-mcp": {
"command": "python3", // Use "python" on Windows
"args": [
"server.py"
],
"disabled": false
}
}
}The Excel MCP server provides the following tools, organized by category:
# Create a new workbook
result = await excel_mcp.call_tool("workbook-create", {"filepath": "sales_report.xlsx"})
# Write data to the workbook
data = [
["Product", "Q1", "Q2", "Q3", "Q4", "Total"],
["Product A", 100, 150, 120, 180, "=SUM(B2:E2)"],
["Product B", 200, 210, 190, 220, "=SUM(B3:E3)"],
["Product C", 150, 160, 140, 200, "=SUM(B4:E4)"]
]
result = await excel_mcp.call_tool("data-write", {
"filepath": "sales_report.xlsx",
"sheet_name": "Sales",
"data": data,
"start_cell": "A1"
})# Create a table from the data range
result = await excel_mcp.call_tool("table-create", {
"filepath": "sales_report.xlsx",
"sheet_name": "Sales",
"range": "A1:F4",
"table_name": "SalesData",
"style": "TableStyleMedium2"
})
# Apply advanced formatting to the header row
result = await excel_mcp.call_tool("format-advanced", {
"filepath": "sales_report.xlsx",
"sheet_name": "Sales",
"range": "A1:F1",
"formatting": {
"font": {"bold": True, "color": "FFFFFF"},
"fill": {"color": "4472C4", "type": "solid"},
"alignment": {"horizontal": "center"}
}
})# Create a pivot table for analysis
result = await excel_mcp.call_tool("pivot-create", {
"filepath": "sales_report.xlsx",
"source_sheet": "Sales",
"source_range": "A1:F4",
"target_sheet": "Analysis",
"target_cell": "A1",
"rows": ["Product"],
"columns": [],
"values": [{"field": 5, "function": "sum"}],
"filters": []
})# Sort data by Q4 sales (descending)
result = await excel_mcp.call_tool("sort-range", {
"filepath": "sales_report.xlsx",
"sheet_name": "Sales",
"range": "A2:F4",
"sort_by": [{"column": 4, "ascending": False}]
})
# Find and replace text
result = await excel_mcp.call_tool("find-replace", {
"filepath": "sales_report.xlsx",
"sheet_name": "Sales",
"find_text": "Product",
"replace_text": "Item",
"match_case": True
})# Create a named range for the totals column
result = await excel_mcp.call_tool("named-range-create", {
"filepath": "sales_report.xlsx",
"name": "Totals",
"sheet_name": "Sales",
"range": "F2:F4"
})
# Add protection to the worksheet
result = await excel_mcp.call_tool("protection-add", {
"filepath": "sales_report.xlsx",
"sheet_name": "Sales",
"password": "secure123",
"allow_formatting": True
})EXCEL_FILES_PATH: Base directory for Excel files (default: current directory)MAX_ROWS_PER_CALL: Maximum number of rows allowed per operation (default: 10000)MAX_COLS_PER_CALL: Maximum number of columns allowed per operation (default: 1000)MAX_FILE_SIZE: Maximum file size in bytes (default: 50MB)FASTMCP_HOST: Server host (default: 0.0.0.0)FASTMCP_PORT: Server port (default: 8017)# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black hiel_excel_mcp/
isort hiel_excel_mcp/
# Type checking
mypy hiel_excel_mcp/This project supports both GitHub Actions and GitLab CI/CD for continuous integration and deployment.
The GitHub workflow includes:
To run the workflow manually, go to the Actions tab in the GitHub repository and select "Run workflow" on the "Build and Test Excel MCP" workflow.
The GitLab pipeline includes:
The pipeline automatically runs on all branches and can be viewed in the CI/CD section of your GitLab repository.
MIT License - see LICENSE file for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.