# خادم MCP لـ FHIR لوكلاء الذكاء الاصطناعي

> قم بتوصيل Claude Code، Cursor، VS Code أو Claude Desktop بواجهة برمجة تطبيقات HL7 FHIR R4 عبر MCP: 20 أداة لقراءة السجلات، وسياق جاهز للذكاء الاصطناعي، والكتابة، واستيراد المختبر، وإعادة تعيين بيئة الاختبار، على 30 مريضًا اصطناعيًا، مجانًا.

Source: https://developers.anpheros.com/ar/guides/mcp

**Anpheros FHIR هو خادم MCP عن بُعد يتيح لوكيل الذكاء الاصطناعي (Claude، Claude Code، Cursor، VS Code، Claude Desktop) العمل مع واجهة برمجة تطبيقات بيانات صحية HL7 FHIR R4.** يتصل بطريقتين:

- **باستخدام مفتاح بيئة اختبار مجاني**، للمطورين: يقوم وكيلك بإدراج المرضى، وقراءة سجلاتهم بصيغة FHIR أو كسياق جاهز للذكاء الاصطناعي مع المصدر، وكتابة الملاحظات، واستيراد تقارير المختبر، وإعادة تعيين بيانات الاختبار الخاصة به، كل ذلك على 30 مريضًا اصطناعيًا لديهم تاريخ طبي واقعي.
- **باستخدام OAuth**، لشخص وسجله الخاص: يقوم المساعد بتسجيل نفسه، ويقوم الشخص بتسجيل الدخول والموافقة عليه على شاشة موافقة Anpheros، ويمكن للمساعد بعد ذلك قراءة هذا السجل الواحد، للفترة المختارة، للقراءة فقط ما لم يسمح الشخص بالمزيد.

عنوان الخادم: `https://platform.anpheros.com/mcp` (HTTP قابل للبث، عديم الحالة).

## الاتصال باستخدام OAuth (Claude والمساعدون الآخرون)

أضف `https://platform.anpheros.com/mcp` كموصل مخصص (في Claude: Settings → Connectors → Add custom connector). لا يلزم أي تكوين آخر: يكتشف المساعد خادم التفويض، ويسجل نفسه، ويفتح شاشة موافقة Anpheros. هناك يرى الشخص أنه مساعد ذكاء اصطناعي، وأن ما يقرأه يتم إرساله إلى الشركة التي تدير المساعد، وما يمكنه قراءته، ولأي مدة، وأين سيعود بعد الاختيار. الوصول للقراءة فقط ما لم يُطلب المزيد ويُسمح به، ويمكن للشخص إلغاءه في أي وقت.

خلال النسخة التجريبية الخاصة، تستخدم اتصالات OAuth سجلات sandbox. سيتم فتح الاتصالات بالسجلات الحقيقية بعد تحديث سياسة الخصوصية.

## الاتصال بمفتاح بيئة تجريبية (للمطورين)

1. سجّل الدخول على [platform.anpheros.com/dashboard](https://platform.anpheros.com/dashboard/) باستخدام Google واختر **الحصول على مفتاح بيئة تجريبية**. ستحصل على مفتاح `sk_test_…` ومشروع يحتوي على 30 مريضًا اصطناعيًا.
2. ضع المفتاح في متغير بيئة، على سبيل المثال `ANPHEROS_KEY`، وأضف الخادم إلى أداتك.

**كود Claude**

```bash
claude mcp add --transport http anpheros-fhir https://platform.anpheros.com/mcp --header "Authorization: Bearer $ANPHEROS_KEY"
```

**Cursor** (`~/.cursor/mcp.json` أو `.cursor/mcp.json` في المشروع)

```json
{
  "mcpServers": {
    "anpheros-fhir": {
      "url": "https://platform.anpheros.com/mcp",
      "headers": { "Authorization": "Bearer ${env:ANPHEROS_KEY}" }
    }
  }
}
```

**VS Code** (`.vscode/mcp.json`)

```json
{
  "servers": {
    "anpheros-fhir": {
      "type": "http",
      "url": "https://platform.anpheros.com/mcp",
      "headers": { "Authorization": "Bearer ${env:ANPHEROS_KEY}" }
    }
  }
}
```

**Claude Desktop** (`claude_desktop_config.json`، عبر جسر `mcp-remote`)

```json
{
  "mcpServers": {
    "anpheros-fhir": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://platform.anpheros.com/mcp", "--header", "Authorization: Bearer ${ANPHEROS_KEY}"],
      "env": { "ANPHEROS_KEY": "sk_test_…" }
    }
  }
}
```

ثم اسأل وكيلك شيئًا مثل: *"أدرج مرضى البيئة التجريبية، اختر المريض المصاب بالسكري ولخص مستوى HbA1c لديه خلال الأشهر الستة الماضية."*

## الأدوات

| الأداة | ما تفعله |
|---|---|
| `list_patients` | مرضى المشروع: الـ 30 شخصية اصطناعية وأي شخصيات قمت بإنشائها |
| `get_patient_context` | سياق جاهز للذكاء الاصطناعي لمريض واحد، ضمن ميزانية رمزية، مع تسمية كل عنصر بمصدره |
| `get_patient_summary` | ملخص المريض الدولي (FHIR `$summary`)، باللغة التي تطلبها |
| `get_timeline` | السجل بترتيب زمني عبر أنواع الموارد |
| `get_health_patterns` | تجريبي: ما تغير وما يتكرر، مع كل نتيجة وفترتها ودليلها وقيودها؛ ليس تشخيصات ([دليل](https://developers.anpheros.com/ar/guides/health-patterns)) |
| `get_pattern_evidence` | تجريبي: كل مورد خلف نتيجة واحدة |
| `get_series` | تجريبي: قياس واحد كقيمة واحدة في اليوم، مع جودة البيانات |
| `compare_periods` | تجريبي: قياس واحد في فترتين تختارها |
| `search_fhir` | بحث FHIR R4 قياسي، يعيد Bundle |
| `read_fhir_resource` | مورد واحد، أو إصدار سابق له |
| `get_provenance` | من كتب مورداً، ومتى ومن أي نظام |
| `lookup_code` | رموز LOINC بالنص أو بالرمز (للأدوية، استخدم `search_health_terms`) |
| `search_health_terms` | الكتالوج العام للأعراض والحالات والعلاجات، بالاسم بـ 20 لغة، مرادف، علامة تجارية أو رمز ([دليل](https://developers.anpheros.com/ar/guides/anpheros-search)) |
| `get_health_term` | إدخال كتالوج واحد مع رموزه وأسمائه وملخص MedlinePlus وروابط المصادر ودواعي الاستخدام المقتبسة من EMA / FDA |
| `validate_fhir_resource` | يتحقق من مورد دون حفظه |
| `create_fhir_resource` | يتحقق من صحة مورد، ثم يكتبه |
| `create_patient` | مريض جديد تم إنشاؤه في المشروع |
| `import_lab_report` | تقرير مختبر بصيغة CSV أو HL7 v2 ORU^R01 أو JSON يصبح ملاحظات مختبرية |
| `sandbox_status` | يكتب المستخدمين اليوم، المرضى، التخزين، عمليات إعادة الضبط |
| `reset_sandbox` | يستعيد الـ 30 مريضًا اصطناعيًا (يطلب التأكيد) |

الأدوات المقروءة معلمة للقراءة فقط، وإعادة الضبط معلمة مدمرة، لذا يمكن للعملاء الذين يطلبون قبل الإجراءات الخطرة القيام بذلك. يوفر الخادم أيضًا قائمة بالمرضى الاصطناعيين كمورد وثلاثة مطالبات: ملخص طبيب، استيراد CSV للمختبر، وبناء تكاملك على API.

## كيف يعمل

- **نفس قواعد واجهة برمجة التطبيقات (API).** كل أداة تستدعي واجهة برمجة التطبيقات العامة باستخدام مفتاحك: نفس النطاقات (scopes)، وحدود المعدل (rate limits)، والتحقق (validation)، والتدقيق (audit). مفتاح القراءة فقط لا يمكنه الكتابة.
- **المصدر (Provenance).** يتم تسجيل كل ما تكتبه الوكالة (agent) مع المصدر `urn:anpheros:mcp`، لذلك يمكنك دائمًا معرفة ما جاء من وكالة.
- **بيانات المريض هي بيانات.** تحمل نتائج الأدوات ملاحظة بأن محتوى السجل يجب ألا يُتبع أبدًا كتعليمات، وهو إجراء وقائي أساسي ضد حقن الأوامر (prompt injection) من خلال السجلات الطبية.
- **سجل واحد، بموافقة.** يتم رفض مفاتيح واجهة برمجة التطبيقات الإنتاجية (production API keys) (`sk_live_…`)، لأنها تصل إلى كل مريض في المشروع. يصل السجل الحقيقي إلى المساعد فقط من خلال OAuth، بعد موافقة الشخص المعني، ويتم تسجيل كل قراءة في سجل الوصول الخاص به.
- **الاكتشاف القياسي.** بدون بيانات اعتماد، يستجيب الخادم بـ 401 مع رأس `WWW-Authenticate` يشير إلى بيانات التعريف الخاصة بموارده المحمية بـ OAuth (RFC 9728)؛ تسجل المساعدات من خلال التسجيل الديناميكي للعملاء (dynamic client registration) (RFC 7591)، مع PKCE. يقبل التسجيل فقط عناوين loopback، ومخططات التطبيقات (app schemes) للمحررين المعروفين، ونطاقات الاستدعاء (callback domains) للمساعدات الذكية المعروفة.

## أسئلة متكررة

### ما هو خادم MCP؟
MCP (بروتوكول سياق النموذج) هو بروتوكول مفتوح تتصل من خلاله وكلاء الذكاء الاصطناعي والمساعدون البرمجيون بأدوات خارجية. يتيح خادم MCP لـ FHIR للوكيل قراءة وكتابة السجلات الصحية مباشرة، بدلاً من لصق البيانات في الدردشة.

### هل هو مجاني؟
نعم. يعمل خادم MCP على البيئة الرملية المجانية: 30 مريضًا اصطناعيًا لكل مشروع، وما يصل إلى 10,000 عملية كتابة في اليوم، بدون بطاقة.

### هل يمكن للمساعد قراءة سجل مريض حقيقي؟
فقط من خلال OAuth، بعد أن يوافق الشخص على المساعد في شاشة الموافقة، للفترة التي يختارها، وسجله الخاص فقط (أو سجل شخص يهتم به). خلال النسخة التجريبية الخاصة، تستخدم اتصالات OAuth سجلات البيئة الرملية.

### أي إصدار من FHIR يستخدم؟
HL7 FHIR R4 (4.0.1)، نفس واجهة برمجة التطبيقات (API) مثل https://platform.anpheros.com/fhir/R4, مع الملخص الدولي للمرضى وعرض REST لنفس البيانات.

### هل يعمل مع ChatGPT؟
تستخدم موصلات ChatGPT OAuth مع تسجيل العميل الديناميكي، والذي يدعمه الخادم، ويتم قبول نطاق الاستدعاء الخاص به. لقد اختبرنا التدفق باستخدام عميل MCP SDK الرسمي؛ إذا فشل اتصال ChatGPT، فاكتب إلى support@anpheros.com. يعمل Claude Code و Cursor و VS Code أيضًا باستخدام مفتاح البيئة الرملية.

## مواضيع ذات صلة

- [كيفية منح وكيل ذكاء اصطناعي إمكانية الوصول إلى السجلات الطبية](https://developers.anpheros.com/ar/guides/ai-agent-access-medical-records): دليل تفصيلي بلغة Python
- [قاعدة بيانات FHIR مجانية وبيئة اختبار](https://developers.anpheros.com/ar/guides/free-fhir-database)
- [وكلاء الذكاء الاصطناعي والبيانات الطبية](https://developers.anpheros.com/ar/guides/ai-agents-medical-data)
- [تطبيقات LLM وبيانات الرعاية الصحية](https://developers.anpheros.com/ar/guides/llm-healthcare-data)
- [واجهة برمجة تطبيقات الرعاية الصحية بموافقة المريض](https://developers.anpheros.com/ar/guides/healthcare-api-patient-consent)
