Get the FREE Ultimate OpenClaw Setup Guide →

mcpxcel

Go-based Model Context Protocol (MCP) server for targeted Excel analysis. MCPXcel lets AI assistants work with large spreadsheets efficiently.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio vinodismyname-mcpxcel /absolute/path/to/server --stdio \
  --env MCPXCEL_ALLOWED_DIRS="/Users/you/Documents:/data" \
  --env MCPXCEL_ENABLE_WRITES="false"

How to use

mcpxcel is a Go-based MCP server designed for targeted Excel analysis. It exposes a suite of read-only analytics tools that operate over stdio, allowing an AI assistant or MCP client to request structured data about Excel sheets without loading or transmitting entire workbooks. Tools include listing workbook structure, streaming sheet previews, reading bounded A1 ranges, searching and filtering data with literal or regex predicates, computing per-column statistics, and a variety of analytics like table detection, schema profiling, composition shifts, concentration metrics, and funnel analysis. There is also a sequential_insights tool to help track planning across domain calls. Each tool returns consistent metadata including total, returned, truncated, and nextCursor when applicable, enabling deterministic pagination and resume semantics by binding cursors to file path and modification time.

To use mcpxcel, connect your MCP client to the server process that is started with stdio. The README example shows configuring the client to launch the mcpxcel binary with the --stdio flag and optional environment variables to restrict read access and disable writes by default. Once connected, call list_tools to discover available capabilities and schemas, then invoke specific tools like list_structure, preview_sheet, read_range, search_data, filter_data, compute_statistics, and the more advanced analytics tools as needed. The tools are designed to operate on a canonical path for each workbook (or sheet), returning concise, streaming results that ground subsequent steps in a deterministic manner.

Common usage patterns include discovering structure with list_structure, streaming a small preview via preview_sheet, and then drilling into precise ranges with read_range or applying filters and searches with search_data and filter_data before computing statistics or running insights like detect_tables or profile_schema.

How to install

Prerequisites:

  • Go 1.25+ installed on your system
  • A client capable of launching an MCP server over stdio (e.g., Claude Desktop, VS Code MCP extension, or a custom MCP client)
  • Optional: Git and GitHub CLI for PRs or releases

Quick install (recommended):

# Install the mcpxcel server binary via Go toolchain (adjust GOPATH if needed)
go install github.com/vinodismyname/mcpxcel/cmd/server@latest

# Ensure your PATH includes the Go bin directory (if needed)
export PATH="$(go env GOPATH)/bin:$PATH"

Alternative: build from source

git clone https://github.com/vinodismyname/mcpxcel.git
cd mcpxcel
make build   # or: go build ./cmd/server

Running locally (example):

# Run the server in stdio mode (as described in the README)
export MCPXCEL_ALLOWED_DIRS="$HOME/Documents:/data"
server --stdio

Additional notes

Tips and notes:

  • Security: Writes are gated behind MCPXCEL_ENABLE_WRITES. By default this is false to prevent mutations. Set to true only in trusted environments.
  • Environment controls: MCPXCEL_ALLOWED_DIRS restricts accessible workbook directories. Misconfiguring this may result in denied requests.
  • Performance: The server enforces payload and cell bounds (e.g., 10k cells per operation, 128KB payload). Plan queries accordingly and paginate using nextCursor where applicable.
  • Logging: Logs are written to stderr by default to avoid transport contamination. Ensure your client surfaces and captures these logs if needed.
  • Tools availability: Use list_tools after connecting to discover the exact schemas and defaults for your environment. Some tools may be gated behind feature flags or require specific inputs (e.g., sheet names or ranges).
  • Versioning: The npm package name field is not applicable here (this is a Go-based MCP server). If you migrate to a different distribution method, update the npm_package field accordingly.

Related MCP Servers

Sponsor this space

Reach thousands of developers