Smart Server
БесплатноНе проверенEnables AI assistants to securely interact with FHIR R4 servers for clinical decision support workflows, including PlanDefinition execution, FHIR resource manag
Описание
Enables AI assistants to securely interact with FHIR R4 servers for clinical decision support workflows, including PlanDefinition execution, FHIR resource management, terminology services, and Questionnaire/StructureMap transformation via Matchbox.
README
A Model Context Protocol (MCP) server that provides comprehensive FHIR R4 operations including PlanDefinition $apply, resource management, terminology services, and Questionnaire/StructureMap transformation via Matchbox.
Purpose
This MCP server provides a secure interface for AI assistants to interact with FHIR R4 servers, enabling clinical decision support workflows through PlanDefinitions, resource creation/management, terminology lookups, and structured data capture via Questionnaires.
Features
ImplementationGuide Context Management
fhir_set_implementation_guide_context- Set the IG context for resource validationfhir_get_current_implementation_guide_context- Get the currently set IG contextfhir_get_implementation_guide- Retrieve full IG details by ID or URLfhir_list_implementation_guides- List available IGs on the server
PlanDefinition Operations
fhir_list_plan_definitions- List available PlanDefinitions with filtersfhir_get_plan_definition- Get full PlanDefinition details including actionsfhir_apply_plan_definition- Execute $apply to generate a CarePlan
Generic Resource Operations
fhir_get_resource- Retrieve any FHIR resource by type and IDfhir_search_resources- Search resources with FHIR search parametersfhir_create_resource- Create any FHIR resource using raw JSONfhir_update_resource- Update an existing resourcefhir_delete_resource- Delete a resource
Terminology Services
fhir_list_valuesets- List available ValueSetsfhir_expand_valueset- Expand a ValueSet to get all codesfhir_list_codesystems- List available CodeSystemsfhir_lookup_code- Look up a code's display and properties
Questionnaire Operations
fhir_get_questionnaire- Retrieve a Questionnaire for data capturefhir_list_questionnaires- List available Questionnairesfhir_transform_questionnaire_response- Transform via StructureMap on Matchbox
Server Information
fhir_get_server_capability- Get the server's CapabilityStatement
Prerequisites
- Docker Desktop with MCP Toolkit enabled
- Docker MCP CLI plugin (
docker mcpcommand) - FHIR R4 server running (default: http://localhost:8080/fhir)
- Matchbox server for StructureMap transforms (default: http://localhost:8081/matchboxv3/fhir)
Configuration
Environment variables:
FHIR_SERVER_URL- Base URL of the FHIR server (default: http://localhost:8080/fhir)MATCHBOX_SERVER_URL- Base URL of Matchbox server (default: http://localhost:8081/matchboxv3/fhir)
Installation
See the step-by-step instructions provided with the files.
Usage Examples
In Claude Desktop, you can ask:
ImplementationGuide Context
- "Set the implementation guide context to the WHO SMART Guidelines IG"
- "What implementation guide are we currently using?"
- "List all available implementation guides"
PlanDefinition Workflows
- "List all active plan definitions"
- "Show me the details of the diabetes screening plan definition"
- "Apply the immunization plan definition to Patient/123"
- "What actions are defined in PlanDefinition/anc-contact?"
Resource Management
- "Create a new Patient resource with name John Smith, born 1980-01-15"
- "Search for all Observations for Patient/123"
- "Get the Condition with ID abc123"
- "Delete the Observation with ID temp-obs-1"
Terminology
- "List ValueSets related to pregnancy"
- "Expand the administrative gender ValueSet"
- "Look up LOINC code 8867-4"
- "What codes are in the observation category CodeSystem?"
Questionnaire Workflow
- "Get the ANC registration questionnaire"
- "List all active questionnaires"
- "Transform this QuestionnaireResponse using the ANC StructureMap"
Architecture
Claude Desktop → MCP Gateway → FHIR MCP Server → FHIR Server (localhost:8080)
↓
Matchbox Server (localhost:8081)
(for StructureMap transforms)
Workflow: Using Questionnaires to Create Resources
- Get the Questionnaire: Use
fhir_get_questionnaireto retrieve the questionnaire structure - Ask Questions: The agent asks the user each question based on the Questionnaire items
- Build QuestionnaireResponse: The agent constructs the QuestionnaireResponse JSON
- Transform: Use
fhir_transform_questionnaire_responseto convert to FHIR resources via Matchbox - Create Resources: The transformed Bundle can be processed to create individual resources
Workflow: Applying PlanDefinitions
- Set Context: Use
fhir_set_implementation_guide_contextto set the IG - Find PlanDefinition: Use
fhir_list_plan_definitionsto find available plans - Review Requirements: Use
fhir_get_plan_definitionto see what data is needed - Prepare Data: Create required resources (Patient, Observations, etc.)
- Apply: Use
fhir_apply_plan_definitionto generate the CarePlan - Process: The agent processes the returned CarePlan activities
Development
Local Testing
# Set environment variables for testing
export FHIR_SERVER_URL="http://localhost:8080/fhir"
export MATCHBOX_SERVER_URL="http://localhost:8081/matchboxv3/fhir"
# Run directly
python fhir_server.py
# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python fhir_server.py
Adding New Tools
- Add the function to
fhir_server.py - Decorate with
@mcp.tool() - Use SINGLE-LINE docstrings only
- Use empty string defaults for parameters
- Update the catalog entry with the new tool name
- Rebuild the Docker image
Troubleshooting
Tools Not Appearing
- Verify Docker image built successfully
- Check catalog and registry files
- Ensure Claude Desktop config includes custom catalog
- Restart Claude Desktop
FHIR Server Connection Errors
- Verify FHIR server is running and accessible
- Check the FHIR_SERVER_URL environment variable
- Test with:
curl http://localhost:8080/fhir/metadata
Matchbox Transform Errors
- Verify Matchbox server is running
- Check that the StructureMap exists and is valid
- Ensure QuestionnaireResponse references the correct Questionnaire
Validation Errors
- Set the ImplementationGuide context before creating resources
- Check that resources conform to the expected profiles
- Review the OperationOutcome details in error messages
Security Considerations
- No authentication configured by default (suitable for local development)
- For production, configure FHIR server authentication
- Running as non-root user in Docker
- Sensitive data never logged
FHIR Resources
- FHIR R4 Specification: https://hl7.org/fhir/R4/
- PlanDefinition: https://hl7.org/fhir/R4/plandefinition.html
- $apply Operation: https://hl7.org/fhir/R4/plandefinition-operation-apply.html
- Questionnaire: https://hl7.org/fhir/R4/questionnaire.html
- StructureMap: https://hl7.org/fhir/R4/structuremap.html
License
MIT License
Установка Smart Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/DigitalSQR/smart-mcp-serverFAQ
Smart Server MCP бесплатный?
Да, Smart Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Smart Server?
Нет, Smart Server работает без API-ключей и переменных окружения.
Smart Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Smart Server в Claude Desktop, Claude Code или Cursor?
Открой Smart Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Smart Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
