Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Inicia sesión con Google para escribir reseñas.Prototipo · se actualiza cada 30 min
PopNx MCPServidores MCP para quienes usan IA · en palabras sencillas

MCP Server Spreadsheet

de marekrostversión 0.3.3i★ 2iSe ejecuta en tu computadora
Nombre en el registroio.github.marekrost/mcp-server-spreadsheet

Cómo instalar

What it does

MCP server for spreadsheet files (.xlsx, .csv, .ods) - cell-level ops + DuckDB SQL engine.

  • Connects Se ejecuta en tu computadora
  • Account or key No key needed
  • Category Documentos, hojas de cálculo y oficina

Instalación

Elige la app de IA que usas y copia la configuración.

Pasó 3/3 revisiones · Funciona en tu computadora · ✓ Comandos revisados el 14 nov 2026

Primero: ¿qué IA usas?

Elige tu app y los pasos aparecen abajo.

Funciona con Claude, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil

Que la IA lo instale

Copia este mensaje en un chat de Claude. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server MCP Server Spreadsheet para Claude en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "spreadsheet": { "command": "uvx", "args": [ "mcp-server-spreadsheet" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de MCP Server Spreadsheet aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre el archivo de configuración de la app de Claude de escritorio

    SettingsDeveloperEdit Config

  3. Pega esta configuración y guarda el archivo

    {
      "mcpServers": {
        "spreadsheet": {
          "command": "uvx",
          "args": [
            "mcp-server-spreadsheet"
          ]
        }
      }
    }
  4. Cierra Claude y vuelve a abrirlo

  5. Pruébalo

    Usa MCP Server Spreadsheet y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude dice que está usando MCP Server Spreadsheet o muestra una herramienta de MCP Server Spreadsheet en la respuesta, ya está conectado

1 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • MCP_SPREADSHEET_ROOT Optional. Absolute path to a directory; all tool path arguments are restricted to this tree. Unset = no restriction.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

ChatGPT todavía no puede conectar MCP Server Spreadsheet

MCP Server Spreadsheet se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web

Lo que puedes hacer en su lugar

A · Usa una app que pueda conectar MCP Server Spreadsheet

  • Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
  • Instala Python (uv) en tu computadora primero (una sola vez)
  • Instala Python (uv) en tu computadora primero (una sola vez)
  • Instala Python (uv) en tu computadora primero (una sola vez)

B · Otros en Documentos, hojas de cálculo y oficina que funcionan con ChatGPT

Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave

Funciona con Claude Code, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de Claude Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server MCP Server Spreadsheet para Claude Code en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): claude mcp add --scope user spreadsheet -- uvx mcp-server-spreadsheet 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de MCP Server Spreadsheet aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Abre la Terminal

    Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell

  3. Pega este comando y pulsa Enter

    claude mcp add --scope user spreadsheet -- uvx mcp-server-spreadsheet
  4. Escribe /mcp en Claude Code

    Deberías ver MCP Server Spreadsheet en la lista como conectado

  5. Pruébalo

    Usa MCP Server Spreadsheet y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude Code dice que está usando MCP Server Spreadsheet o muestra una herramienta de MCP Server Spreadsheet en la respuesta, ya está conectado

1 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • MCP_SPREADSHEET_ROOT Optional. Absolute path to a directory; all tool path arguments are restricted to this tree. Unset = no restriction.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con Cursor, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de Cursor. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server MCP Server Spreadsheet para Cursor en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "spreadsheet": { "command": "uvx", "args": [ "mcp-server-spreadsheet" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de MCP Server Spreadsheet aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Pulsa este botón para abrir Cursor

    Abrir en Cursor

    Cursor te pedirá confirmar; pulsa Install

  3. Abre el chat de IA de Cursor en modo Agent

  4. Pruébalo

    Usa MCP Server Spreadsheet y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Cursor dice que está usando MCP Server Spreadsheet o muestra una herramienta de MCP Server Spreadsheet en la respuesta, ya está conectado

1 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • MCP_SPREADSHEET_ROOT Optional. Absolute path to a directory; all tool path arguments are restricted to this tree. Unset = no restriction.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con VS Code, pero hay que preparar algo antes

Instala Python (uv) en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de VS Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server MCP Server Spreadsheet para VS Code en este equipo, en este orden: 1) Comprueba uv con uv --version. Si falta, dime que lo instale desde https://docs.astral.sh/uv/getting-started/installation/; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "servers": { "spreadsheet": { "type": "stdio", "command": "uvx", "args": [ "mcp-server-spreadsheet" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de MCP Server Spreadsheet aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala uv (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    uv --version
    • Aparece un número de versión, p. ej. uv … = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: uv no tiene instalador de clics. Copia el comando de una línea para tu sistema (macOS o Windows) desde la página oficial de uv y pégalo en la Terminal · no hace falta instalar Python aparte; uv lo descarga cuando lo necesita

    Abrir la página de descarga de uv ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: uv --version

    Se instala una vez y sirve para todo lo que usa uv

  2. Pulsa este botón para abrir VS Code

    Abrir en VS Code

    VS Code te pedirá confirmar; pulsa Install

  3. Abre el chat de IA de VS Code en modo Agent

  4. Pruébalo

    Usa MCP Server Spreadsheet y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si VS Code dice que está usando MCP Server Spreadsheet o muestra una herramienta de MCP Server Spreadsheet en la respuesta, ya está conectado

1 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • MCP_SPREADSHEET_ROOT Optional. Absolute path to a directory; all tool path arguments are restricted to this tree. Unset = no restriction.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps

Ver todas las apps que usan MCP →

La configuración JSON está en “Para desarrolladores”, abajo

¿Te atascaste? Pregunta a quien usa MCP Server Spreadsheet💬 Conversación →
Para desarrolladores: comandos de Terminal y configuración JSON

Instalado en tu computadora

Claude Code

claude mcp add --scope user spreadsheet -- uvx mcp-server-spreadsheet

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "spreadsheet": {
      "command": "uvx",
      "args": [
        "mcp-server-spreadsheet"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "spreadsheet": {
      "command": "uvx",
      "args": [
        "mcp-server-spreadsheet"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "spreadsheet": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-spreadsheet"
      ]
    }
  }
}

Valores que debes completar

  • MCP_SPREADSHEET_ROOT env
    Optional. Absolute path to a directory; all tool path arguments are restricted to this tree. Unset = no restriction.

Las descripciones siguen en el inglés original.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

De un vistazo

Descargas por semanai
59/sem
Conexión
Se ejecuta en tu computadora
Última versióni
0.3.3
Publicado en el registroi
11 ago 2026
Último cambio de códigoi
11 ago 2026
Creador
marekrost
Paquetes
pypi: mcp-server-spreadsheet
Estado en el registro
Activo

Qué apps pueden usarlo

Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.

Se ejecutan en tu computadora en

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Todas las apps, con ventajas y desventajas →

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 15 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub marekrost, dueña del repo

  • ✓ Superada

    Sigue en mantenimiento

    Último cambio de código: hace 3 meses

  • ✓ Superada

    Tiene licencia

    Usa MIT

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Vulnerabilidades publicadas (OSV.dev)

Aún no revisado

Qué revisamos → · JSON

Creadores: pedir otra revisión o avisar de un dato erróneo

Conversación

Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.

Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.

Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.

Inicia sesión con Google para publicar

Reseñas de usuarios

Aún no hay reseñas

Inicia sesión con Google para escribir una reseña

Comparado con otros en Documentos, hojas de cálculo y oficinai

  • Más estrellas que el 86% de los otros 3932 servidores de esta categoría
  • Publicado en el registro más recientemente que el 21% de los otros 3932 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 3932 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro MCP Server Spreadsheet?

Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez hace 3 meses, y la última versión (0.3.3) llegó al registro hace 3 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Puter MCP, XcodeBuildMCP, Anki MCP Server, Sosumi, Zapier

Alternativas parecidas

Misma categoría, otros creadores, comandos ya revisados. Primero los oficiales, luego por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Puter MCP

Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more

de HeyPuterMuy usado★ 44,2 milActualizado hace 5 meses

Se ejecuta en la nube✓ del servicio · puter.com

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

de getsentryMuy usado↓ 130,5 mil/sem paquete compartido★ 6,6 milActualizado hace 4 meses

Se ejecuta en tu computadora✓ del servicio · xcodebuildmcp.com

Anki MCP Server

MCP server for Anki flashcards: adaptive review, notes, media, and deck management via AnkiConnect.

de ankimcpEn crecimiento↓ 1,1 mil/sem★ 558Actualizado hace 41 días

Se ejecuta en tu computadora✓ del servicio · ankimcp.ai

Sosumi

Search and read Apple developer documentation, HIG, and WWDC transcripts as Markdown.

de NSHipsterEn crecimiento★ 492Actualizado hace 6 días

Se ejecuta en la nube✓ del servicio · sosumi.ai

Zapier

Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.

de zapierEn crecimiento★ 459Actualizado hace 4 meses

Se ejecuta en la nube✓ del servicio · zapier.com
  • Puter MCP — Funciona en la nube, sin instalar nada · Sin clave
  • XcodeBuildMCP — Se instala en tu equipo · Sin clave
  • Anki MCP Server — Se instala en tu equipo · Sin clave
  • Sosumi — Funciona en la nube, sin instalar nada · Sin clave
  • Zapier — Funciona en la nube, sin instalar nada · Sin clave · En el directorio de Claude

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

mcp-server-spreadsheet

mcp-name: io.github.marekrost/mcp-server-spreadsheet

Data-first MCP server for reading and writing spreadsheet files (.xlsx, .csv, .ods).

Key features

  • Multi-format — works with Excel (.xlsx), CSV (.csv), and OpenDocument (.ods) files through a unified tool interface.
  • Dual mode — cell-level workbook operations and a DuckDB-powered SQL query engine, interleaved freely on the same file.
  • Workbook essentials — worksheets, rows, columns, cells, search.
  • Data-only — preserves existing formatting but only reads and writes values.
  • Stateless — every call specifies file and sheet explicitly; no handles or sessions.
  • Atomic saves — writes go to a temp file, then os.replace() into the target path.
  • Type coercion on write — numeric strings become numbers, everything else is text.
  • SQL across sheets — JOINs, GROUP BY, aggregates, subqueries via in-memory DuckDB; mutations write back to the file.
  • CSV as single-sheet workbook — CSV files are treated as a workbook with one sheet named default.

Requirements

  • Python 3.10+

Installation

From PyPI (recommended)

No local checkout needed — just configure your MCP client (see below).

From source (for development)
git clone https://github.com/marekrost/mcp-server-spreadsheet.git

cd mcp-server-spreadsheet uv sync

Usage

Claude Desktop

Add to your claude_desktop_config.json:

Using PyPI (recommended):

{

"mcpServers": { "mcp-server-spreadsheet": { "command": "uvx", "args": ["mcp-server-spreadsheet"] } } }

Using local source:

{

"mcpServers": { "mcp-server-spreadsheet": { "command": "uv", "args": ["run", "--directory", "/path/to/mcp-server-spreadsheet", "main.py"] } } }

Claude Code

Add to your .mcp.json:

Using PyPI (recommended):

{

"mcpServers": { "mcp-server-spreadsheet": { "command": "uvx", "args": ["mcp-server-spreadsheet"] } } }

Using local source:

{

"mcpServers": { "mcp-server-spreadsheet": { "command": "uv", "args": ["run", "--directory", "/path/to/mcp-server-spreadsheet", "main.py"] } } }

Standalone (stdio transport)
# PyPI

uvx mcp-server-spreadsheet

Local source

uv run main.py

Restricting file access to a directory (optional)

Set MCP_SPREADSHEET_ROOT to confine all path arguments to a single directory tree. Paths outside it are rejected with a clear error returned to the agent.

{

"mcpServers": { "mcp-server-spreadsheet": { "command": "uvx", "args": ["mcp-server-spreadsheet"], "env": { "MCP_SPREADSHEET_ROOT": "/home/me/spreadsheets" } } } }

Unset (the default), any path the server process can access is allowed.

Format notes

FormatSheetsFormulasTypes
.xlsxMultiplePreserved as stringsNative (int, float, date, bool)
.odsMultipleNot preservedNative (int, float, date, bool)
.csvSingle (default)N/AInferred on load (int, float, text)

Sheet management tools (add_sheet, delete_sheet, copy_sheet) raise an error for CSV files.

Tools

Workbook Operations
ToolDescription
list_workbooksList all spreadsheet files in a directory (non-recursive)
create_workbook_fileCreate a new empty spreadsheet file (format by extension)
copy_workbookCopy an existing file to a new path
Sheet Operations
ToolDescription
list_sheetsList all sheet names in a workbook
add_sheetAdd a new sheet (optional name and position)
rename_sheetRename an existing sheet
delete_sheetDelete a sheet by name
copy_sheetDuplicate a sheet within a workbook (optional new name and position)
Reading Data
ToolDescription
read_sheetRead entire sheet as rows (optional row/column bounds)
read_cellRead a single cell value, e.g. B3
read_rangeRead a rectangular range, e.g. A1:D10
get_sheet_dimensionsGet row and column count of the used range
Writing Data
ToolDescription
write_cellWrite a value to a single cell
write_rangeWrite a 2D array starting at a given cell
append_rowsAppend rows after the last used row
insert_rowsInsert blank or pre-filled rows at a position (shifts rows down)
delete_rowsDelete rows by index (shifts rows up)
clear_rangeClear values in a range without removing rows/columns
copy_rangeCopy a block of cells to another location (optionally to a different sheet)
Column Operations
ToolDescription
insert_columnsInsert blank columns at a position
delete_columnsDelete columns by index
Search
ToolDescription
search_sheetSearch for a value or regex pattern, returns matching cell references
Table Mode (SQL)
ToolDescription
describe_tableInspect column names, inferred types, row count, and sample values
sql_queryExecute a read-only SQL SELECT (supports JOINs across sheets, GROUP BY, aggregates, subqueries)
sql_executeExecute INSERT INTO, UPDATE, or DELETE FROM — writes changes back to the file

SQL examples:

-- Filter and sort

SELECT name, revenue FROM Sales WHERE status = 'Active' ORDER BY revenue DESC LIMIT 20

-- Cross-sheet JOIN SELECT o.order_id, c.name FROM Orders o JOIN Customers c ON o.customer_id = c.id

-- Aggregate SELECT department, COUNT(*) AS n, AVG(salary) AS avg FROM Employees GROUP BY department

-- Mutate UPDATE Sales SET status = 'Closed' WHERE quarter = 'Q1' AND revenue < 1000 DELETE FROM Logs WHERE date < '2024-01-01'

Sheet names with spaces must be quoted: SELECT * FROM "Q1 Sales".

Sheets whose table doesn't start at row 1

All three SQL tools accept header_row and data_start_row. Each can be an int (applied to every sheet) or a {sheet_name: row} mapping (sheets not listed fall back to the default). Use header_row when column titles live below row 1, and data_start_row when extra rows (e.g. a units row) sit between the header and the data.

# Header on row 3, data follows immediately

sql_query(file, 'SELECT * FROM "People"', header_row=3)

Mixed workbook: People headers at row 3, Orders header at row 1 with a

units row at row 2.

sql_query( file, 'SELECT * FROM "Orders" o JOIN "People" p ON o.name = p.name', header_row={"People": 3, "Orders": 1}, data_start_row={"Orders": 3}, )

sql_execute preserves rows above header_row when writing changes back.

Running tests

uv sync --group dev

uv run pytest

Every tool is exercised against .xlsx, .csv, and .ods fixtures generated into a temp directory.

Common Parameters

Every sheet-level tool accepts:

ParameterRequiredDescription
fileyesPath to the spreadsheet file (.xlsx, .csv, or .ods)
sheetnoSheet name. Defaults to the first sheet in the workbook

All row/column indices are 1-based. Cell references use A1 notation (A1, $B$2).