Pandas Excel Analytics MCP
Provides tools for performing numerical and array operations on uploaded datasets using NumPy, supporting mathematical, statistical, and linear algebra computations.
Provides tools for manipulating and analyzing uploaded tabular datasets using Pandas DataFrames, including filtering, grouping, aggregating, and transforming data.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pandas Excel Analytics MCPUpload sales.csv and tell me which region has the highest profit"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pandas Excel Analytics MCP
A deterministic Model Context Protocol (MCP) server exposing Pandas, NumPy, Excel/openpyxl, and automated EDA operations over uploaded tabular datasets.
This server does not contain an LLM, embeddings, RAG, or Langflow/OpenRouter credentials. It is purely the data-execution layer, meant to be called by an MCP client (e.g. Langflow's MCP Tool node) driven by an LLM.
Built on the current stable MCP Python SDK (mcp v2.x), where the server
class is mcp.server.mcpserver.MCPServer — the successor to the
pre-2.0 mcp.server.fastmcp.FastMCP name used in older tutorials. The public
API (.tool(), .streamable_http_app()) is unchanged.
Architecture
Related MCP server: CSV MCP Assistant
Install
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txtRun locally
uvicorn server:app --reload --host 127.0.0.1 --port 8000MCP endpoint:
http://127.0.0.1:8000/mcpHealth check:
http://127.0.0.1:8000/health
Test with MCP Inspector
npx @modelcontextprotocol/inspectorThen connect to http://127.0.0.1:8000/mcp using the "Streamable HTTP"
transport in the Inspector UI, and browse/call the 27 registered tools.
Run the test suite
pytest tests/ -vEnvironment variables
Variable | Purpose | Required |
| Port to bind (set automatically by Render) | No (default 8000) |
| Bearer token for authenticated requests | Recommended in production |
| Force auth even without inspecting | No |
| Comma-separated hostnames this server is reachable at, e.g. | Yes, in production |
| Upload size limit (default 50) | No |
| Dataset shape limits | No |
| Excel workbook sheet limit | No |
| Max rows returned per tool call | No |
OPENROUTER_API_KEY and any LLM credentials are intentionally not
consumed by this server — keep them in Langflow.
Deploy to Render
Push this repository to GitHub.
In Render, "New +" → "Blueprint", point it at the repo (uses
render.yaml).Render will set
MCP_API_TOKENautomatically (viagenerateValue: true); copy it from the Render dashboard's Environment tab for your MCP client.Set
MCP_ALLOWED_HOSTSto your actual*.onrender.comhostname (the Blueprint pre-fills a guess — update it once Render assigns the final service name).Deploy. Render runs
pip install -r requirements.txtthenuvicorn server:app --host 0.0.0.0 --port $PORT.Verify:
curl https://YOUR-SERVICE.onrender.com/health→{"status":"ok"}.
Production MCP URL:
https://YOUR-SERVICE.onrender.com/mcpSecurity notes
No
eval/exec/shell execution/arbitrary imports anywhere in the codebase.Every dataset is addressed by an opaque
dataset_id— callers never supply filesystem paths.Filenames are sanitised and path-joined under a fixed storage root (
utils/security.py::safe_join) — path traversal is structurally impossible.TransportSecuritySettingshost allowlist is always configured; the SDK's default localhost-only protection is never disabled.Bearer-token auth is opt-in via
MCP_API_TOKEN; when unset the server runs unauthenticated (fine for local dev, not for a public Render URL).
Next step: connecting Langflow
In Langflow, add an MCP Tools / MCP Client component.
Point it at
https://YOUR-SERVICE.onrender.com/mcpusing the Streamable HTTP transport, and add headerAuthorization: Bearer <MCP_API_TOKEN>.Set the component to "Tool Mode" so all 27 tools populate as a Toolset.
Wire that Toolset into your Base LLM Agent (OpenRouter) node.
Test with a prompt like: "Upload sales.csv and tell me which region has the highest profit."
Langflow + OpenRouter + embeddings/RAG are deliberately out of scope for this backend and should be added only after the above is verified working.
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
Unified gateway exposing 150+ tools across all NexGenData MCP servers via one endpoint.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables LLM evaluation and observability by uploading documents, building test sets, running RAG pipelines, and automatically scoring answers for groundedness, hallucination risk, retrieval quality, latency, and cost, with tools exposed to MCP-compatible clients.1MIT
- FlicenseNot gradedqualityCmaintenanceEnables querying CSV or Excel data using natural language through MCP tools, running pandas operations on an uploaded dataset.-
- FlicenseNot gradedqualityCmaintenanceProvides MCP-compatible tools for data analysis, including file reading, Python/SQL execution, and hypothesis testing. Enables autonomous data analysis agents to interact with a sandboxed environment.1-
- AlicenseNot gradedqualityBmaintenanceEnables any MCP client to run a complete data-science pipeline on a CSV: exploration, cleaning, model comparison, training, tuning, and plain-language analysis. Exposes nine tools that turn raw data into trained models and reports.1MIT