Skip to main content
Glama
OpenPyXL MCP Server

OpenPyXL MCP Server

by jonemo

get_cell_value

Retrieve the raw value from a specific Excel cell by providing the workbook path, sheet name, and cell reference for quick data inspection.

Instructions

Get the raw value of a single cell in a workbook.

Args: filepath: The path to the Excel workbook. For example, "~/Downloads/test.xlsx" or "C:\myfolder\myfile.xlsx". If only a filename is provided, the file will be searched for in the Desktop and Downloads folders. sheet_name: The name of the sheet to get the value from. cell_name: The name of the cell to get the value from. For example, "A1", "B2", "R5987".

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "filepath": "<filepath>",
      "sheet_name": "<sheet_name>",
      "cell_name": "<cell_name>"
    },
    "name": "get_cell_value"
  }
}

Input Schema

NameRequiredDescriptionDefault
filepathYes
cell_nameYes
sheet_nameYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior3/5

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

There are no annotations, so the description carries the full behavioral burden. It usefully discloses the filename-only fallback (searches Desktop and Downloads), but it leaves important behavior unstated, notably whether 'raw value' means the formula text or the computed result, and what happens when the sheet or cell does not exist. The output schema removes the need to describe return shape.

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 purpose sentence is front-loaded, and the Args block is compact, with each line contributing a concrete example or rule. Slight redundancy in restating that each argument is 'the name of the sheet/cell' keeps it from a 5.

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?

This is a simple three-parameter read tool with an output schema, and the parameters plus filepath resolution are well covered. The only meaningful gap is the ambiguity of 'raw value' for formula cells, which an agent would want clarified before calling.

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 description coverage is 0%, so the description must compensate, and it does: all three parameters are documented with concrete examples ('~/Downloads/test.xlsx', 'A1', 'R5987') and the filepath resolution fallback is explained. This adds real meaning beyond the bare property titles.

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 gives a specific verb and resource: 'Get the raw value of a single cell in a workbook.' The word 'raw' and the single-cell scope implicitly separate it from siblings such as get_values_of_cell_range and get_cell_details, but no sibling is named explicitly, so the differentiation is left to inference.

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?

Usage is only implied: the single-cell framing suggests this tool is for one cell and get_values_of_cell_range is for many, but the description never states when to prefer it over get_cell_details or the range/list variants. No exclusions or preconditions are given.

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