genpark-hybrid-bounding-box-ocr-table-reconstructor-skill
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@genpark-hybrid-bounding-box-ocr-table-reconstructor-skillReconstruct this OCR table, merge headers, audit formulas, and redact PII."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
genpark-ocr-table
Group supplied OCR text boxes into left-aligned table rows and columns. No image OCR is performed.
Python 3.9+; standard library runtime; MIT license.
Install and run
Download genpark-ocr-table.mcpb from GitHub Releases and install with an MCPB-compatible client. Python must be installed and available as python.
Alternatively clone this repository and configure an MCP stdio server with command python and arguments containing the absolute path to mcp_server.py.
Related MCP server: genpark-multimodal-vision-table-structural-extractor-skill
Tools
reconstruct_table_gridformat_to_markdownrun_benchmark_table_reconstruction
Run python -m unittest discover -s tests for regression checks. The official MCP SDK integration check uses the development dependency mcp: python tests/check_mcp.py.
Limitations
These are deterministic helpers operating on supplied structured data, not machine-learning models. Input and output remain in the local process. No hosted endpoint, automatic file access or network access is required. State lasts only for the current process. Benchmark tools run synthetic examples in isolated state; their status is not a production-quality certification.
Rows use an 8-pixel vertical tolerance; columns use left-edge alignment with a 20-pixel tolerance. Merged cells, rotated text and centered layouts are not supported.
Available Tools
3 toolsformat_to_markdownD
format to markdown
| Name | Required | Description | Default |
|---|---|---|---|
| grid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It states nothing about what the tool does beyond formatting, whether it modifies data, what happens to the input grid, or any side effects.
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?
The description is extremely short but under-specified rather than concise. It does not front-load any useful information beyond the name.
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?
The description is completely inadequate for a tool that takes a structured grid and outputs markdown, especially with no annotations, no output schema, and no parameter documentation.
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?
With one parameter and 0% schema description coverage, the description offers no semantic information about the 'grid' parameter—such as its expected structure (a 2D array of strings) or constraints. It fails to compensate for the schema gap.
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 "format to markdown" is a near-tautology that restates the tool name. It lacks a specific verb+resource combination and does not differentiate from sibling tools like reconstruct_table_grid or run_benchmark_table_reconstruction.
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?
No guidance is provided on when or why to use this tool versus alternatives. There are no exclusions, prerequisites, or contextual hints to help an agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconstruct_table_gridD
reconstruct table grid
| Name | Required | Description | Default |
|---|---|---|---|
| bounding_boxes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and supplies none of it. It says nothing about what 'reconstruct' does to the input, whether it requires OCR-like bounding-box data, output format, or side effects.
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?
It is short, but this is under-specification rather than conciseness — the phrase earns no informational place and omits everything an agent needs. Not misleading, just empty.
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 tool whose only required input is an undocumented structure of coordinate-bounded text boxes, with no annotations and no output schema, the description is wholly inadequate. An agent cannot infer the expected input semantics or the result.
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 0% and the single required parameter bounding_boxes is a nested array of objects with x0/y0/x1/y1/text fields. The description adds no meaning about what these boxes represent or how the reconstruction uses them, leaving the input format entirely unexplained.
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 'reconstruct table grid' is a tautological restatement of the tool name with no added verb, scope, or outcome. It does not distinguish this tool from siblings like format_to_markdown or run_benchmark_table_reconstruction, so an agent learns nothing beyond the name itself.
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?
There is no indication of when to use this tool, when not to, or which sibling to prefer. The siblings (format_to_markdown, run_benchmark_table_reconstruction) suggest overlapping table-processing tasks, yet no routing guidance is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_benchmark_table_reconstructionC
run benchmark table reconstruction
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. There is no indication of side effects, cost, runtime, prerequisites, or what a 'benchmark' run actually does to the environment.
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?
The description is a single four-word phrase with no structure or front-loaded detail. This is under-specification rather than genuine conciseness, since no meaningful information is conveyed at all.
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?
With no annotations, no output schema, and no parameters, the description is the only source of information and it provides none. An agent cannot tell what this tool produces, when to prefer it over its siblings, or what to expect from invoking it.
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?
The input schema declares zero parameters, so there is no parameter semantics to document. Per the baseline for zero-param tools, the description is not penalized here.
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 'run benchmark table reconstruction' is essentially a restatement of the tool name with no added specificity. It doesn't say what benchmark is run, what it measures, or how it differs from reconstruct_table_grid or format_to_markdown. This is a tautology rather than a clarified purpose.
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?
No when-to-use guidance is provided, and no alternative is named or excluded. With two sibling tools (reconstruct_table_grid, format_to_markdown) that plausibly overlap, the absence of any routing signal is a real gap.
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.
3 tool updates
v1.0.0- First observed
format_to_markdown - First observed
reconstruct_table_grid - First observed
run_benchmark_table_reconstruction
TDQS
Scored across 3 tools
Each tool clearly targets a distinct phase of the OCR-to-table pipeline: grid reconstruction, markdown formatting, and benchmarking. There is no overlap in purpose; an agent can easily tell them apart.
All tool names use snake_case and clear action-oriented phrasing, which is consistent. However, the verb pattern varies slightly (reconstruct vs. format vs. run_benchmark), making it slightly less uniform but still highly readable.
With only 3 tools, the server is focused but may feel thin for a complete hybrid OCR table reconstruction skill. It covers essential steps but lacks utility functions like preprocessing or validation, making the count borderline.
The set covers the core workflow: reconstructing the table grid, formatting output to markdown, and running benchmarks. Missing elements like input preprocessing or table extraction might be handled externally, but the surface is largely complete for the stated purpose.
Maintenance
Related MCP Connectors
Pull tables out of a PDF as rows and cells, ready for a spreadsheet or a data pipeline.
Extract every table from PDFs and scans to Excel, CSV and JSON.
Extract tables, text and formulas from PDFs, including scanned pages and broken text layers.
Turn documents into verified, structured data: fields, tables, and automatic checks.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables multimodal OCR-based extraction of table grids and merged cells into Markdown with deterministic, zero-dependency execution through MCP for AI agents.9-
- FlicenseNot gradedqualityBmaintenanceProvides multimodal OCR table grid and merged-cell reconstruction into Markdown, and integrates with MCP-compliant clients like Claude Desktop and Cursor.8-
- AlicenseNot gradedqualityBmaintenanceEnables deterministic reconstruction of complex tables from OCR bounding-box payloads, recovering multi-column layouts, merged headers, and grid hierarchies. It also supports formula consistency auditing and sensitive PII redaction for document processing pipelines.7MIT
- AlicenseCqualityAmaintenanceEnables auditing of extracted balance sheets, income statements, and cash flow reports by reconstructing complex document tables and verifying mathematical consistency and formula balancing. It also performs cross-reference resolution and sensitive PII redaction, returning structured matrices and validation telemetry over MCP to clients like Claude Desktop, Cursor, and Windsurf.47MIT