Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Turkish health law for physicians: official legislation and high court decisions, source-grounded.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"doktor": {
"command": "npx",
"args": [
"-y",
"doktor-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add doktor -- npx -y doktor-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"doktor": {
"command": "npx",
"args": [
"-y",
"doktor-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"doktor": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"doktor-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub afsozer ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.59.2) เข้า registry 14 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Mirobody, FHIR MCP Server, Google Health MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Beta sürüm — Güncel sürüm için package.json ve CHANGELOG.md dosyalarına bakın.
Proje sayfası: avfatihsozer.com/projeler/doktor-mcp · English: README.en.md
doktor-mcp, hekimlere yönelik kaynak-temelli hukuki bilgilendirme paketleri üreten, bağımsız bir TypeScript/Node.js MCP iskeletidir. Kategorik nihai hukuki görüş vermez ve hekime ne yapacağını söylemez. Soruları resmî mevzuat metniyle ve gerekçeli yüksek mahkeme karar metniyle eşleştirir; kesin hüküm vermeden, kaynağa dayalı koşullu değerlendirmeler (ör. "kaynaklar bu yönde eğilim göstermektedir") sunabilir.
Adaptör sınırları şunlar için hazırlanmıştır:
legislation (mevzuat)yargitaydanistayaymGenel internet makaleleri, bloglar, haberler, hukuk bürosu tanıtım sayfaları ve forumlar bu projenin kaynak girdileri değildir.
Kaynak-motoru katmanı, canlı adaptörlerin ihtiyaç duyduğu sağlamlaştırmayı sağlar:
Retry-After işleme, üstel geri-çekilme (backoff), titreşim (jitter) ve istek telemetrisi içeren paylaşılan bir HttpClient ve RateLimiter yolu kullanır.src/sources/sourceRegistry.ts, mevzuat ve emsal kaynakları için sadeleştirilmiş kaynak yeteneği, hız limiti ve önbellek politikası meta verisini sunar.unavailable sonuç döndürür.Canlı resmî mevzuat adaptörü, opsiyonel MCP araç akışlarına bağlanmıştır:
LiveOfficialLegislationAdaptermevzuat.gov.trMevzuatDatatable arama isteği ayrıştırıcısıMevzuatMetin doküman getirmeSağlık mevzuatı ilk canlı eşleme yoludur. Hasta hakları ve aydınlatılmış onam soruları, Hasta Hakları Yönetmeliği 4847 için resmî üretilmiş PDF yolunu kullanır (eşlenmiş madde 24 ve 26 dahil). Sağlık hukuku eşlemeleri ayrıca Tıbbi Deontoloji Nizamnamesi, Tababet ve Şuabatı San'atlarının Tarzı İcrasına Dair Kanun ve Sağlık Hizmetleri Temel Kanunu'nu da kapsar. KVKK madde 6, kişisel-sağlık-verisi ve mahremiyet soruları için, sağlığa özel kaynaklardan sonra destekleyici genel mevzuat olarak kullanılabilir.
Resmî bir doküman çıkarılabilir bir formatta gelmediğinde veya eşlenmiş bir madde çıkarılamadığında, canlı adaptör bir hüküm üretmek yerine yapılandırılmış unavailable çıktısı döndürür.
Canlı kaynak hataları şu sözleşmeyi kullanır:
{
"status": "unavailable", "source": "mevzuat.gov.tr", "errorCode": "provision_not_found", "message": "Official text was retrieved but the mapped article could not be extracted.", "retryable": false, "recommendedNextStep": "Inspect the official text parser before using this provision in an answer." }
İskelet şunları içerir:
sourceMode yönlendirmesiEmsal filtresi şu an şu durumları sunar:
precedent_usable: tam metin, hukuki gerekçe ve olay ilgililiği mevcutlimited_value: tam metin var ama ilgililik zayıfprocedural_only: esasa ilişkin gerekçe yok; usuli metin, salt onama veya salt bozmametadata_only: tam metin olmadan künye meta verisino_reasoning: tam metin var ama hukuki gerekçe yokDerlenen pakette doğrulanmış emsal bölümüne yalnızca precedent_usable kayıtları girer.
Tüm araç yanıtları dataOrigin alanı taşır. Bu alan, yanıtın kaynağını belirtir:
dataOrigin | Anlamı |
|---|---|
"mock" | Yanıt fixture (kurgu) verisi içerir. Gerçek mevzuat veya karar değildir. |
"live" | Yanıt canlı kaynaklardan (mevzuat.gov.tr, Bedesten, Danıştay) gelmiştir. |
"snapshot" | Yanıt önceden kaydedilmiş canlı kaynak snapshot'ıdır. |
"computed" | Yanıt yalnızca hesaplama sonucudur (sınflandırıcı gibi). Kaynak veri içermez. |
"client-provided" | Yanıt, istemci tarafından sağlanan girdiye dayanır. |
dataOrigin: "mock" olduğunda, yanıt ayrıca mockDataWarning alanı taşır:
{
"dataOrigin": "mock", "mockDataWarning": "BU YANIT KURGU (FIXTURE) VERİSİDİR. Gerçek mevzuat veya mahkeme kararı DEĞİLDİR. Gerçek kaynaklar için sourceMode: 'live' kullanın." }
Bu uyarı, mock verinin gerçek mevzuat alıntısı gibi görünmesini önlemek için kaçırılamaz şekilde eklenmiştir. shortAnswer gibi hekime-dönük metin alanlarına ek önek eklenmez; üst-seviye dataOrigin ve mockDataWarning alanları yeterlidir.
prepare_doctor_legal_information_pack yanıtı ayrıca bir packId alanı taşır. Bu, "pack-" önekiyle başlayan 6 haneli bir hex kimliktir (ör. "pack-3f9a2c"). drill_down_pack_item aracına packId ileterek paketi yeniden oluşturmadan belirli bir madde veya kararı detaylandırabilirsiniz. packId, sunucu belleğinde 30 dakika süreyle saklanır.
Yapılandırılmış paket, istenen hekime-dönük bölümler etrafında şekillenir:
shortAnswerlegalClassificationcriminalcivilCompensationdisciplinaryAdministrativepatientRightsprivacyKvkkprofessionalEthicsrelevantLegislationverifiedHighCourtPrecedentsmissingInformationlawyerReviewPointsHer mevzuat girdisi bir kaynak doküman id'si ve birebir kaynak alıntısı taşır. Her doğrulanmış emsal girdisi, gerekçeli-emsal filtresinden geçmek zorundadır.
MVP şunları içermez:
synthetic_only işaretlidir)"strict" | "grounded-advisory", varsayılan: "grounded-advisory"). strict modda yalnızca kaynak listeleri döner (değerlendirme yok). grounded-advisory modda, kaynağa dayalı koşullu değerlendirme içeren bir preliminaryAssessment eklenir.summary ve sentences[] içeren opsiyonel yanıt alanı. Her cümlede text, sourceRef ve sourceLabel bulunur. Cümleler emsallerden gerçek sonuç/gerekçeyi ve mevzuattan birebir alıntı parçalarını kullanır — asla kalıp (boilerplate) değil.inForce, lastAmendedDate ve repealed alanları taşır (varsayılan olarak asla "yürürlükte" varsaymaz).Hız limiti canlı istemciler için ayrılmıştır: amaçlanan davranış, gerçek bir blok veya kaynak hatasından sonra adaptif backoff ile pratik kamu-kaynağı trafiğidir; baskı kanıtı olmadan agresif bir kısıtlama değildir.
classify_medical_legal_questionsearch_health_legislationget_legislation_provisionssearch_health_precedentsfilter_reasoned_precedentsprepare_doctor_legal_information_packdrill_down_pack_item — Takip sorusu: packId ile paketi yeniden oluşturmadan belirli bir madde/kararı detaylandırır. Örnek: { "packId": "pack-3f9a2c", "followUpQuestion": "madde 24 ne diyor?" }get_decision_full_text — Belirli bir mahkeme kararının tam metnini getirir. Örnek: { "documentId": "yargitay:99001", "sourceMode": "live" }Tüm araç yanıtları dataOrigin alanı taşır ("mock", "live", "snapshot", "computed", "client-provided"). Mock modda mockDataWarning alanı eklenir.
prepare_doctor_legal_information_pack çağrısında includeDiagnostics: true parametresi eklenerek tam denetim izi (seçim tanılaması, kaynak izi vb.) alınabilir.
Mevzuata-dönük MCP girdileri opsiyonel sourceMode kabul eder:
{
"question": "kişisel sağlık verisi mahremiyet", "sourceMode": "live" }
sourceMode varsayılan olarak "live"'dır (0.59.0'dan beri); fixture verisi için "mock" açıkça istenmelidir. search_health_legislation, get_legislation_provisions ve prepare_doctor_legal_information_pack "live" kullanabilir. Canlı bilgilendirme paketi aynı MVP şeklini korur ve sourceUnavailable'ı yalnızca resmî mevzuat kaynağı doğrulanmış bir hüküm döndüremediğinde ekler.
Mock mod yerel fixture hükümlerini kullanır. Canlı mod, mevzuat.gov.tr'den resmî mevzuat metnini, ayrıca canlı Yargıtay ve Danıştay emsal adaptörlerini kullanır. AYM yalnızca-mock'tur ve canlı modda bir geri-dönüş (fallback) olarak kullanılmak yerine devre dışı bırakılır.
Canlı eşleme katmanı hekim sorularını sağlık-hukuku konu kümelerine ayırır:
Her eşleme; hedef mevzuatı, hedef madde numaralarını, arama terimlerini, bir seçim gerekçesini ve bir sağlık-hukuku önceliğini taşır. Birden çok eşleme uyduğunda, paket birincil sağlık mevzuatını destekleyici genel mevzuattan önce sıralar. Örneğin bir kişisel-sağlık-verisi mahremiyet sorusu, KVKK'dan önce Hasta Hakları Yönetmeliği'ni döndürebilir; KVKK, ilgisiz hekim soruları için geniş bir geri-dönüş olarak kullanılmaz.
sourceTrace, hukuki gerekçe sağlamak yerine canlı mevzuat çıktısını denetler. Her iz, bir hükmün sağlık-hukuku eşlemesinden resmî dokümana ve madde çıkarım adımına nasıl geçtiğini gösterir:
querymatchedHealthMapping ve eşleme olmadığında denenen eşleme adaylarıofficialSearchRequest, resmî arama sonuç sayısı ve kompakt resmî sonuçlarselectedSearchResult ve selectedResultReasoncontentType, çıkarım yöntemi, çıkarılan madde numaraları ve getirme süresiCanlı search_health_legislation, seçilen hükümlerin yan
ตัดมาแค่ช่วงต้น อ่านต่อใน repo