Skip to main content
Glama
dcol3
by dcol3

excel-live-mac

Live Excel MCP server for macOS — interact with running Excel instances in real time.

Unlike file-based tools (openpyxl) that work on saved files offline, this server talks to the live Excel app via the xlwings AppleScript bridge. Changes appear instantly in the spreadsheet you're looking at.

Features

  • 10 tools for reading, writing, and interacting with open Excel workbooks

  • Real-time updates — write data and watch it appear in Excel immediately

  • Formula support — write Excel formulas that calculate live

  • VBA macro execution — trigger existing macros from your AI agent

  • Selection awareness — read what the user currently has highlighted

  • Zero config — no API keys, no network, runs entirely local

Related MCP server: SheetForge MCP

Requirements

  • macOS (AppleScript bridge — not available on Windows/Linux)

  • Microsoft Excel installed

  • Python 3.10+

Installation

For Kiro IDE (as a Power)

Import from GitHub in the Kiro Powers panel:

https://github.com/dcol3/excel-live-mac

For any MCP client (via uvx)

uvx --from git+https://github.com/dcol3/excel-live-mac excel-live-mac

Or add to your MCP config:

{
  "mcpServers": {
    "excel-live-mac": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/dcol3/excel-live-mac", "excel-live-mac"],
      "disabled": false
    }
  }
}

Manual install

pip install excel-live-mac
excel-live-mac

macOS Permission

On first use, macOS will prompt you to allow your terminal to control Microsoft Excel.

Go to System Settings → Privacy & Security → Automation and ensure your terminal/IDE has permission to control Excel.

Tools

Tool

Description

excel_list_workbooks

List all open workbooks (name, path, sheets)

excel_get_sheet_names

Get sheet names from a workbook

excel_read_range

Read a cell range as a 2D array

excel_write_range

Write a 2D array (appears instantly)

excel_write_cell

Write a value or formula to one cell

excel_read_cell

Read one cell's value and formula

excel_open_workbook

Open a file in Excel

excel_save_workbook

Save the workbook

excel_run_macro

Execute a VBA macro

excel_get_selection

Get the current selection

Use Cases

  • Report generation — AI builds formatted spreadsheets while you watch

  • Financial modeling — populate budgets, forecasts, and scenario tables live

  • Data entry automation — read from databases, write directly into open workbooks

  • Interactive analysis — AI reads your current selection, computes, writes results back

Kiro Power

This repo includes a kiro_power/ directory with POWER.md, mcp.json, and steering files for use as a Kiro Power. When installed as a Power, Kiro's agent automatically knows when and how to use these tools based on keyword activation.

License

MIT

Available Tools

10 tools
excel_get_selectionB

Get info about the currently selected range in Excel (address, values, sheet).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose prerequisites (e.g., Excel must be open with a selection), side effects (none expected), or behavior when no selection exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no extraneous information. Front-loads the action and includes parenthetical detail. Every part is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool, the description covers the main outputs. However, it lacks details on the format of 'values' (e.g., array of arrays) and what happens if no selection or multiple selections.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema coverage is effectively 100%. The description adds value by listing the output fields (address, values, sheet) beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get info), resource (currently selected range), and specifies the types of info (address, values, sheet). It distinguishes from siblings like excel_read_range which requires a range parameter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like excel_read_range or excel_get_sheet_names. It is implied but not stated that this tool is for the current selection without specifying parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_get_sheet_namesA

Get all sheet names from an open workbook.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbookNoWorkbook name (or empty for active)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It states it works on an 'open workbook', implying the workbook must be already opened via other tools, but does not disclose behavior for invalid workbooks or error cases. It is accurate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence of 9 words that is efficient, front-loaded, and contains every word is necessary. No wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description is adequate but lacks details about the return format (e.g., list of strings) or error handling when no workbook is open. More context would improve agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with 'Workbook name (or empty for active)' for the single parameter. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Get all sheet names' and the resource 'from an open workbook', which is specific and distinguishes this tool from siblings like 'excel_get_selection' and 'excel_list_workbooks'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as when to use 'excel_list_workbooks' instead. The description only states what it does without any context on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_list_workbooksA

List all currently open workbooks in Excel. Shows name, path, and sheet count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It correctly indicates a read-only listing operation. However, it does not clarify what happens if no workbooks are open (empty list vs. error) or that Excel must be open, which are relevant behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that immediately conveys the action and output. Every word is functional, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is largely complete. It covers the listing action and the data returned. However, it lacks error handling details (e.g., if Excel is not running) which would be beneficial for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the description adds value by specifying the output fields (name, path, sheet count). This provides meaning beyond the empty input schema. Baseline for zero parameters is 4, and the description meets that expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and resource 'workbooks', clearly stating that it lists open workbooks and shows name, path, and sheet count. This differentiates it from sibling tools like excel_get_sheet_names (lists sheets) and excel_open_workbook (opens a workbook).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when the agent needs to know which workbooks are currently open in Excel. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites (e.g., Excel must be running).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_open_workbookB

Open a workbook file in Excel. Launches Excel if not running.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to .xlsx/.xlsm/.xls file

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the behavioral burden. It discloses the side effect 'Launches Excel if not running,' but it fails to mention other important behaviors such as what happens if the file is already open, error handling for missing files, or whether the workbook becomes the active window.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two succinct sentences. It is front-loaded with the primary action and adds the key side effect in the second sentence with no unnecessary wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the schema fully describes the parameter, the description lacks crucial context such as what the tool returns (if anything), how it relates to sibling tools (e.g., after opening, use other tools to manipulate the workbook), and error handling. This incompleteness can confuse an agent about the workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage for the single parameter 'file_path' is 100%, fully describing it as an absolute path to .xlsx/.xlsm/.xls files. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Open a workbook file') and the resource ('workbook file'). It also mentions the side effect of launching Excel if not running. Among sibling tools like excel_read_cell and excel_save_workbook, this tool's purpose is distinct and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives, such as excel_list_workbooks for already opened files or excel_save_workbook for saving. There is no mention of prerequisites (e.g., ensure file exists) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_read_cellB

Read the value of a single cell.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbookNo
sheetNo
cellYesCell address like 'B5'

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions 'read' (non-mutating) but lacks specifics on return format (value, formula, error handling) and prerequisites (e.g., open workbook).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, entirely front-loaded. Every word is necessary; no extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 10 sibling tools, the description is too minimal. It omits return type, error conditions, and dependency on an open workbook. A simple operation but missing useful context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 33%, with only 'cell' having a description. The description does not elaborate on 'workbook' or 'sheet' parameters, failing to compensate for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read the value of a single cell,' providing a specific verb and resource. It distinguishes from sibling excel_read_range which reads multiple cells.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like excel_read_range or excel_get_selection. Usage context is implied by the name and minimal description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_read_rangeA

Read a range from an open workbook. Returns cell values as a 2D array.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbookNoWorkbook name (or empty for active)
sheetNoSheet name (or empty for active sheet)
rangeYesCell range like 'A1:D20', 'B:B', or 'A1'
expandNoAuto-expand to contiguous data region from top-left cell

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. Mentions 'open workbook' as prerequisite and that it's read-only (returns values). Discloses output format but lacks details on error handling, locks, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero wasted words. Front-loaded with action and output. Efficiently communicates core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read tool with 4 params and no output schema, description adequately covers input (range, workbook, sheet, expand) and output (2D array). Could mention that active workbook/sheet is used when empty, but that's in schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters (100%). Description adds value by specifying output format (2D array) and purpose of 'expand' parameter (auto-expand to contiguous data). Exceeds baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states action ('Read'), resource ('range from an open workbook'), and output ('Returns cell values as a 2D array'). Distinguishes from siblings like excel_read_cell (single cell) and excel_write_range (write).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when or when not to use this tool versus alternatives. Usage is implied by the tool's purpose, but no exclusions or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_run_macroB

Run a VBA macro in the active workbook. Macro must already exist in the workbook.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbookNo
macroYesMacro name (e.g. 'Sheet1.MyMacro' or just 'MyMacro')
argsNoArguments to pass to the macro

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses minimal behavior: it runs a macro that must exist. Missing critical context like security implications, side effects, error handling, or that it might modify the workbook.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very short (two sentences) with no wasted words. However, it could benefit from more information without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and the complexity of running macros (which can affect workbook state and security), the description is insufficiently complete. It omits return value, error conditions, and prerequisites beyond existence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, but description adds no new meaning beyond schema. It states 'active workbook' but schema includes a 'workbook' parameter, introducing potential confusion. The description does not clarify the purpose of each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Run' and the resource 'VBA macro in the active workbook'. It distinguishes this tool from sibling Excel tools which handle selection, reading, writing, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for running macros and includes a prerequisite ('Macro must already exist'), but provides no guidance on when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_save_workbookB

Save the specified (or active) workbook.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbookNoWorkbook name (or empty for active)
pathNoSave-as path (empty = save in place)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must fully disclose behavior. It does not mention overwrite behavior, error handling, or whether the workbook is saved in place or as a copy. 'Save' implies mutation but lacks key details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words. Front-loaded with verb and resource. Slightly more context (e.g., overwrite behavior) would not hurt conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two optional parameters and no output schema, the description is adequate. However, it lacks behavioral hints like overwrite confirmation or file creation behavior that would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying that empty workbook means active and empty path means save in place. This directly addresses ambiguity in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool saves a workbook, specifying it can be the active or named workbook. This is distinct from sibling tools which are for opening, reading, writing, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for using the path parameter. The description is purely functional.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_write_cellA

Write a single value to a specific cell. Change appears immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbookNo
sheetNo
cellYesCell address like 'B5'
valueYesValue to write (string, number, or formula starting with =)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full behavioral burden. It adds that the change appears immediately, which is useful, but does not disclose overwrite behavior (destructive), permissions, or undo capabilities. The schema already hints at formula support in 'value' description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The purpose and an immediate behavioral trait are front-loaded. Highly concise and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no output schema, and no annotations, the description is minimal. It lacks details on prerequisites (e.g., workbook must be open), overwrite behavior, and return value. An agent would need to infer or guess critical usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only 'cell' and 'value' have descriptions). The description does not add meaning for the undocumented parameters 'workbook' and 'sheet', nor does it clarify their role or defaults. No parameter semantics beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'write' and resource 'cell', specifies 'single value', and adds 'change appears immediately.' This distinguishes it from sibling tools like excel_write_range (writes multiple cells) and excel_read_cell (reads).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for single cell writes but does not explicitly mention when to use alternatives like excel_write_range for multiple cells or excel_read_cell for checking existing values. No 'when not to use' guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

excel_write_rangeB

Write a 2D array of data to a range in an open workbook. Changes appear immediately in Excel.

ParametersJSON Schema
NameRequiredDescriptionDefault
workbookNoWorkbook name (or empty for active)
sheetNoSheet name (or empty for active sheet)
rangeYesTop-left cell to start writing, e.g. 'A1' or 'B5'
dataYes2D array of values (rows of columns)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry full behavioral transparency. It only states 'Changes appear immediately in Excel.' It does not disclose destructive behavior (overwriting), error conditions (invalid range, missing workbook), or data type handling. This is insufficient for safe agent use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient with two sentences. The first sentence states purpose, the second adds a key behavioral note. No extraneous content, but could be more informative without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (writing to Excel), the description is somewhat sparse. It lacks context on error states, data type expectations, and limits. However, it provides a clear core purpose and immediate effect, meeting minimum viability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are described in the schema (100% coverage). The tool description does not add additional meaning beyond '2D array of data to a range'. No examples or constraints are provided. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Write a 2D array of data') and the resource ('to a range in an open workbook'), with a behavioral note. It distinguishes from siblings like excel_read_range and excel_write_cell.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or when-not scenarios. For instance, it doesn't clarify that the workbook must already be open or when to use excel_write_cell instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv0.1.0
    • First observedexcel_get_selection
    • First observedexcel_get_sheet_names
    • First observedexcel_list_workbooks
    • First observedexcel_open_workbook
    • First observedexcel_read_cell
    • First observedexcel_read_range
    • First observedexcel_run_macro
    • First observedexcel_save_workbook
    • First observedexcel_write_cell
    • First observedexcel_write_range

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct action: reading/writing cells vs ranges, listing sheets, managing workbooks, running macros. No overlapping purposes; descriptions clearly differentiate them.

Naming Consistency5/5

All tools share the 'excel_' prefix and follow a consistent verb_noun pattern (e.g., read_cell, write_range, open_workbook), making it easy to infer functionality.

Tool Count5/5

With 10 tools, the server covers essential Excel operations without being bloated or sparse. Each tool serves a clear need.

Completeness3/5

Basic CRUD on cells/ranges and workbook listing/saving are covered, but missing features like creating workbooks, managing sheets, closing workbooks, or formatting leave notable gaps for full automation.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for manipulating Excel files that features a headless engine for real-time formula calculation and data validation. It enables users to create, read, and manage workbooks, sheets, and charts without requiring Microsoft Excel installed.
    57
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Local-first Excel MCP server for AI agents enabling structured reads, workbook introspection, and safer .xlsx mutation without Microsoft Excel or LibreOffice.
    78
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Excel-compatible formula evaluation and workbook operations, enabling agents to open, inspect, mutate, recalculate, and save .xlsx files in-memory over stdio.
    83
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides full read and write access to Excel workbooks (sheets, cell ranges, tables, formulas, formatting, and cross-workbook references) via MCP, running locally or as an HTTP/SSE service.
    70
    MIT

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/dcol3/excel-live-mac'

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