hank-excel-mcp
Python package for connecting Excel to AI via MCP.
See the main README for full documentation.
Install
Install this source revision from this directory:
pip install .
The distribution is hank-excel-mcp; the Python import remains excel_mcp
and the console command remains excel-mcp. For package development, use
pip install -e . instead. The read client is part of source version 0.2.0;
this does not assert that version has been published to a package index.
Components
excel_mcp.mcp_server— MCP stdio server (python -m excel_mcp)excel_mcp.relay— relay state andcreate_relay_app()factory; an embedding application must supply request authenticationexcel_mcp.tool_registry— built-in workbook tools plusregister_tools()extensibilityexcel_mcp.mcp_server.channel_status— relay/taskpane health and recovery inspectionexcel_mcp.client—ExcelClientand its injectableExcelTransportprotocolexcel_mcp.views— typed dictionary views of the existing read responses
The live MCP server exposes channel_status plus the registry-backed workbook
tools. Inspect the registered surface in process when changing either owner.
excel-mcp start is a host-repository convenience command that launches
api.main:app; it is not a standalone authenticated relay. Portable consumers
should embed create_relay_app() with their own request authenticator.
Composable reads
from excel_mcp import ExcelClient, ExcelTransport imports the client without
starting or importing the MCP server or relay. The embedding host supplies a
transport implementing call, search, and describe; the client contains no
credentials, session discovery, or independent operation grants.
ExcelClient exposes read_cells, get_used_range, list_sheets,
read_range_csv, read_sheet_csv, and find_cells. Every read requires the
current workbook session token through workbook; sheet-scoped reads also
require sheet_name. The client forwards that token as the existing _workbook
argument. Worksheet enumeration indexes and active-sheet observations are not
durable targeting identities.
Responses remain the producer's dictionaries, including additional provenance
and CSV coverage/continuation metadata. get_used_range preserves None for
an empty sheet; read_cells(include_formulas=True) leaves formula strings in
the producer's values array. The views do not normalize or discard fields.
Workbook discovery, current selection, UI control, and workbook mutations remain explicit tools, not client methods. Executor registration determines which read operations are callable; installing this distribution does not grant access to a workbook or expose an operation.
The relay factory export is lazy; create_relay_app remains the factory
owned by relay_app.
Metadata
Release files for hank-excel-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hank_excel_mcp-0.2.0.tar.gz | 63.2 kB | Without provenance | Details for hank_excel_mcp-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hank_excel_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for hank_excel_mcp-0.2.0-py3-none-any.whl |
Total release size: 114.6 kB
Release files / hank_excel_mcp-0.2.0.tar.gz
| Download URL | hank_excel_mcp-0.2.0.tar.gz |
|---|---|
| Size | 63.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fbbad9edb9072a5890a674cb066b4fa45b9443058782cf12cfcc0b93f541f0b0
|
|
BLAKE2b-256 checksum How to use checksums |
6a52343e461aa86c525d80f52e670f40503661c2fbd59ee9ebceab26b16e5cdc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Release files / hank_excel_mcp-0.2.0-py3-none-any.whl
| Download URL | hank_excel_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 51.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3f5490743e9f229eaf323b54612cca3f7a054588caac8b69ae354ba9a7c5e600
|
|
BLAKE2b-256 checksum How to use checksums |
860de56c1a8aedd4af0375a98bdb2ee0d37e34425ebacf8773c7e83c6c3719a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Security for hank-excel-mcp 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.