Reading from GitLab...
Reading from GitLab...
Every tool on the production MCP gateway, by hospital system. Descriptions come from the service code, read live: nothing here is written by hand.
Gateway: https://orbit-medical-systems.orbit-poc.com (production), read live.
Code: development db5614ac, 2026-10-12 03:34 GMT+8 · production db5614ac, 2026-10-12 03:34 GMT+8 (same commit)
Step by step, from no key to the first answer. Use an MCP client (Claude, Hermes or any other) and call the tools directly.
Ask the MCP admin for a key. The admin opens https://orbit-medical-systems.orbit-poc.com/mcp/admin and:


You should see 應該看到: a long code that starts with hismcp_gk_, and the date it ends.
Open https://orbit-medical-systems.orbit-poc.com/api/mcp/v1/systems in a browser. It needs no key.
You should see 應該看到: text that starts with [{"scheme":: the list of addresses.
If not 如果沒有: your network blocks the gateway. Ask for the VPN, or ask the MCP admin to allow your address.
Each address is one group of tools. Pick the one you need; one client entry per address. staff-schedule, nhi-ops and comms are chat flows: they take a chat identity instead of a key (see the usage guide, section 3).
| Name | Purpose | Tools | Services | MCP address |
|---|---|---|---|---|
analytics 數據分析與 AI | Governed analytics and AI: FHIR exchange, data platform, BI reports, AI models. | 44 | ai-inference, bi-reporting, data-platform, fhir-exchange | https://orbit-medical-systems.orbit-poc.com/mcp/analytics/ |
ancillary 醫療輔助(檢驗、影像、檢查) | Order fulfilment: laboratory, radiology and exam scheduling; microbiology and pathology reports and MDRO flags; sterile supply (CSSD) status (read only). | 490 | cssd, diagnostics, exam-scheduling, laboratory, micropath, radiology | https://orbit-medical-systems.orbit-poc.com/mcp/ancillary/ |
audit | Read the audit trail: events, verification runs, a patient's access report, review-queue items and archive query results; start a chain verification; assign a review item to a reviewer. | 10 | audit | https://orbit-medical-systems.orbit-poc.com/mcp/audit/ |
clinical 臨床診療 | Run a visit and inpatient stay: workspace, orders, notes, CDSS, queue, nursing, ER, admissions, surgery, closed-loop safety. | 389 | adt, bff, cdss, closed-loop-safety, emergency, emr, nursing, orders, queue, surgery | https://orbit-medical-systems.orbit-poc.com/mcp/clinical/ |
comms 客服通話 | Call-centre staff: work the outbound call list, call patients, book callbacks, read call logs and contact records, search call transcripts, and keep meeting minutes and decisions. | 35 | comms, notification | https://orbit-medical-systems.orbit-poc.com/mcp/comms/ |
finance 批價與健保申報 | Price a visit, take payment and submit NHI claims. | 134 | billing, erpbridge, nhi-claims, payment | https://orbit-medical-systems.orbit-poc.com/mcp/finance/ |
knowledge 規範與知識文件 | Search and read controlled policy documents (SOP, NHI review notes, accreditation standards, regulations), cite them, add notes, and draft and submit new versions. | 35 | knowledge | https://orbit-medical-systems.orbit-poc.com/mcp/knowledge/ |
laboratory 檢驗 | Laboratory orders, tracking, results, microbiology, pathology, send-out and QC. | 79 | laboratory | https://orbit-medical-systems.orbit-poc.com/mcp/laboratory/ |
leave-rulings 醫師請假與代診 | Read doctor leave requests and the cover ruling of each affected clinic session. | 3 | org-config | https://orbit-medical-systems.orbit-poc.com/mcp/leave-rulings/ |
microbiology 微生物檢驗 | Read microbiology: the culture worklist, one case worksheet, and a patient's culture reports. | 3 | micropath | https://orbit-medical-systems.orbit-poc.com/mcp/microbiology/ |
nhi-ops 健保卡作業 | NHI card operations (read-only): card transactions, uploads, workstation health and active alerts; MediCloud lookups remain unavailable until a stronger identity check is decided. | 6 | nhi-card, org-config | https://orbit-medical-systems.orbit-poc.com/mcp/nhi-ops/ |
notification 通知 | Send notices to patients and staff (one or many recipients) and check delivery. | 27 | notification | https://orbit-medical-systems.orbit-poc.com/mcp/notification/ |
office | Office email and official documents (公文): send email, dispatch a 公文, register, assign and close received documents, follow deadlines and receipts. | 11 | erpbridge | https://orbit-medical-systems.orbit-poc.com/mcp/office/ |
pharmacy 藥局 | Dispense and administer medications; manage stock. | 172 | inventory, pharmacy | https://orbit-medical-systems.orbit-poc.com/mcp/pharmacy/ |
reference 共用主檔 | Master data for staff: codes and dictionaries, orderables, fees and prices, the organization, beds, clinic sessions, parameters, staff, licences and privileges. | 208 | org-config, terminology | https://orbit-medical-systems.orbit-poc.com/mcp/reference/ |
registry 病人與掛號 | Find patients and manage encounters, registration, NHI-card visits and healthcare-certificate (HCA) signatures. | 210 | hca, nhi-card, patient-registry, registration | https://orbit-medical-systems.orbit-poc.com/mcp/registry/ |
staff-schedule 醫師門診班表 | Doctors: check your clinic sessions and file or withdraw leave by chat. | 6 | org-config | https://orbit-medical-systems.orbit-poc.com/mcp/staff-schedule/ |
workforce 人力排班 | Build and publish nursing/medical staff rosters, leave, overtime, nurse-to-patient ratios and the float pool. | 116 | workforce | https://orbit-medical-systems.orbit-poc.com/mcp/workforce/ |
Replace hismcp_gk_YOUR-KEY with your key. The address must end with /.
claude mcp add --scope user --transport http his-clinical https://orbit-medical-systems.orbit-poc.com/mcp/clinical/ --header "Authorization: Bearer hismcp_gk_YOUR-KEY"
claude mcp listNeeds Node.js 18 or newer (node -v). Settings, Developer, Edit Config, then paste into claude_desktop_config.json (merge with any existing mcpServers), save, and quit Claude Desktop completely before opening it again.
{
"mcpServers": {
"his-clinical": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://orbit-medical-systems.orbit-poc.com/mcp/clinical/",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer hismcp_gk_YOUR-KEY"
}
}
}
}Start it, then on the left: Transport Type Streamable HTTP, URL below, Authentication, header Authorization with the value below, Connect.
npx @modelcontextprotocol/inspectorhttps://orbit-medical-systems.orbit-poc.com/mcp/clinical/Bearer hismcp_gk_YOUR-KEYYou should see 應該看到: Claude Code: his-clinical with ✓ Connected. Claude Desktop: the entry running under Settings, Developer. Inspector: a green dot and Connected.
Ask your assistant: “Use his-clinical. Read its system card and tell me in five short points what you can do.” In Inspector: Tools, List Tools, pick a read tool, Run Tool. An empty list [] is a success: there is no data yet.
You should see 應該看到: a short list of what the system can do, or the tool's answer marked success.
Full reference (endpoints, chat identity, tokens, security): docs/mcp-usage-guide.md in the medical repo.
Every tool on the gateway, by hospital system, read live from the service code.
Every system and its MCP tools, numbered 1 to the system total, with what each tool does and the API it calls. Descriptions come from the code.
Route map: production code 466c58ff0 (committed 2026-10-11 05:12 GMT+8), built 2026-10-11 06:03 GMT+8.
| # | Tool | API it calls | Access |
|---|---|---|---|
| 1 | nursing.get_assessment_templatesList Assessment Templates | GET /api/nursing/v1/assessment-templates | read |
| 2 | nursing.post_assessments_assessment_id_correctCorrect Assessment | POST /api/nursing/v1/assessments/{assessment_id}:correct | write |
| 3 | nursing.post_assessments_assessment_id_signSign | POST /api/nursing/v1/assessments/{assessment_id}:sign | write |
| 4 | nursing.post_assessments_assessment_id_startStart | POST /api/nursing/v1/assessments/{assessment_id}:start | write |
| 5 | nursing.put_assessments_assessment_id_answersSave Answers | PUT /api/nursing/v1/assessments/{assessment_id}/answers | write |
| 6 | nursing.get_care_library_diagnosesList Diagnoses | GET /api/nursing/v1/care-library/diagnoses | read |
| 7 | nursing.post_care_plans_plan_id_acceptAccept Plan | POST /api/nursing/v1/care-plans/{plan_id}:accept | write |
| 8 | nursing.post_care_plans_plan_id_cancelCancel Plan | POST /api/nursing/v1/care-plans/{plan_id}:cancel | write |
| 9 | nursing.post_care_plans_plan_id_declineDecline Plan | POST /api/nursing/v1/care-plans/{plan_id}:decline | write |
| 10 | nursing.post_care_plans_plan_id_resolveResolve Plan | POST /api/nursing/v1/care-plans/{plan_id}:resolve | write |
| 11 | nursing.post_care_plans_plan_id_evaluationsEvaluate Plan | POST /api/nursing/v1/care-plans/{plan_id}/evaluations | write |
| 12 | nursing.post_devices_device_id_dislodgeDislodge Device | POST /api/nursing/v1/devices/{device_id}:dislodge | write |
| 13 | nursing.post_devices_device_id_removeRemove Device | POST /api/nursing/v1/devices/{device_id}:remove | write |
| 14 | nursing.post_devices_device_id_checksRecord Check | POST /api/nursing/v1/devices/{device_id}/checks | write |
| 15 | nursing.get_encounters_encounter_id_assessmentsList Assessments | GET /api/nursing/v1/encounters/{encounter_id}/assessments | read |
| 16 | nursing.post_encounters_encounter_id_assessmentsAdd Assessment | POST /api/nursing/v1/encounters/{encounter_id}/assessments | write |
| 17 | nursing.get_encounters_encounter_id_care_plansList Care Plans | GET /api/nursing/v1/encounters/{encounter_id}/care-plans | read |
| 18 | nursing.post_encounters_encounter_id_care_plansAdd Care Plan | POST /api/nursing/v1/encounters/{encounter_id}/care-plans | write |
| 19 | nursing.post_encounters_encounter_id_care_plans_suggestSuggest Care Plans | POST /api/nursing/v1/encounters/{encounter_id}/care-plans:suggest | write |
| 20 | nursing.put_encounters_encounter_id_classificationOverride Classification | PUT /api/nursing/v1/encounters/{encounter_id}/classification | write |
| 21 | nursing.get_encounters_encounter_id_devicesList Devices | GET /api/nursing/v1/encounters/{encounter_id}/devices | read |
| 22 | nursing.post_encounters_encounter_id_devicesInsert Device | POST /api/nursing/v1/encounters/{encounter_id}/devices | write |
| 23 | nursing.get_encounters_encounter_id_flowsheetFlowsheet | GET /api/nursing/v1/encounters/{encounter_id}/flowsheet | read |
| 24 | nursing.post_encounters_encounter_id_ioRecord Io | POST /api/nursing/v1/encounters/{encounter_id}/io | write |
| 25 | nursing.get_encounters_encounter_id_io_balanceIo Balance | GET /api/nursing/v1/encounters/{encounter_id}/io-balance | read |
| 26 | nursing.get_encounters_encounter_id_io_summaryIo Summary | GET /api/nursing/v1/encounters/{encounter_id}/io-summary | read |
| 27 | nursing.post_encounters_encounter_id_io_closeClose Io | POST /api/nursing/v1/encounters/{encounter_id}/io:close | write |
| 28 | nursing.get_encounters_encounter_id_marGet Mar | GET /api/nursing/v1/encounters/{encounter_id}/mar | read |
| 29 | nursing.get_encounters_encounter_id_notesList Notes | GET /api/nursing/v1/encounters/{encounter_id}/notes | read |
| 30 | nursing.post_encounters_encounter_id_notesAdd Note | POST /api/nursing/v1/encounters/{encounter_id}/notes | write |
| 31 | nursing.get_encounters_encounter_id_risk_scoresGet Risk Scores | GET /api/nursing/v1/encounters/{encounter_id}/risk-scores | read |
| 32 | nursing.post_encounters_encounter_id_risk_scoresRisk Score | POST /api/nursing/v1/encounters/{encounter_id}/risk-scores | write |
| 33 | nursing.get_encounters_encounter_id_vital_limitsGet Vital Limits | GET /api/nursing/v1/encounters/{encounter_id}/vital-limits | read |
| 34 | nursing.put_encounters_encounter_id_vital_limitsPut Vital Limits | PUT /api/nursing/v1/encounters/{encounter_id}/vital-limits | write |
| 35 | nursing.post_encounters_encounter_id_vitalsRecord Vitals | POST /api/nursing/v1/encounters/{encounter_id}/vitals | write |
| 36 | nursing.post_encounters_encounter_id_vitals_confirmConfirm Vitals | POST /api/nursing/v1/encounters/{encounter_id}/vitals:confirm | write |
| 37 | nursing.post_encounters_encounter_id_vitals_observation_id_amendAmend Vital | POST /api/nursing/v1/encounters/{encounter_id}/vitals/{observation_id}:amend | write |
| 38 | nursing.get_encounters_encounter_id_woundsList Wounds | GET /api/nursing/v1/encounters/{encounter_id}/wounds | read |
| 39 | nursing.post_encounters_encounter_id_woundsCreate Wound | POST /api/nursing/v1/encounters/{encounter_id}/wounds | write |
| 40 | nursing.post_ews_alerts_alert_id_acknowledgeAck Ews | POST /api/nursing/v1/ews-alerts/{alert_id}:acknowledge | write |
| 41 | nursing.get_handoversList Handovers | GET /api/nursing/v1/handovers | read |
| 42 | nursing.post_handoversCreate Handover | POST /api/nursing/v1/handovers | write |
| 43 | nursing.get_handovers_handover_idGet Handover | GET /api/nursing/v1/handovers/{handover_id} | read |
| 44 | nursing.post_handovers_handover_id_completeComplete | POST /api/nursing/v1/handovers/{handover_id}:complete | write |
| 45 | nursing.post_handovers_handover_id_hand_overHand Over | POST /api/nursing/v1/handovers/{handover_id}:hand-over | write |
| 46 | nursing.post_handovers_handover_id_prefillPrefill | POST /api/nursing/v1/handovers/{handover_id}:prefill | write |
| 47 | nursing.post_handovers_handover_id_reopenReopen | POST /api/nursing/v1/handovers/{handover_id}:reopen | write |
| 48 | nursing.post_handovers_handover_id_addendaAdd Addendum | POST /api/nursing/v1/handovers/{handover_id}/addenda | write |
| 49 | nursing.post_handovers_handover_id_draftsWrite Drafts | POST /api/nursing/v1/handovers/{handover_id}/drafts | write |
| 50 | nursing.put_handovers_handover_id_items_stay_idEdit Item | PUT /api/nursing/v1/handovers/{handover_id}/items/{stay_id} | write |
| 51 | nursing.post_handovers_handover_id_items_stay_id_acknowledgeAcknowledge Item | POST /api/nursing/v1/handovers/{handover_id}/items/{stay_id}:acknowledge | write |
| 52 | nursing.post_handovers_handover_id_items_stay_id_read_backRead Back | POST /api/nursing/v1/handovers/{handover_id}/items/{stay_id}:read-back | write |
| 53 | nursing.post_handovers_handover_id_items_stay_id_drafts_section_decideDecide Draft | POST /api/nursing/v1/handovers/{handover_id}/items/{stay_id}/drafts/{section}:decide | write |
| 54 | nursing.get_handovers_unacknowledgedUnacknowledged | GET /api/nursing/v1/handovers/unacknowledged | read |
| 55 | nursing.post_mar_administrationsAdminister | POST /api/nursing/v1/mar/administrations | write |
| 56 | nursing.post_mar_administrations_administration_id_correctCorrect Administration | POST /api/nursing/v1/mar/administrations/{administration_id}:correct | write |
| 57 | nursing.post_mar_checksMar Check | POST /api/nursing/v1/mar/checks | write |
| 58 | nursing.put_notes_note_idEdit Note | PUT /api/nursing/v1/notes/{note_id} | write |
| 59 | nursing.post_notes_note_id_amendAmend Note | POST /api/nursing/v1/notes/{note_id}:amend | write |
| 60 | nursing.post_notes_note_id_discardDiscard Note | POST /api/nursing/v1/notes/{note_id}:discard | write |
| 61 | nursing.post_notes_note_id_signSign Note | POST /api/nursing/v1/notes/{note_id}:sign | write |
| 62 | nursing.post_orders_order_id_prn_dosesStart Prn Dose | POST /api/nursing/v1/orders/{order_id}/prn-doses | write |
| 63 | nursing.post_orders_order_id_prn_limit_overridesGrant Prn Override | POST /api/nursing/v1/orders/{order_id}/prn-limit-overrides | write |
| 64 | nursing.post_simulator_ordersCreate a simulated medication order and its MAR doses (training, tests) | POST /api/nursing/v1/simulator/orders | write |
| 65 | nursing.post_stays_stay_id_tasksAdd Staff Task | POST /api/nursing/v1/stays/{stay_id}/tasks | write |
| 66 | nursing.post_syncSync | POST /api/nursing/v1/sync | write |
| 67 | nursing.post_tasksRequest Task | POST /api/nursing/v1/tasks | write |
| 68 | nursing.post_tasks_task_id_doneTask Done | POST /api/nursing/v1/tasks/{task_id}:done | write |
| 69 | nursing.post_tasks_task_id_not_doneTask Not Done | POST /api/nursing/v1/tasks/{task_id}:not-done | write |
| 70 | nursing.get_wards_unit_id_assessments_completenessAssessment Completeness | GET /api/nursing/v1/wards/{unit_id}/assessments/completeness | read |
| 71 | nursing.get_wards_unit_id_assignmentsAssignment Board | GET /api/nursing/v1/wards/{unit_id}/assignments | read |
| 72 | nursing.put_wards_unit_id_assignmentsAssign | PUT /api/nursing/v1/wards/{unit_id}/assignments | write |
| 73 | nursing.get_wards_unit_id_boardWard Board | GET /api/nursing/v1/wards/{unit_id}/board | read |
| 74 | nursing.get_wards_unit_id_handover_mandatory_itemsGet Mandatory Items | GET /api/nursing/v1/wards/{unit_id}/handover-mandatory-items | read |
| 75 | nursing.put_wards_unit_id_handover_mandatory_itemsPut Mandatory Items | PUT /api/nursing/v1/wards/{unit_id}/handover-mandatory-items | write |
| 76 | nursing.get_wards_unit_id_marDoses of every bed of a ward for a shift | GET /api/nursing/v1/wards/{unit_id}/mar | read |
| 77 | nursing.get_wards_unit_id_tasksOpen tasks of every bed of a ward | GET /api/nursing/v1/wards/{unit_id}/tasks | read |
| 78 | nursing.get_wards_unit_id_unassignedUnassigned | GET /api/nursing/v1/wards/{unit_id}/unassigned | read |
| 79 | nursing.get_wards_unit_id_workloadWard Workload | GET /api/nursing/v1/wards/{unit_id}/workload | read |
| 80 | nursing.post_wards_unit_id_workload_refreshRefresh Workload | POST /api/nursing/v1/wards/{unit_id}/workload:refresh | write |
| 81 | nursing.get_wards_unit_id_workload_historyWorkload History | GET /api/nursing/v1/wards/{unit_id}/workload/history | read |
| 82 | nursing.put_wards_unit_id_workload_staff_notesPut Staff Notes | PUT /api/nursing/v1/wards/{unit_id}/workload/staff-notes | write |
| 83 | nursing.get_wards_unit_id_wounds_summaryWard Wound Summary | GET /api/nursing/v1/wards/{unit_id}/wounds/summary | read |
| 84 | nursing.get_worklists_meWorklist | GET /api/nursing/v1/worklists/me | read |
| 85 | nursing.get_worklists_me_countersWhat is outstanding for the nurse or for the ward | GET /api/nursing/v1/worklists/me/counters | read |
| 86 | nursing.post_wounds_wound_id_closeClose Wound | POST /api/nursing/v1/wounds/{wound_id}:close | write |
| 87 | nursing.get_wounds_wound_id_assessmentsList Wound Assessments | GET /api/nursing/v1/wounds/{wound_id}/assessments | read |
| 88 | nursing.post_wounds_wound_id_assessmentsAdd Wound Assessment | POST /api/nursing/v1/wounds/{wound_id}/assessments | write |
| 89 | nursing.get_wounds_wound_id_dressingsList Wound Dressings | GET /api/nursing/v1/wounds/{wound_id}/dressings | read |
| 90 | nursing.post_wounds_wound_id_dressingsAdd Wound Dressing | POST /api/nursing/v1/wounds/{wound_id}/dressings | write |
No MCP tools yet 尚無 MCP 工具 (21): 27 感染管制監測系統 · 34 重症加護系統 · 40 化學治療系統 · 41 放射腫瘤系統 · 42 核子醫學系統 · 43 血液透析系統 · 44 產房與嬰兒室系統 · 45 復健系統 · 46 呼吸治療系統 · 47 牙科系統 · 48 預防保健與癌症篩檢系統 · 49 疫苗注射系統 · 53 抗生素管制系統 · 61 介面整合引擎 · 67 全國預防接種資訊系統(NIIS) · 74 健康檢查系統 · 77 陪病與訪客管理系統 · 79 病人傳送系統 · 84 數位看板系統 · 89 太平間管理系統 · 91 醫療物流機器人系統
To do: tools on the gateway that are not placed under a hospital system yet, so they are not counted above. Each one waits for a ruling on its system; once placed, it moves into Tools by system.
| GET | /api/safety/v1/dashboard | Dashboard | read | closed-loop-safety.get_dashboard | clinical |
| POST | /api/safety/v1/feedings:check | Feeding Check | write | closed-loop-safety.post_feedings_check | clinical |
| POST | /api/safety/v1/identity-checks | Identity Check | write | closed-loop-safety.post_identity_checks | clinical |
| POST | /api/safety/v1/loops | Open Loop Route | create | closed-loop-safety.post_loops | clinical |
| POST | /api/safety/v1/loops/{instance_id}:exception | Loop Exception | write | closed-loop-safety.post_loops_instance_id_exception | clinical |
| POST | /api/safety/v1/loops/{instance_id}/steps/{step_code}:advance | Advance | write | closed-loop-safety.post_loops_instance_id_steps_step_code_advance | clinical |
| POST | /api/safety/v1/milk-containers | Create Milk | write | closed-loop-safety.post_milk_containers | clinical |
| POST | /api/safety/v1/overdue:sweep | Overdue Sweep | write | closed-loop-safety.post_overdue_sweep | clinical |