FHIR chart tools for MCP: read-only by default, with elicitation-gated, human-approved writes.
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add last-ehr-medplum --env MEDPLUM_ACCESS_TOKEN='<MEDPLUM_ACCESS_TOKEN>' --env MEDPLUM_CLIENT_SECRET='<MEDPLUM_CLIENT_SECRET>' -- npx -y @lastehr/mcp~/.codex/config.toml
[mcp_servers.last-ehr-medplum]
command = "npx"
args = ["-y", "@lastehr/mcp"]
env = { MEDPLUM_ACCESS_TOKEN = "<MEDPLUM_ACCESS_TOKEN>", MEDPLUM_CLIENT_SECRET = "<MEDPLUM_CLIENT_SECRET>" }
# codex mcp add last-ehr-medplum --env MEDPLUM_ACCESS_TOKEN='<MEDPLUM_ACCESS_TOKEN>' --env MEDPLUM_CLIENT_SECRET='<MEDPLUM_CLIENT_SECRET>' -- npx -y @lastehr/mcp~/.cursor/mcp.json
{
"mcpServers": {
"last-ehr-medplum": {
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<MEDPLUM_ACCESS_TOKEN>",
"MEDPLUM_CLIENT_SECRET": "<MEDPLUM_CLIENT_SECRET>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"last-ehr-medplum": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<MEDPLUM_ACCESS_TOKEN>",
"MEDPLUM_CLIENT_SECRET": "<MEDPLUM_CLIENT_SECRET>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"last-ehr-medplum": {
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<MEDPLUM_ACCESS_TOKEN>",
"MEDPLUM_CLIENT_SECRET": "<MEDPLUM_CLIENT_SECRET>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"last-ehr-medplum": {
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<MEDPLUM_ACCESS_TOKEN>",
"MEDPLUM_CLIENT_SECRET": "<MEDPLUM_CLIENT_SECRET>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"last-ehr-medplum": {
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<MEDPLUM_ACCESS_TOKEN>",
"MEDPLUM_CLIENT_SECRET": "<MEDPLUM_CLIENT_SECRET>"
}
}
}
}需要的环境变量
MEDPLUM_ACCESS_TOKENMEDPLUM_CLIENT_SECRET
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。