Skip to content

Commit 29efc4a

Browse files
aws-steveSteven Johnston
andauthored
feat: New HealthLake MCP Server (#1122)
* healthlake mcp server initial commit * removed .python-version from .gitignore * Dockerfile update, new alpine image and update to .dockerignore * test_server.py fix * test_server.py fix 2 ruff changes * pyright fix * pyright fixes, ruff edits * log issue * user_agent_extra addition linter changes * import comments added - ruff changes * tests changes * tests coverage expansion * list_resources fix * pyright fixes * extensive tests coverage changes * additions to testing suite * makefile edits * makefile changes * makefile streamlining * tests streamlining * readme tweak * test changes * fixed tests * test amendments * test coverage improvements * test coverage improvements * test coverage improvements * test coverage improvements * test coverage improvements * server.py refinement * codeowners update * codeowners update * docusaurus changes * test edits * mock integration tests * readme updates * test coverage increase * test coverage increase * additional test coverage * test coverage additions and readme update * Loguru implementation * Loguru docs and mcp_config example update * docusaurus server-cards update * quick installation for cursor and vscode * readonly mode implementation * doc updates * test fixes * Makefile removal and migration to poe * readme tweaks --------- Co-authored-by: Steven Johnston <[email protected]>
1 parent baa41cb commit 29efc4a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+8724
-1
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ NOTICE @awsla
6060
/src/finch-mcp-server @Shubhranshu153 @pendo324 @awslabs/mcp-admins
6161
/src/frontend-mcp-server @awslabs/mcp-maintainers @awslabs/mcp-admins
6262
/src/git-repo-research-mcp-server @jonslo @awslabs/mcp-admins
63+
/src/healthlake-mcp-server @aws-steve @awsri @awslabs/mcp-admins
6364
/src/iam-mcp-server @oshardik @awslabs/mcp-admins
6465
/src/lambda-tool-mcp-server @danilop @jsamuel1 @awslabs/mcp-admins
6566
/src/mcp-lambda-handler @mikegc-aws @Lukas-Xue @awslabs/mcp-admins

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,10 @@ Interact with AWS HealthAI services.
261261
|-------------|-------------|---------|
262262
| [AWS HealthOmics MCP Server](src/aws-healthomics-mcp-server) | Generate, run, debug and optimize lifescience workflows | [![Install](https://img.shields.io/badge/Install-Cursor-blue?style=flat-square&logo=cursor)](https://cursor.com/en/install-mcp?name=awslabs.aws-healthomics-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuYXdzLWhlYWx0aG9taWNzLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkFXU19SRUdJT04iOiJ1cy1lYXN0LTEiLCJBV1NfUFJPRklMRSI6InlvdXItcHJvZmlsZSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiV0FSTklORyJ9fQ%3D%3D) <br/>[![Install on VS Code](https://img.shields.io/badge/Install-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=AWS%20HealthOmics%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.aws-healthomics-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_REGION%22%3A%22us-east-1%22%2C%22AWS_PROFILE%22%3A%22your-profile%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22WARNING%22%7D%7D) |
263263

264+
| [AWS HealthLake MCP Server](src/healthlake-mcp-server) | Create, manage, search, and optimize FHIR healthcare data workflows with comprehensive AWS HealthLake integration, featuring automated resource discovery,
265+
advanced search capabilities, patient record management, and seamless import/export operations. | [![Install](https://img.shields.io/badge/Install-Cursor-blue?style=flat-square&logo=cursor)](https://cursor.com/en/install-mcp?name=awslabs.healthlake-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuYXdzLWhlYWx0aG9taWNzLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkFXU19SRUdJT04iOiJ1cy1lYXN0LTEiLCJBV1NfUFJPRklMRSI6InlvdXItcHJvZmlsZSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiV0FSTklORyJ9fQ%3D%3D) <br/>[![Install on VS Code](https://img.shields.io/badge/Install-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=AWS%20HealthOmics%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.healthlake-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_REGION%22%3A%22us-east-1%22%2C%22AWS_PROFILE%22%3A%22your-profile%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22WARNING%22%7D%7D) |
266+
267+
---
264268
---
265269

266270
### Browse by How You're Working
@@ -319,6 +323,11 @@ Interact with AWS HealthAI services.
319323
|-------------|-------------|---------|
320324
| [AWS HealthOmics MCP Server](src/aws-healthomics-mcp-server) | Generate, run, debug and optimize lifescience workflows | [![Install](https://img.shields.io/badge/Install-Cursor-blue?style=flat-square&logo=cursor)](https://cursor.com/en/install-mcp?name=awslabs.aws-healthomics-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuYXdzLWhlYWx0aG9taWNzLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkFXU19SRUdJT04iOiJ1cy1lYXN0LTEiLCJBV1NfUFJPRklMRSI6InlvdXItcHJvZmlsZSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiV0FSTklORyJ9fQ%3D%3D) <br/>[![Install on VS Code](https://img.shields.io/badge/Install-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=AWS%20HealthOmics%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.aws-healthomics-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_REGION%22%3A%22us-east-1%22%2C%22AWS_PROFILE%22%3A%22your-profile%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22WARNING%22%7D%7D) |
321325

326+
##### Healthcare Data Management
327+
328+
| [AWS HealthLake MCP Server](src/healthlake-mcp-server) | Create, manage, search, and optimize FHIR healthcare data workflows with comprehensive AWS HealthLake integration, featuring automated resource discovery,
329+
advanced search capabilities, patient record management, and seamless import/export operations. | [![Install](https://img.shields.io/badge/Install-Cursor-blue?style=flat-square&logo=cursor)](https://cursor.com/en/install-mcp?name=awslabs.healthlake-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuYXdzLWhlYWx0aG9taWNzLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkFXU19SRUdJT04iOiJ1cy1lYXN0LTEiLCJBV1NfUFJPRklMRSI6InlvdXItcHJvZmlsZSIsIkZBU1RNQ1BfTE9HX0xFVkVMIjoiV0FSTklORyJ9fQ%3D%3D) <br/>[![Install on VS Code](https://img.shields.io/badge/Install-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=AWS%20HealthOmics%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.healthlake-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22AWS_REGION%22%3A%22us-east-1%22%2C%22AWS_PROFILE%22%3A%22your-profile%22%2C%22FASTMCP_LOG_LEVEL%22%3A%22WARNING%22%7D%7D) |
330+
322331

323332
#### 💬 Conversational Assistants
324333

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: HealthLake MCP Server
3+
---
4+
5+
import ReadmeContent from "../../../src/healthlake-mcp-server/README.md";
6+
7+
<div className="readme-content">
8+
<style>
9+
{`
10+
.readme-content h1:first-of-type {
11+
display: none;
12+
}
13+
`}
14+
</style>
15+
<ReadmeContent />
16+
</div>

docusaurus/sidebars.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,10 @@ const sidebars: SidebarsConfig = {
130130
{
131131
type: 'category',
132132
label: 'Healthcare & Lifesciences',
133-
items: ['servers/aws-healthomics-mcp-server'],
133+
items: [
134+
'servers/aws-healthomics-mcp-server',
135+
'servers/healthlake-mcp-server',
136+
],
134137
},
135138
],
136139
},

docusaurus/static/assets/server-cards.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,6 +1097,25 @@
10971097
"vibe-coding"
10981098
]
10991099
},
1100+
{
1101+
"category": "Healthcare & Lifesciences",
1102+
"description": "Perform Fast Healthcare Interoperability Resources (FHIR) interactions and manage AWS HealthLake datastores",
1103+
"icon": "\ud83e\uddc0",
1104+
"id": "healthlake-mcp-server",
1105+
"name": "HealthLake MCP Server",
1106+
"source_path": "src/healthlake-mcp-server/",
1107+
"subcategory": "FHIR resource management",
1108+
"tags": [
1109+
"healthcare",
1110+
"lifesciences",
1111+
"healthlake",
1112+
"fhir",
1113+
"vibe-coding"
1114+
],
1115+
"workflows": [
1116+
"vibe-coding"
1117+
]
1118+
},
11001119
{
11011120
"category": "Cost & Operations",
11021121
"description": "Application monitoring and performance insights",
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Virtual environments
2+
.venv/
3+
venv/
4+
5+
# Git
6+
.git/
7+
.gitignore
8+
9+
# Python cache
10+
__pycache__/
11+
*.pyc
12+
*.pyo
13+
*.pyd
14+
.Python
15+
*.so
16+
17+
# Testing
18+
.pytest_cache/
19+
tests/results/
20+
.coverage
21+
22+
# IDE
23+
.vscode/
24+
.idea/
25+
26+
# Documentation
27+
docs/
28+
29+
# Build artifacts
30+
build/
31+
dist/
32+
*.egg-info/
33+
34+
# OS
35+
.DS_Store
36+
Thumbs.db
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
25+
*.egg-info/
26+
.installed.cfg
27+
*.egg
28+
MANIFEST
29+
30+
# PyInstaller
31+
# Usually these files are written by a python script from a template
32+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33+
*.manifest
34+
*.spec
35+
36+
# Installer logs
37+
pip-log.txt
38+
pip-delete-this-directory.txt
39+
40+
# Unit test / coverage reports
41+
htmlcov/
42+
.tox/
43+
.nox/
44+
.coverage
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
*.py,cover
51+
.hypothesis/
52+
.pytest_cache/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
target/
76+
77+
# Jupyter Notebook
78+
.ipynb_checkpoints
79+
80+
# IPython
81+
profile_default/
82+
ipython_config.py
83+
84+
# pipenv
85+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
86+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
87+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
88+
# install all needed dependencies.
89+
#Pipfile.lock
90+
91+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
92+
__pypackages__/
93+
94+
# Celery stuff
95+
celerybeat-schedule
96+
celerybeat.pid
97+
98+
# SageMath parsed files
99+
*.sage.py
100+
101+
# Environments
102+
.env
103+
.venv
104+
env/
105+
venv/
106+
ENV/
107+
env.bak/
108+
venv.bak/
109+
110+
# Spyder project settings
111+
.spyderproject
112+
.spyproject
113+
114+
# Rope project settings
115+
.ropeproject
116+
117+
# mkdocs documentation
118+
/site
119+
120+
# mypy
121+
.mypy_cache/
122+
.dmypy.json
123+
dmypy.json
124+
125+
# Pyre type checker
126+
.pyre/
127+
128+
# AWS credentials
129+
.aws/
130+
131+
# IDE files
132+
.vscode/
133+
.idea/
134+
*.swp
135+
*.swo
136+
137+
# OS files
138+
.DS_Store
139+
Thumbs.db
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.10
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## Unreleased
9+
10+
### Added
11+
12+
- Initial project setup

0 commit comments

Comments
 (0)