Skip to main content
Glama

search_local_documents

Read-onlyIdempotent

Search locally stored PDFs page by page to find relevant passages in copyrighted tax materials like the OECD Transfer Pricing Guidelines.

Instructions

Search PDFs you downloaded yourself, page by page — e.g. the OECD Transfer Pricing Guidelines. 내 PC의 PDF(예: OECD 이전가격 지침) 쪽 단위 검색. 언제: 저작권상 재배포할 수 없는 자료(OECD 지침 등)를 각자 받아 근거로 쓸 때. 문서는 이 패키지에 들어 있지 않음. 설정: 환경변수 KOREAN_TAX_MCP_DOCS에 PDF 폴더 경로, PDF 읽기용 pypdf 필요(uvx --with pypdf korean-tax-mcp). 반환: {결과: [{파일, 쪽, 점수, 발췌}], 색인}. 읽기 전용, 외부 호출 없음. 첫 호출 때 색인(파일이 크면 수십 초).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kNo결과 수 1~10
langNoOutput language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), titles/summaries machine-translated by Upstage Solar when UPSTAGE_API_KEY is set. 기본 'ko'ko
queryYes찾을 내용. 영어·한국어·문단 번호(예: '2.14', 'comparability analysis', '무형자산')

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive, closed-world), the description discloses setup prerequisites (KOREAN_TAX_MCP_DOCS env var, pypdf dependency), a real latency characteristic (first call builds the index and can take tens of seconds on large files), the absence of external calls, and the return shape. These are exactly the operational facts an agent needs that annotations cannot express.

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?

Content is front-loaded (what it does, then when, setup, return) and every section carries useful information. It is somewhat dense and the bilingual restatement in the opening line duplicates meaning, costing a little efficiency.

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?

With no output schema, the description compensates by spelling out the return structure ({results:[{file, page, score, excerpt}], index}) and the indexing latency. Combined with setup requirements and usage context, an agent has everything needed to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so query, k, and lang are already fully documented in the schema (including query examples and the lang enum behavior). The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.

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?

States a specific verb (search) and resource (local PDFs you downloaded yourself), plus the granularity (page by page) and a concrete example (OECD Transfer Pricing Guidelines). This clearly separates it from siblings like search_tax_rulings or search_nts_publications, which query built-in corpora rather than user-supplied local files.

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

Usage Guidelines4/5

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

The '언제' (when) section gives an explicit trigger: use it for copyrighted material that cannot be redistributed and that the user must supply themselves, and warns that documents are not bundled with the package. It lacks an explicit named-alternative routing (e.g. 'for published rulings use X instead'), so it stops just short of a 5.

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