amatta-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@amatta-mcpCheck growth percentile for a 6-month-old male"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
amatta-mcp
영유아 건강 레퍼런스(국가예방접종·WHO 성장도표·영유아 건강검진·구강검진)를 LLM에게 도구로 제공하는 MCP 서버. OhRight 앱에 갇혀 있던 데이터·계산 로직을 stdio MCP 서버로 분리했다.
도구
compute_growth_percentile— WHO 성장도표(0–24개월) z-score·백분위 계산. 국내 성장도표 기준선(3·5·25·50·75·95·97백분위) 구간과 해당 월령 기준선 값 포함list_vaccine_schedule/get_due_vaccines— NIP 백신 일정·접종 시기 (택1 백신 플래그). 선택 접종(수막구균)은 단일 접종 시점 대신 "생후 2개월부터 접종 가능 · 소아과 상담" 안내list_checkups/get_next_checkup— 국가 영유아 건강검진 8회 + 구강검진 4회, 종류별 현재·다음 검진 시기
나이 문구는 소아과 관례를 따른다: 태어난 날이 생후 1일, 생후 90일까지는 "생후 N일", 이후는 "생후 M개월".
Related MCP server: BPS MCP Server
리소스
amatta://growth-reference, amatta://vaccine-master, amatta://checkup-schedule(건강검진·구강검진) — 원본 표 열람.
설치 · 사용 (npx)
별도 설치 없이 실행할 수 있다. claude_desktop_config.json:
{
"mcpServers": {
"amatta-mcp": {
"command": "npx",
"args": ["-y", "amatta-mcp"]
}
}
}npm에 게시하기 전이라면 GitHub에서 바로 실행할 수도 있다:
{
"mcpServers": {
"amatta-mcp": {
"command": "npx",
"args": ["-y", "github:jkimdev/amatta-mcp"]
}
}
}개발
npm install
npm test # vitest
npm run dev # tsx로 서버 실행
npm run build # dist/ 로 컴파일Claude Desktop 연결 (로컬 빌드)
소스에서 직접 빌드해 연결하려면 claude_desktop_config.json:
{
"mcpServers": {
"amatta-mcp": {
"command": "node",
"args": ["/절대경로/amatta-mcp/dist/index.js"]
}
}
}npm run build 후 위 경로를 실제 절대경로로 바꾼다.
배포
npm publish로 게시한다. 게시 전 prepublishOnly가 빌드·테스트를 자동 실행하고, 배포물엔 dist/·README·LICENSE만 포함된다(files 필드).
면책
모든 응답은 참고 정보이며 진단이 아니다. 성장·접종·검진은 소아과 상담이 우선한다. 출처: WHO Child Growth Standards / 질병관리청 NIP / 국민건강보험공단 영유아 건강검진·구강검진.
라이선스
MIT — LICENSE 참고.
Available Tools
5 toolscompute_growth_percentile성장 백분위 계산A
WHO 성장도표(0–24개월)로 체중/키/머리둘레의 z-score와 백분위를 계산합니다. 참고 정보이며 진단이 아닙니다. 성장·접종·검진은 소아과에서 상담하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| sex | Yes | ||
| value | Yes | 측정값 (weight=kg, height/headCircumference=cm) | |
| measure | Yes | ||
| ageMonths | No | 개월 나이 (0–24). birthDate 대신 직접 지정 | |
| birthDate | No | 생년월일 ISO YYYY-MM-DD | |
| measureDate | No | 측정일 ISO YYYY-MM-DD (기본: 오늘) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add useful limitations: it is reference information, not a diagnosis, and is scoped to WHO charts for 0–24 months. However, it does not disclose behavior regarding missing age inputs, output format, or validation, leaving key behavioral aspects unstated.
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 sentences, front-loaded with the core function, followed by a concise disclaimer. No filler or redundant content.
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 six-parameter calculation tool with no output schema or annotations, the description gives the essential purpose and limitations but misses important operational details, such as how age should be specified (birthDate vs ageMonths) and what happens if it is omitted. It is adequate but not fully complete.
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?
The description partially supports the schema by naming weight/height/head circumference and the 0–24 month age range, which aligns with the 'measure' and 'ageMonths' fields. Schema description coverage is 67%, and the description adds context but does not explain the relationship between birthDate and ageMonths or the meaning of all parameters.
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?
Description states a specific action ('calculates z-score and percentile') for a clear resource (WHO growth charts, 0–24 months) across three measurement types. It distinguishes from sibling vaccine/checkup tools by focusing on growth metrics.
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 description communicates that results are reference-only and advises consulting a pediatrician, which gives context, but it does not explicitly state when to choose this tool over other tools or what conditions make it inappropriate. The intended use is implied rather than directly contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_due_vaccines접종 시기 백신 조회A
나이(일) 또는 생년월일 기준으로 맞을 때가 된 백신과 다가오는 백신을 반환합니다. 참고 정보이며 진단이 아닙니다. 성장·접종·검진은 소아과에서 상담하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| ageInDays | No | 일 단위 나이. birthDate 대신 지정 | |
| birthDate | No | 생년월일 ISO YYYY-MM-DD (오늘 기준으로 나이 계산) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It accurately states the tool returns reference information and is not a diagnosis, adding a valuable safety caveat. However, it does not describe response format or any potential pitfalls like missing parameters.
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?
The description is two concise sentences, each earning its place: one for functionality and one for the medical disclaimer. There is no redundancy or filler.
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 simple tool with optional parameters and no output schema, the description conveys the core purpose and essential caveat. However, it lacks guidance on the no-parameter case or precedence if both parameters are supplied, which would make it more complete.
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?
The schema already describes both parameters (ageInDays and birthDate) with 100% coverage, including the alternative relationship. The description merely repeats this ('based on age (days) or date of birth') without adding syntax or precedence details beyond the schema.
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 clearly states that the tool returns due and upcoming vaccines based on age in days or birth date. This specific verb+resource combination distinguishes it from sibling tools like list_vaccine_schedule or compute_growth_percentile.
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 description implies usage when age or birthdate is known, but it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions. It only offers a medical disclaimer about consulting a pediatrician.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_next_checkup다음 영유아 건강검진 조회A
생년월일 기준으로 현재/다음 영유아 건강검진 시기를 계산합니다. 참고 정보이며 진단이 아닙니다. 성장·접종·검진은 소아과에서 상담하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| today | No | 기준일 ISO YYYY-MM-DD (기본: 오늘) | |
| birthDate | Yes | 생년월일 ISO YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does disclose that the tool provides reference information and not a diagnosis, which is a useful behavioral trait. However, it does not mention the return format or how the optional 'today' parameter influences the calculation, leaving some behavioral aspects unclear.
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?
The description is only two sentences, with the first sentence stating the main purpose and the second adding an essential disclaimer. Every word earns its place, and it is front-loaded with the key function.
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?
The tool is simple, but without an output schema or annotations, the description should explain what the tool returns and any limitations. It does not describe the result format or the effect of the 'today' parameter, though the schema covers parameter meanings. This is a noticeable gap for an agent deciding whether to invoke it.
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?
The input schema already has 100% description coverage for both parameters, clearly explaining the meaning and default of 'today'. The description adds no new parameter-level information beyond saying the calculation is based on birth date, which is already in the schema. Baseline 3 is appropriate.
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 '계산합니다' (calculates) and clearly identifies the resource as the infant health checkup schedule, limiting to '현재/다음' (current/next). This clearly distinguishes it from sibling tools like list_checkups or get_due_vaccines, which have different purposes.
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 description provides a clear context for the tool's use (calculating checkup timing) but does not explicitly state when to use this tool versus alternatives, nor does it mention sibling tools like list_checkups. The disclaimer about consulting a pediatrician is a limitation, not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_checkups영유아 건강검진 8회 전체A
국가 영유아 건강검진 8회 일정 전체를 반환합니다. 참고 정보이며 진단이 아닙니다. 성장·접종·검진은 소아과에서 상담하세요.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry the behavioral burden. It does so by clarifying the information is for reference only and not a diagnosis, which sets expectations appropriately for a read-only listing tool. It does not elaborate on return format, but for a zero-parameter tool this is acceptable.
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?
The description is two sentences, front-loaded with the purpose in the first sentence and a relevant medical disclaimer in the second. There is no redundant information or padding.
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 simple zero-parameter tool with no output schema, the description sufficiently explains its function and caveats. It does not explicitly list the exact age ranges or contents of the 8 sessions, but this is a minor gap given the low complexity.
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?
The tool has zero parameters, so the input schema fully covers everything (100% coverage). The baseline of 4 applies because there are no parameter semantics to describe, and the description need not add anything.
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 clearly states it returns the entire national infant/child health checkup schedule (8 sessions). The verb '반환합니다' specifies the action, and '전체' (full) differentiates from get_next_checkup which returns only the next one. The resource is distinct from vaccine or growth tools.
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 description provides a disclaimer that it is reference information, not a diagnosis, and advises consulting a pediatrician. However, it does not explicitly mention when to use this tool versus sibling tools like list_vaccine_schedule or get_next_checkup, leaving the comparison implied by the resource name. This is adequate context but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vaccine_scheduleNIP 백신 일정 전체A
국가예방접종(NIP) 표준 일정 전체를 반환합니다. 참고 정보이며 진단이 아닙니다. 성장·접종·검진은 소아과에서 상담하세요.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds that this is reference information, not a diagnostic tool, and recommends pediatric consultation—valuable context beyond a simple 'returns schedule'. As a read-only, zero-parameter operation, it adequately discloses the informational nature without overstating.
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?
The description is two concise sentences, front-loaded with the primary purpose, followed by an essential caveat. Every word earns its place; there is no fluff or repetition of schema fields.
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 zero-parameter read-only tool with no output schema, the description provides sufficient context: what is returned (the full NIP schedule), its purpose (reference), and an important boundary (not diagnostic). It could specify the output format more concretely, but the simplicity of the tool and the disclaimer make the description adequately complete.
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?
The tool has zero parameters, so the baseline is 4. No parameter descriptions are needed. The description confirms that the tool returns the full schedule without requiring input, which is consistent with the empty input schema.
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 states a specific action ('returns the entire NIP standard schedule') with a clear resource and scope. It distinguishes itself from siblings like get_due_vaccines (which likely returns personalized due vaccines) and list_checkups (which lists checkups, not vaccines), making its purpose unambiguous.
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 description provides a clear context: it is reference information, not a diagnosis, and advises consulting a pediatrician. However, it does not explicitly state when to use this tool versus siblings such as get_due_vaccines or compute_growth_percentile, leaving the differentiation to implication rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
compute_growth_percentile - First observed
get_due_vaccines - First observed
get_next_checkup - First observed
list_checkups - First observed
list_vaccine_schedule
TDQS
Scored across 5 tools
The tools are mostly distinct: vaccine schedule lists all vaccines, while due vaccines is personalized by age; similarly, checkups list all vs. next checkup. However, the pairing of list/get for both vaccines and checkups could cause minor confusion, though descriptions clarify the difference.
Naming mostly follows a verb_noun pattern (list_, get_, compute_), with list_vaccine_schedule and list_checkups being consistent. compute_growth_percentile introduces a different verb but is still clear. Minor inconsistency in verb choice prevents a perfect score.
With 5 tools, the set is well-scoped for pediatric health reference information. Each tool covers a distinct need without redundancy, and the count is appropriate for the domain.
The domain covers vaccine schedules, growth percentiles, and checkups comprehensively. The only minor gap is the lack of a tool to retrieve details for a specific vaccine or checkup item, but the core informational needs are met.
Maintenance
Related MCP Connectors
The adaptive health-messaging engine for apps and agents. Federally-sourced. Not medical advice.
Supplement safety for AI agents. 1,500+ rules, NIH+FDA data, quality grading A-D.
MCP tools for Malawian food search, clinical nutrition calculators, and RAG-backed guidance.
Read-only NPRA pharmaceutical records and pipeline health for Malaysia (5 tools).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIntegrates Taiwan-specific medical data including ICD-10 codes, FDA drug databases, and nutrition information into the Model Context Protocol. It enables AI models to query clinical guidelines, verify medical codes, and convert health data into FHIR R4 standardized formats.MIT
- AlicenseBqualityCmaintenanceEnables AI clients to access official Indonesian statistical data from Badan Pusat Statistik (BPS) through natural language queries. It provides over 20 tools for retrieving demographic, economic, and trade data with support for bilingual responses and fuzzy domain matching.342 npm6MIT
- FlicenseNot gradedqualityDmaintenanceProvides over 300 medical calculator tools for AI assistants, supporting evidence-based medicine through modular API endpoints.4-
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI agents to assess child growth, plot growth curves, and interpret z-scores using WHO and China NHC standards.1MIT