Skip to main content
Glama
opendata-kr

@opendata-kr/narajangteo-bid-mcp

Official
by opendata-kr

첨부 본문 읽기

read_attachment

Read attachment text by index from a Korean bid notice. Supports HWPX, HWP, DOC files and ZIP archives. Use offset and maxChars to read long documents in parts.

Instructions

download_attachments가 준 파일 목록에서 index로 파일 하나를 골라 본문 텍스트를 읽는다. HWPX·구형 HWP·구형 DOC만 추출하며(그 외 format은 extractable=false라 본문이 비고 savedPath로 직접 열어야 한다), ZIP 내부 파일도 index로 직접 읽는다(container에 원본 ZIP명). 긴 문서는 offset·maxChars로 이어 읽는다(truncated=true면 다음 구간이 남음). 목록을 먼저 받으려면 download_attachments를, 첨부 URL만 필요하면 get_bid_attachments를 쓴다. 이미 내려받은 파일은 디스크에서 재사용한다(목록이 없으면 자동으로 먼저 내려받는다).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
indexYes읽을 파일의 목록 인덱스(0-base). download_attachments 응답 files[].index 값을 쓴다. 첨부가 바뀌면 인덱스가 흔들리므로 download_attachments를 refresh=true로 다시 호출해 목록을 갱신한다.
offsetNo본문 텍스트의 시작 문자 오프셋(기본 0). 긴 문서를 이어 읽을 때 이전 textLength 위치를 준다.
maxCharsNo반환 문자 상한(기본 50000). truncated=true면 offset을 이 반환분만큼 올려 다음 구간을 읽는다.
bidNtceNoYes입찰공고번호. download_attachments가 준 목록과 같은 공고를 지정한다.
Behavior4/5

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

Discloses caching behavior (reuses downloaded files), auto-download if list missing, and non-extractable formats (body empty). Annotations give readOnlyHint=false and openWorldHint=true, and description aligns without contradiction, adding context beyond annotations.

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

Conciseness5/5

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

The description is a single, efficient paragraph of 4 sentences, front-loading the main purpose and covering key behaviors without waste.

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?

Covers formats, ZIP handling, streaming, and caching, but lacks explicit description of the return value structure (e.g., fields like text, truncated, savedPath). For a tool with no output schema, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds significant context: explains index usage from download_attachments response, offset/maxChars for streaming, and bidNtceNo to match the notice.

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 verb 'reads' the text body of a file, specifies the resource (files from download_attachments list), and distinguishes from siblings by naming download_attachments and get_bid_attachments.

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?

Explicitly tells when to use this tool vs alternatives ('목록을 먼저 받으려면 download_attachments를, 첨부 URL만 필요하면 get_bid_attachments를 쓴다.'), and explains how to handle long documents with offset/maxChars.

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/opendata-kr/narajangteo-bid-mcp'

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