What Kookerella-Ltd/Kookerella.FsOpenXmlDsl MCP server does
Kookerella-Ltd/Kookerella.FsOpenXmlDsl MCP server gives an AI agent access to spreadsheet conversion operations built on a type-safe F# workbook model. It works with Excel Open XML workbooks and supports both ordinary .xlsx files and macro-enabled .xlsm files. The underlying library represents workbooks, worksheets, cells, styles, validations, hyperlinks, comments, protection, defined names, page setup, tables, sparklines, charts, images, and pivot tables.
The central use case is round-tripping. An existing workbook can be read into the DSL, then rendered as a new workbook or converted into source code. Generated F# and C# scripts are intended to reproduce an equivalent file, making the server useful for inspecting workbook structure or starting a maintainable programmatic transformation.
How it works
The library uses DocumentFormat.OpenXml to interpret the DSL as SpreadsheetML and to parse SpreadsheetML back into the DSL. The MCP layer exposes these transformations as named tools rather than requiring an agent to call the .NET library directly.
The available directions are:
generate_fsharp_script converts a workbook into self-contained F# source.
generate_csharp_script converts a workbook into C# source.
generate_xml serializes a workbook model to XML.
create_workbook_from_xml creates a workbook from XML.
generate_json serializes a workbook model to JSON.
create_workbook_from_json creates a workbook from JSON.
XML uses a paired schema that the library embeds and can load for validation. JSON covers the same workbook and worksheet feature set exposed by the XML surface, while its schema is used by the test suite rather than provided as a public validation API.
Setup and configuration
Kookerella-Ltd/Kookerella.FsOpenXmlDsl MCP server is distributed with the Kookerella.FsOpenXmlDsl.Mcp .NET tool. The documented installation command is:
dotnet tool install -g Kookerella.FsOpenXmlDsl.Mcp
The repository also provides the fsopenxmldsl-mcp command-line interface, including convert and build commands. For example, fsopenxmldsl-mcp convert your-file.xlsx --lang csharp converts a workbook to C# source. Self-contained builds are available from the project's Releases page for environments without a .NET installation. The supplied material does not specify environment variables or client-specific configuration.
Tools and capabilities
The server fits the π» Developer Tools category and is suited to workflows that need a structured representation of a spreadsheet rather than only cell-level edits. Its model includes workbook-level protection and defined names, sheet-level protection and print settings, and collections of tables, charts, images, sparklines, and pivot tables. It also models classic cell comments, which Excel now presents as Notes, plus conditional formatting and data validation.
The generated source can be extended with application data and executed to create a new workbook. XML is suitable for callers or pipelines that already operate on XML, including the documented XSLT-oriented workflow. JSON provides a plain data-tree alternative for callers that do not want to write F# or C#.
Limitations and notes
Feature fidelity depends on the mapping implemented by the library; the repository maintains a separate mapping document describing one-to-one mappings, approximations, and features not yet modeled. Modern threaded comments are not represented; the comments model covers classic comments or Notes. Macro-enabled files can carry raw vbaProject.bin data through the workbook model, but the material does not describe macro authoring or analysis tools. No MCP client compatibility list or environment-variable requirements are provided.