Skip to main content
Glama
ahamedfo

IBM Content Services MCP Server

by ahamedfo

extract_survey_data

Read-only

Reads an easement document with a vision model to return structured survey data needed for mapping. Handles clean text PDFs, OCR scans, and pure image scans. Outputs line table, closure check, and parcel identification.

Instructions

Reads an easement document with a vision model and returns the structured survey data needed to map it — regardless of whether the document is a clean text PDF, an OCR-quality scan, or a pure image scan. The document's pages are rendered to images in memory and read by the model; nothing is written to disk and no lock is placed on the document.

Call this INSTEAD of parsing document text yourself. Pass its outputs directly to map_easement_to_parcel (the *_json fields are pre-formatted for that tool's parameters).

:param identifier: The document id or path (required). GUID or repository path.

:returns: If successful, returns a dictionary containing: - line_table (list) and line_table_json (str, ready for map_easement_to_parcel) - closure_ok (bool), closure_gap_ft, closure_perimeter_ft — arithmetic check of the extracted courses; if false, treat extraction as unreliable - apn, address, subdivision, lot, county — parcel identification (null if absent) - pob_anchor, pob_corner, pob_edge, pob_from_end, pob_from_corner_ft, section, township, range_, tie_courses_json — anchor fields, matching map_easement_to_parcel's parameters - page_count, pages_read, legibility, notes If unsuccessful, returns a ToolError with details about the failure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
identifierYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses that pages are rendered to images in memory, no data is written to disk, and no lock is placed on the document. It also mentions failure behavior (returns ToolError). This adds significant context about safety and execution.

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 well-structured with the core action first, followed by usage instructions, parameter details, and return value breakdown. It is slightly verbose but every sentence adds information. A minor simplification could improve conciseness.

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

Completeness5/5

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

Given the tool's complexity, single parameter, and presence of an output schema, the description fully compensates by listing all return fields, their types, and conditions. It explains the closure check for reliability and the mapping to map_easement_to_parcel, making it complete for an agent to use 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?

The schema only defines 'identifier' as a string, with 0% coverage. The description adds that it is a document id or path (required) and can be a GUID or repository path. While valuable, it could further specify acceptable formats or examples to be even more helpful.

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 it reads easement documents with a vision model and returns structured survey data for mapping. It specifies it works across different document qualities (clean PDF, OCR, image scan), differentiating it from sibling tools like get_document_pdf_text which only handle text extraction.

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

Usage Guidelines5/5

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

The description explicitly advises users to call this tool instead of parsing document text themselves, and directs the output into map_easement_to_parcel. This provides clear when-to-use and alternative guidance, leveraging the sibling tool context.

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/ahamedfo/ibm-content-services-mcp-server'

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