Skip to main content

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 and create_relay_app() factory; an embedding application must supply request authentication
  • excel_mcp.tool_registry — built-in workbook tools plus register_tools() extensibility
  • excel_mcp.mcp_server.channel_status — relay/taskpane health and recovery inspection
  • excel_mcp.client — ExcelClient and its injectable ExcelTransport protocol
  • excel_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)

Source distribution for hank-excel-mcp 0.2.0
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)

Table of built distributions (wheels) for hank-excel-mcp 0.2.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page