extract_table
Extract HTML or markdown tables into JSON rows.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | HTML or table content |
Extract HTML or markdown tables into JSON rows.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | HTML or table content |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It states the core transformation but does not disclose how malformed or partial HTML/markdown is handled, whether multiple tables are supported, how rows are structured, or whether the operation is purely non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise, front-loaded sentence communicates the essential operation and output. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description gives a minimally viable contract: input format and output concept. However, it lacks detail on result shape (e.g., array of row objects), error behavior, and handling of edge cases, so it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single 'html' parameter is described as 'HTML or table content'. The description adds 'markdown tables' which is a useful clarification, but it does not meaningfully extend the schema's parameter semantics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('extract'), identifies the resource ('HTML or markdown tables'), and states the output ('JSON rows'). This clearly distinguishes it from sibling tools like parse_invoice or normalize_data without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: call this when you have HTML or markdown tables to convert to JSON rows. However, there is no explicit guidance about when not to use it, no alternative sibling routing, and no mention of prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
There is meaningful overlap between parse_invoice, structure_text, and normalize_data, especially since structure_text and normalize_data both target the same schemas and parse_invoice is a more specific version of structure_text for invoices. extract_table, get_schema, and validate_structure are distinct, but the unstructured-text-to-schema tools have unclear boundaries.
All tool names follow a consistent verb_noun snake_case pattern: extract_table, get_schema, normalize_data, parse_invoice, structure_text, validate_structure. This makes the tool set predictable and easy to navigate.
Six tools is a well-scoped size for a data structuring and validation server. Each tool addresses a meaningful step in the pipeline without excessive redundancy or unnecessary surface area.
The core workflow of extracting, normalizing, and validating structured data is covered, with schema discovery available. The main gap is the lack of a way to create or modify custom schemas, but the curated-schema approach makes this a minor limitation rather than a critical failure.