MCP server that converts Excel files to Markdown tables
Project description
tablemcp
An MCP (Model Context Protocol) server that converts Excel files to Markdown tables.
Installation
# Using uvx (recommended)
uvx tablemcp
# Or install via pip
pip install tablemcp
Usage with Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"excel": {
"command": "uvx",
"args": ["tablemcp"]
}
}
}
Available Tools
read_excel_as_markdown
Convert an entire Excel file (all sheets) to Markdown tables.
Parameters:
file_path(string): Absolute path to the Excel file (.xlsx or .xls)
Returns: Markdown formatted tables for all sheets
read_excel_sheet_as_markdown
Convert a specific sheet from an Excel file to a Markdown table.
Parameters:
file_path(string): Absolute path to the Excel filesheet_name(string): Name of the sheet to convertheader_row(int, optional): Header row number (1-based). Auto-detects if not provided.columns(string, optional): Column range like 'A:D' or '1-4'. Auto-detects if not provided.
Returns: Markdown formatted table
list_sheets
List all sheet names in an Excel file.
Parameters:
file_path(string): Absolute path to the Excel file
Returns: List of sheet names
Features
- Automatic table detection (finds header rows and relevant columns)
- Multi-sheet support
- Manual column/row specification for complex layouts
- Handles null values gracefully
- Escapes pipe characters in cell values
Development
# Clone and install dependencies
git clone https://github.com/jvsteiner/tablemcp
cd tablemcp
uv sync
# Run tests
uv run pytest
# Run the server locally
uv run tablemcp
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tablemcp-0.1.0.tar.gz.
File metadata
- Download URL: tablemcp-0.1.0.tar.gz
- Upload date:
- Size: 75.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75936ea37a1a431a782080d62a1542ccd7e5e906f0fd4b33bf21aa4f34be1ebb
|
|
| MD5 |
ae04eb95e64f8f39d69220a7e1347e50
|
|
| BLAKE2b-256 |
443b08480bf13c46650b64370cef6209744c5d7fc4befb3458528b128448549a
|
File details
Details for the file tablemcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tablemcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a354c432a331c905100ce3be99f438994502a5fd3dbce746033ac398457674a
|
|
| MD5 |
0cd3795c4d8a1460be123a79fcce07cc
|
|
| BLAKE2b-256 |
be24da2caa939c0a240629f495a60c8c17888703650b18dd63d9e113b8bc63c3
|