analyze_history
과거 낙찰 결과를 기관·키워드·업무구분으로 집계한다. 낙찰률 분포(최소·평균·최대), 다빈도 낙찰업체, 평균 참가업체 수, 최근 낙찰 목록을 반환한다. Pro 전용.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| agency | No | 공고기관·수요기관 키워드 | |
| months | No | 분석 기간 (개월, 기본 12) | |
| keyword | No | 공고명 키워드 | |
| category | No |
과거 낙찰 결과를 기관·키워드·업무구분으로 집계한다. 낙찰률 분포(최소·평균·최대), 다빈도 낙찰업체, 평균 참가업체 수, 최근 낙찰 목록을 반환한다. Pro 전용.
| Name | Required | Description | Default |
|---|---|---|---|
| agency | No | 공고기관·수요기관 키워드 | |
| months | No | 분석 기간 (개월, 기본 12) | |
| keyword | No | 공고명 키워드 | |
| category | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explicitly lists what the tool returns: award-rate distribution, frequent winners, average participant count, and recent award list, and it discloses the Pro-only restriction. It does not mention side effects, but the described behavior is clearly a read-style aggregation.
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?
Two dense sentences with no filler. The action, grouping dimensions, return values, and access restriction are all present and front-loaded, making the description easy to scan and act on.
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 with no required parameters and no output schema, the description covers the essential return semantics and the Pro gating, so an agent can call it without guessing. The only gaps are sibling differentiation and enum-value explanation, which are already reflected in other dimensions.
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 75%, so the schema already documents agency, months, and keyword. The description adds the semantic grouping label '업무구분' for category, but it does not explain the meaning of the enum values (cnstwk, servc, thng, frgcpt) or reinforce the months default. This is moderate added value over the schema, not substantial.
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 uses a specific verb ('집계한다') on a specific resource ('과거 낙찰 결과') and clearly names the grouping dimensions and output metrics. This makes it easy to distinguish from sibling tools like search_bids, which imply individual bid lookup rather than aggregation.
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?
The aggregation-focused wording and 'Pro 전용' constraint imply that this tool is for statistical/analytical summaries rather than individual search, but there is no explicit when-to-use guidance or comparison with siblings. An agent has to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.