Skip to main content
Glama
cholhwanjung

Claude Desktop Research MCP Server

by cholhwanjung

extract_paper_tables

Extract tables from academic PDFs by cropping captioned regions and save them as PNG images in a vault directory.

Instructions

캐시된 PDF에서 caption 기준 영역 crop으로 table을 vault에 저장 (ADR-018).

저장 위치: vault/papers/<slug>/tables/table_<n>.png. 각 table은 caption + 그 아래 일정 영역을 raster로 렌더해 1 PNG에 보존 (table 본체는 PDF 내부 vector text라 sub-image 분리가 불가능 — 영역 crop이 유일한 방법).

Args: paper_id: arXiv ID. slug: vault 디렉토리명. 비우면 arxiv_id 사용.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paper_idYes
slugNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/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 discloses that the tool saves to vault, uses region crop, captures caption+area, notes the impossibility of sub-image separation due to vector text, and specifies the naming convention. This provides substantial behavioral context.

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

Conciseness3/5

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

The description includes technical details like ADR-018 and a thorough explanation of the extraction limitation, which adds length. It is structured with bullet points for args, but could be more concise by moving some technical rationale to a note.

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 complexity (PDF extraction, vault storage) and the presence of an output schema, the description covers storage location, method, limitation, and parameter semantics. It addresses the essential aspects for an agent to use the tool correctly.

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 0%, so the description must compensate. It does: paper_id is explained as arXiv ID, slug as vault directory name with default use of arxiv_id. This adds meaning beyond the schema, though the description does not explicitly mention that slug is optional.

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 tool extracts tables from cached PDFs based on captions, saves them as PNGs to the vault, and specifies the storage location. It distinguishes from siblings like extract_paper_figures by mentioning the specific method (region crop) and technical limitation (vector text).

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 extracting tables from cached papers but does not explicitly state when to use this tool versus alternatives like extract_paper_figures or when to avoid it. No context on prerequisites or conditions.

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

Install Server

Other Tools

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/cholhwanjung/research-mcp'

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