Skip to main content
Glama
minhsuan0
by minhsuan0

taiwan-pt-mcp

Taiwan Physical Therapy Evidence & Regulations MCP Server

Empower AI assistants (Claude, Cursor, Antigravity, etc.) to instantly verify physical therapy evidence, clinical guidelines, and Taiwan regulations via the Model Context Protocol (MCP). Strictly prohibited from fabricating rehabilitation guidance from memory.

npm version License: MIT


Four Query Tools

Tool

Function

Data Source

search_pedro_evidence

Query RCTs, meta-analyses, and other physical therapy evidence

PubMed (PEDro backup)

search_cpg_guidelines

Query clinical practice guidelines (CPG)

PubMed + TWPTA / GIN / NICE / APTA

search_pt_laws

Query articles of the Physical Therapist Act

National Laws and Regulations Database + static backup

search_anatomy_biomechanics

Query anatomy and biomechanics definitions

Static dictionary + PubMed


Related MCP server: mcp-taiwan-legal-db

Installation & Usage

Requirements

  • Node.js ≥ 18.0.0

Method 1: npx (run directly, no installation needed)

npx taiwan-pt-mcp

Method 2: Global installation

npm install -g taiwan-pt-mcp
taiwan-pt-mcp

Method 3: From source

git clone https://github.com/minhsuan0/taiwan-pt-mcp.git
cd taiwan-pt-mcp
npm install
npm run build
node dist/index.js

Configure MCP Client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (Mac):

{
  "mcpServers": {
    "taiwan-pt-mcp": {
      "command": "npx",
      "args": ["taiwan-pt-mcp"]
    }
  }
}

Cursor

Edit .cursor/mcp.json:

{
  "mcpServers": {
    "taiwan-pt-mcp": {
      "command": "npx",
      "args": ["taiwan-pt-mcp"]
    }
  }
}

Google Antigravity

Create .mcp.json in the project root:

{
  "mcpServers": {
    "taiwan-pt-mcp": {
      "command": "npx",
      "args": ["taiwan-pt-mcp"]
    }
  }
}

Usage Examples

After configuration, simply ask in natural language, and the AI will automatically call the tools to verify:

「前十字韌帶術後的復健流程?」
「低背痛的臨床指南有哪些?」
「物理治療師的業務範圍包含哪些?法規依據?」
「臀中肌無力與步態的關係?」

Query Tool Descriptions

search_pedro_evidence(query, max_results?)

Query RCTs, systematic reviews, and meta-analyses related to physical therapy.

{
  "query": "rotator cuff exercise therapy",
  "max_results": 5
}

search_cpg_guidelines(condition, body_region, max_results?)

Query clinical practice guidelines for specific conditions and body regions.

{
  "condition": "knee osteoarthritis",
  "body_region": "knee",
  "max_results": 5
}

search_pt_laws(keyword)

Query relevant articles of Taiwan's Physical Therapist Act (offline static backup ensures availability).

{
  "keyword": "業務範圍"
}

search_anatomy_biomechanics(muscle_or_joint, max_results?)

Query anatomy definitions, muscle functions, innervation, and clinical significance (in both Chinese and English).

{
  "muscle_or_joint": "臀中肌"
}

Disclaimer

  • The query results of this tool are for clinical reference by physical therapists only and do not replace medical diagnosis.

  • According to Article 12 of Taiwan's Physical Therapist Act, physical therapy interventions shall be carried out based on a physician's diagnosis or prescription.

  • For regulatory information, the official full text of the National Laws and Regulations Database shall prevail.


License

MIT © 2026

Available Tools

4 tools
search_anatomy_biomechanicsA

檢索解剖學與生物力學標準定義,包含肌肉功能、神經支配、臨床意義與動作分析。內建靜態詞典(中英文),同時查詢 PubMed Anatomy/Biomechanics 文獻。

ParametersJSON Schema
NameRequiredDescriptionDefault
max_resultsNoPubMed 最多回傳筆數,預設 4
muscle_or_jointYes肌肉或關節名稱(中英文皆可),例如 'rotator cuff', '臀中肌', 'lumbar spine', 'knee'

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations present, the description carries full behavioral disclosure burden. It reveals two core behaviors: querying a built-in dictionary and fetching PubMed literature. However, it does not disclose important behavioral traits such as result combination logic, failure modes, language handling details, or whether an internet connection is required for the PubMed portion. The transparency is basic but incomplete.

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 two sentences long, front-loading the primary purpose in the first sentence and adding the dual-source feature in the second. Every word serves a purpose; there is no redundancy or filler. It is highly efficient for an agent to parse and understand.

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

Completeness3/5

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

The tool has two parameters and no output schema. The description covers what the tool does and its dual nature (dictionary + PubMed), but does not describe the format of the returned data or how the two sources are presented together. For a moderately complex tool with no output schema, additional context about return structure would improve completeness.

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% – both parameters have clear descriptions in the schema (muscle_or_joint accepts Chinese/English names, max_results controls PubMed count). The tool description adds no additional parameter information beyond the schema. Since the schema already does the work, a baseline score of 3 is appropriate.

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 tool retrieves standard definitions of anatomy and biomechanics, listing specific content domains (muscle function, innervation, clinical significance, movement analysis). It mentions both a built-in static dictionary and concurrent PubMed query. This specific verb+resource combination effectively distinguishes it from sibling tools (search_pedro_evidence, search_cpg_guidelines, search_pt_laws) which focus on clinical evidence, guidelines, and legal aspects.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus its siblings. It does not mention alternative use cases, prerequisites, or when not to use it. While the domain (anatomy/biomechanics) is implied, the agent receives no contextual direction to choose this tool over the other search tools in the set.

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

search_cpg_guidelinesA

查詢國際與台灣認可之臨床實踐指南(CPG)。透過 PubMed Practice Guideline 類型篩選,並附加台灣物理治療學會、GIN、NICE、APTA 等指南連結。

ParametersJSON Schema
NameRequiredDescriptionDefault
conditionYes疾患或診斷名稱,例如 'rotator cuff tear', '下背痛', 'knee osteoarthritis'
body_regionYes身體部位,例如 'shoulder', 'lumbar spine', 'knee', '頸椎'
max_resultsNo最多回傳筆數,預設 5

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full behavioral burden. It mentions the search sources (PubMed, TSPTA, GIN, etc.) which gives some transparency about the scope and data sources. However, it does not disclose details like whether the search is real-time, cached, or rate-limited, or what happens if no results are found.

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 concise (two sentences) and front-loaded with the core purpose. Every sentence adds value, though the second sentence could be slightly more structured to improve readability.

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?

Given the tool has 3 parameters (all with schema descriptions), no output schema, and no annotations, the description adequately covers the search scope and sources. It is complete enough for a search tool, but additional details about the output format or behavior when no results are found could improve completeness.

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 the baseline is 3. The description does not add any additional parameter semantics beyond what the schema already provides (e.g., condition, body_region, max_results). The description focuses on the tool's purpose and sources, not on parameter details.

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 explicitly states the tool searches for clinical practice guidelines (CPGs) recognized internationally and in Taiwan, specifying the PubMed Practice Guideline filter and additional sources (TSPTA, GIN, NICE, APTA). The verb '查詢' (search) with resource 'CPG' is clear and unambiguous.

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

Usage Guidelines3/5

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

The description implies this tool is for CPG searches, but there is no guidance on when to use it versus siblings like 'search_pedro_evidence' or 'search_pt_laws'. No explicit 'when to use' or 'when not to use' instructions are provided, leaving the agent to infer based solely on the tool names.

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

search_pedro_evidenceB

查詢 PEDro 物理治療實證資料庫(RCT、統合分析)。透過 PubMed E-utilities 篩選隨機對照試驗與系統性回顧,提供 DOI 連結與 PEDro 備援查詢 URL。

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes搜尋關鍵詞,例如 'rotator cuff exercise' 或 '低背痛 核心穩定訓練'
max_resultsNo最多回傳筆數,預設 5

TDQS

B3.4/5.0
Behavior3/5

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

The description discloses the data source (PubMed E-utilities) and output format (DOI links, PEDro backup URL), which adds behavioral context. However, with no annotations provided, the description carries the burden of transparency, and it does not disclose whether the tool is read-only, any rate limits, authentication needs, or what happens if the query finds no results. It moderately informs but leaves gaps.

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 short (two sentences) and front-loaded with the core purpose. Every sentence adds value: the first states the source and content type, the second explains the mechanism and output. It is efficient without being terse.

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

Completeness3/5

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

Given the tool has 2 parameters, no output schema, and no annotations, the description provides adequate context for a simple search tool. It explains the data source and output links, which is sufficient for basic use. However, it lacks details on result format, pagination, error handling, or any PEDro-specific nuances that could affect an agent's invocation (e.g., PEDro score availability). It is complete enough for a minimal viable description but not thorough.

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% (both parameters have descriptions in the schema), so the baseline is 3. The description adds no additional meaning beyond what the schema provides, simply restating the purpose of the tool. It does not clarify query syntax, language support, or how results are sorted, so no extra value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries the PEDro physiotherapy evidence database for RCTs and meta-analyses, specifying the use of PubMed E-utilities and output including DOI links and PEDro backup URLs. This differentiates it from siblings like search_cpg_guidelines or search_pt_laws by targeting a specific evidence source.

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

Usage Guidelines3/5

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

The description implies use for searching RCTs and systematic reviews in physiotherapy, but does not explicitly state when to use this tool versus alternatives (e.g., search_cpg_guidelines for guidelines, search_pt_laws for laws). No exclusion criteria or context for preferring one over another is provided.

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

search_pt_lawsB

查詢台灣《物理治療師法》及施行細則。優先回傳靜態核心條文(第 1、12、13、14、24 條),並嘗試呼叫全國法規資料庫 API 取得動態結果。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes查詢關鍵詞,例如 '業務範圍', '醫囑', '執業', '診斷', '禁忌'

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It reveals that the tool attempts an API call to a national database, implying dynamic behavior beyond static text. However, it does not clarify whether the API call might fail or time out, what happens if no dynamic results are found, or whether the tool requires specific permissions or rate limits. The phrase '優先回傳' suggests ordering but without details on fallback behavior.

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 compact: two sentences that convey purpose and a hint of behavior. It front-loades the main goal and provides useful example keywords. However, the second sentence could be more concise by separating the API call detail from the static provisions. Overall, it earns its length without redundancy.

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

Completeness3/5

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

Given the tool has one parameter, 100% schema coverage, and no output schema, the description mostly satisfies basic completeness: it says what it searches, hints at sources (static + dynamic), and provides examples. However, it lacks details on what constitutes a valid keyword, what the output format is, and how to interpret results (e.g., whether static provisions always appear). For a legal search tool, an agent might need to know the domain and limitations, which are absent.

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

Parameters2/5

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

Schema description coverage is 100% (the only parameter 'keyword' has a description), but the description adds a list of example keywords which is helpful. However, these examples are not complete semantics: the description does not specify the expected format of the keyword (e.g., exact legal text, partial match), whether it is case-sensitive, or if it supports complex queries. The tool's behavior of returning static provisions based on keyword is unclear from parameter semantics alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: querying Taiwan's Physical Therapist Act and its enforcement rules. It mentions key static provisions to return (Articles 1, 12, 13, 14, 24) and notes a dynamic API call to the national legal database. However, the mention of '優先回傳' (prioritize returning) static provisions could be interpreted as a behavioral guarantee, not just purpose. The purpose is well-articulated but slightly conflated with behavior.

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

Usage Guidelines3/5

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

The description implicitly suggests use cases: querying Taiwan PT legal text. It specifies the keyword parameter and provides example keywords, which helps the agent. However, there is no explicit guidance on when to use this tool versus the sibling tools (e.g., search_pedro_evidence, search_cpg_guidelines) which cover evidence and guidelines. No 'when-not' or alternative scenarios are mentioned, so the agent must infer from domain knowledge.

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.

  1. 4 tool updatesv1.0.0
    • First observedsearch_anatomy_biomechanics
    • First observedsearch_cpg_guidelines
    • First observedsearch_pedro_evidence
    • First observedsearch_pt_laws

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct knowledge domain (evidence, guidelines, laws, anatomy/biomechanics) with no overlap, making it easy for an agent to select the appropriate one.

Naming Consistency5/5

All tool names follow the consistent 'search_' prefix plus clear snake_case noun phrase pattern, e.g., search_pedro_evidence, search_cpg_guidelines.

Tool Count5/5

With 4 tools covering core physical therapy information domains, the set is well-scoped and neither too sparse nor excessive for the server's purpose.

Completeness4/5

The tools cover key areas (evidence, guidelines, laws, anatomy) but miss potentially useful categories like treatment protocols or outcome measures, leaving minor gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers