AWS DATA SERVICES / AWS Labs
AWS Labs HealthLake
Discovers HealthLake datastores and reads or manages FHIR resources, with an explicit read-only mode.
“A Model Context Protocol (MCP) server for AWS HealthLake FHIR operations.”
01 / THE REASONING
Why this made the selection.
- Specialized publisher integration with documented IAM and data access boundaries.
- Inspect an authorized test datastore and validate FHIR search parameters.
- The catalogue does not already have src/healthlake-mcp-server/README.md.
- The README separates six read operations from five blocked writes and shows that the recommended uvx line omits --readonly.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- src/healthlake-mcp-server/README.md
- src/healthlake-mcp-server/pyproject.toml
- src/healthlake-mcp-server/awslabs/healthlake_mcp_server/server.py
- Root README.md and LICENSE
- LICENSE
Our findings
- main.py wires --readonly into the factory; ToolHandler filters registered handlers and rejects prohibited write names, with additional checks in write handlers.
- The opening sentence says 11 FHIR tools. The tool list is 2 datastore tools, 4 CRUD tools, 2 search tools, and 3 job tools. The read-only tables list 6 available operations and 5 blocked operations. Those counts agree with each other.
- Option 1 shows uvx awslabs.healthlake-mcp-server@latest with no --readonly. A later example is the same command with --readonly, and the blocked table names create, update, delete, and the two job-start tools.
- The file does not contain stdio, sse, or streamable. Client examples are local uvx, uv tool install, python -m, and docker run without a published port. stdio is inferred from that local CLI install.
Not established by this review
- Server startup, authentication, live tool execution and security isolation were not tested.
- Published package/container parity with a source revision and hosted implementation internals were not tested.
- The resource was not executed and its tools were not called.
- No FHIR request was sent.
- Read-only mode was not tested.
- The stated unit-test count and coverage were not rerun.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Connect a server deliberately.
DOCUMENTED COMMAND
uvx awslabs.healthlake-mcp-server@latest --readonly Copying does not execute this command. It may retrieve a newer version than the reviewed source.
- Use a test datastore and AWS credentials limited to the required FHIR reads.
- Launch with --readonly, discover the datastore, and verify its ID/region before retrieval.
- Use bounded queries and review returned pagination/version context before summarizing results.
Before you start
- Python 3.10 or newer, uv/uvx and an MCP client that can launch a local stdio process.
- An AWS account, configured credentials and access to the intended region and service resources.
Documented configuration example
Use the client and authentication context described in the setup guidance. Configuration formats vary between hosts.
{
"mcpServers": {
"awslabs-healthlake": {
"command": "uvx",
"args": [
"awslabs.healthlake-mcp-server@latest",
"--readonly"
],
"env": {
"AWS_PROFILE": "YOUR_RESTRICTED_PROFILE",
"AWS_REGION": "us-east-1"
}
}
}
} 04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/src/healthlake-mcp-server/README.md
Supports: summary, install, configExample, access, limitations, bestFor, review, compatibility, transports
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/src/healthlake-mcp-server/pyproject.toml
Supports: summary, install, configExample, access, limitations, bestFor, review, compatibility, transports
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/src/healthlake-mcp-server/awslabs/healthlake_mcp_server/server.py
Supports: summary, install, configExample, access, limitations, bestFor, review, compatibility, transports
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/README.md
Supports: summary, install, configExample, access, limitations, bestFor, review, compatibility, transports
- Applicable licence ↗Checked
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/LICENSE
Supports: license
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/src/healthlake-mcp-server/awslabs/healthlake_mcp_server/main.py
Supports: summary, install, configExample, access, limitations, bestFor, review, compatibility, transports
- HealthLake MCP README ↗Checked
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/src/healthlake-mcp-server/README.md
Supports: 11 FHIR tools and the --readonly split
- Repository LICENSE ↗Checked
https://github.com/awslabs/mcp/blob/8840003820a78dd018561d55c7ab12fcdd708464/LICENSE
Supports: Apache License Version 2.0