freshcrate
Skin:/
Home > MCP Servers > sv-excel-agent

sv-excel-agent

An Excel AI agent that uses MCP tools to let LLMs read, edit, and automate Excel spreadsheets.

Why this rank:Strong adoptionHealthy release cadenceRelease freshness

Description

An Excel AI agent that uses MCP tools to let LLMs read, edit, and automate Excel spreadsheets.

README

Open Source Excel AI Agent, by Sylvian

Open Source Excel AI Agent

This repo consists of two main parts: an Excel MCP server (excel_mcp) and an Excel AI Agent Runner (excel_agent).

Demos

Excel Assistant

See demo/ExcelAssistant for an AI Excel assistant in web application form.

excel.mp4

Slack Workflow

See demo/SlackExcelWorkflow to make a Slack bot that assists with your Excel work.

slack.mp4

Model Performance

Using our agent, we benchmarked several of the leading models on a verified subset of 50 examples from SpreadsheetBench. The following are the results for Pass@1:

Model Performance

You can run this exact evaluation for yourself in the evals folder.

Environment Setup

conda create -n excel
conda activate excel
conda install python=3.11
pip install -r requirements.txt
pip install -e .

General Usage

Setting up an AI Agent consists of two portions. The Excel MCP server allows all agents to have access to a set of ~30 tools that allow editing of the Excel file directly.

Setting Up Excel MCP Server

import asyncio
from excel_mcp.excel_server import mcp

async def run_mcp_server():
    await mcp.run_sse_async(host="127.0.0.1", port=8765)

asyncio.run(run_mcp_server())

Setting Up Excel Agent Runner

from excel_agent.agent_runner import ExcelAgentRunner, TaskInput
from excel_agent.config import ExperimentConfig

message = #some prompt to edit the Excel file
input_file = #path to input Excel file
output_file = #path to output Excel file. typically a copy of the input file is created to edit.

runner = ExcelAgentRunner(
    config=ExperimentConfig(model='openrouter:openai/gpt-5.1'),
    mcp_server_url="http://127.0.0.1:8765/sse",
)

task_input = TaskInput(
    instruction=message,
    input_file=str(input_path),
    output_file=str(output_path),
)

agent_response = await runner.run_excel_agent(task_input)

Environment

The evaluation harness launches Microsoft Excel to calculate formulas and apply formatting during comparison. This ensures accurate evaluation of formula outputs and conditional formatting.

For headless environments, LibreOffice can be used as an alternative for spreadsheet conversion. However, LibreOffice conversion is less accurate—particularly for complex formulas and conditional formatting—and may result in evaluation discrepancies.

Release History

VersionChangesUrgencyDate
0.0.0No release found — using repo HEADLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025
main@2025-12-12Latest activity on main branchLow12/12/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

langfuse-mcpA Model Context Protocol (MCP) server for Langfuse, enabling AI agents to query Langfuse trace data for enhanced debugging and observabilityv0.11.0
AgentGuardProtect AI agents by detecting and blocking prompt, command injection, Unicode bypass, and social engineering attacks with customizable security controls.main@2026-09-10
ai-agents-from-zero 🚀 2026 最系统的 AI Agent 速成指南|智能体实战教程 · 完整学习路径 + 实战项目 + 面试题库 · 对标大模型应用开发工程师岗位 · 覆盖LangChain / LangGraph / Coze / Dify / MCP / skills / LLM / RAG / 提示词 · 企业级部署与微调 · 从0到企业级落地 + 从学习到上线项目 + 面试准备一体化 main@2026-09-10
uk-due-diligence-mcpUK due diligence MCP server — Companies House, corporate research, compliance checksv1.4.0
claude-copilotTransform Claude Code into a full development team. 11 specialized agents (Architect, Engineer, QA, Security, UX, DevOps, and more), persistent memory across sessions, and 25,000+ on-demand skills. Wov5.15.2

More in MCP Servers

difyProduction-ready platform for agentic workflow development.
tabularisA lightweight, cross-platform database client for developers. Supports MySQL, PostgreSQL and SQLite. Hackable with plugins. Built for speed, security, and aesthetics.
ai-agents-from-zero 🚀 2026 最系统的 AI Agent 速成指南|智能体实战教程 · 完整学习路径 + 实战项目 + 面试题库 · 对标大模型应用开发工程师岗位 · 覆盖LangChain / LangGraph / Coze / Dify / MCP / skills / LLM / RAG / 提示词 · 企业级部署与微调 · 从0到企业级落地 + 从学习到上线项目 + 面试准备一体化
studioOpen-source control plane for your AI agents. Connect tools, hire agents, track every token and dollar