Skip to main content
Glama
Kookerella-Ltd

Excel MCP Server (FsOpenXmlDsl)

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
generate_fsharp_scriptA

Reads an existing Excel workbook and returns a self-contained F# script (using Kookerella.FsOpenXmlDsl) that rebuilds an equivalent file when run via dotnet fsi. Useful for explaining how a file is structured, or as a starting point for a caller who wants the library's full feature set (styling, tables, charts, pivot tables, etc.) beyond what create_workbook exposes.

generate_json_schemaA

Returns the raw JSON Schema (Json.schema.json) that generate_json's output and create_workbook_from_json's input both conform to. Meant for a caller authoring JSON by hand or by a generation script who wants real schema validation/autocomplete in their own editor or pipeline, rather than reverse-engineering the shape from a generate_json example. This schema isn't validated against at runtime by the core library itself the way Xml.xsd is (JSON Schema has no .NET-built-in equivalent to System.Xml.Schema, so wiring that up would mean adding a runtime dependency - JsonSchema.Net - to every consumer of the core library just for this) - it's bundled here, in the Mcp tool specifically, purely to hand back on request.

generate_csharp_scriptA

Reads an existing Excel workbook and returns a self-contained C# file (using Kookerella.CsOpenXmlDsl) that rebuilds an equivalent file when run via dotnet run <file>.cs (.NET 10's file-based apps feature - no .csproj needed). The C# equivalent of generate_fsharp_script, for a caller who wants pasteable/runnable C# rather than F# - useful for explaining how a file is structured, or as a starting point for the wrapper's fluent API (styling, tables, charts, pivot tables, sparklines, conditional formatting, data validation, hyperlinks, comments, print settings, defined names, protection, etc. - Kookerella.CsOpenXmlDsl now covers the same worksheet/workbook-level feature set as generate_fsharp_script's own Kookerella.FsOpenXmlDsl) beyond what create_workbook exposes.

create_workbook_from_jsonA

Builds a new Excel workbook from JSON matching the shape generate_json produces (see the main library repo's Json.schema.json) and saves it to disk - the inverse of generate_json. The JSON-side equivalent of create_workbook_from_xml, for a caller that already produces data as JSON and wants to reach Excel without learning the OOXML schema or this library's own F#/C# API. Covers the same worksheet/workbook-level feature set generate_json does; unlike create_workbook, this isn't limited to plain cell values - styling, tables, charts, and every other modeled feature can be expressed in the JSON.

generate_jsonA

Reads an existing Excel workbook and returns it as JSON. The JSON-side equivalent of generate_xml, for a caller whose tooling speaks JSON rather than XML - same use cases (inspect, transform, or archive a workbook's structure without any F#/C# source involved) and the same worksheet/workbook- level feature set. Unlike generate_xml, there's no runtime JSON Schema validation built into the core library itself (see generate_json_schema's own doc string for why) - but generate_json_schema still returns the documented shape this produces.

create_workbook_from_xmlA

Builds a new Excel workbook from XML matching Kookerella.FsOpenXmlDsl's own embedded schema (Xml.xsd) and saves it to disk - the inverse of generate_xml. The natural target for a caller that already produces data as XML (e.g. an XSLT pipeline generating a report) and wants to reach Excel without learning the OOXML schema or this library's own F#/C# API. Covers the same worksheet/workbook-level feature set generate_xml does; unlike create_workbook, this isn't limited to plain cell values - styling, tables, charts, and every other modeled feature can be expressed in the XML.

generate_xmlA

Reads an existing Excel workbook and returns it as XML, validated against Kookerella.FsOpenXmlDsl's own embedded schema (Xml.xsd). A plain-data alternative to generate_fsharp_script/generate_csharp_script for a caller who wants to inspect, transform (e.g. via XSLT), or archive a workbook's structure without any F#/C# source involved - unlike those two, this returns data, not a runnable script, so there is no output-filename parameter to control what a rebuild saves as. Covers the same worksheet/workbook-level feature set generate_fsharp_script does.

generate_xml_schemaA

Returns the raw XSD (Xml.xsd) that generate_xml's output and create_workbook_from_xml's input both conform to. Meant for a caller authoring XML by hand or by transform (e.g. an XSLT stylesheet) who wants real schema validation/autocomplete in their own editor or pipeline, rather than reverse- engineering the shape from a generate_xml example.

read_workbookA

Reads an existing Excel workbook (.xlsx/.xlsm) and returns its sheets and cell contents as JSON. Formula cells are rendered as "=expression" (matching create_workbook's input convention), with any cached value included separately under CachedValue. Features outside the core cell model (charts, tables, pivot tables, styling, etc.) are not included in this output - see MAPPING.md in the main library repo for the full list of what round-trips.

create_workbookA

Creates a new Excel workbook (.xlsx) from a simple grid of sheets/rows/cells and saves it to disk. Each cell is given as plain text, the same way you'd type it into Excel: a leading '=' makes it a formula (e.g. "=SUM(A1:A2)"), 'true'/'false' makes a boolean, a bare number is numeric, and anything else is text. Rows don't need to be the same length. Does not support cell styling, tables, charts, or pivot tables in this version - reference the Kookerella.FsOpenXmlDsl library directly for those.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kookerella-Ltd/Kookerella.FsOpenXmlDsl'

If you have feedback or need assistance with the MCP directory API, please join our Discord server