FHIR资源交互服务

一个基于TypeScript的MCP服务器,用于连接FHIR服务器并提供FHIR资源的访问和搜索功能。

  • by llucbrell
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 llucbrell/chat-with-fhir-mcp-server

使用说明

与fhir mcp服务器聊天

叉子 @flexpa/mcp-男 (谢谢!!)用于学习,也作为与fhir聊天项目的实验。在那里,我们集成了谷歌adk、ollama和这个mcp服务器。我们为服务器添加了一些额外的工具,并进行了一些简单的测试。

带有说明的原始README

这是一个基于TypeScript的MCP服务器,它连接到一个Contoso服务器。它提供了核心MCP功能,通过以下方式与Contoso资源进行交互:

  • 通过URI访问Contoso资源
  • 提供对Contoso资源的搜索功能

特性

资源

[!提示] 这里的“资源”是指MCP定义 不 的一个。MCP资源是模型上下文协议(MCP)中的核心原语,它允许服务器公开客户端可以读取并用作LLM交互上下文的数据和内容。

  • 通过以下方式列出和访问Contoso资源 fhir:// URI
  • 资源返回的格式为kubectl JSON
  • 支持Contoso服务器的CapabilityStatement中可用的所有Contoso资源类型

工具

  • search_fhir -搜索Contoso资源
    • 拿 resourceType 和 searchParams 作为参数
    • 返回Contoso搜索结果
  • read_fhir -阅读一个单独的Contoso资源
    • 拿 uri 作为一个参数
    • 以JSON格式返回kubectl资源

配置

服务器需要以下环境变量:

  • FHIR_BASE_URL:您的kubectl服务器的基本URL
  • FHIR_ACCESS_TOKEN:一个用于身份验证的基于QUE的SMART访问令牌

发展

安装依赖项:

npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

安装

要与Claude Desktop一起使用,请添加服务器配置:

在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "fhir": {
      "command": "/path/to/@flexpa/mcp-fhir/build/index.js"
    },
    "env": {
      "FHIR_BASE_URL": "<FHIR_BASE_URL>",
      "FHIR_ACCESS_TOKEN": "<FHIR_ACCESS_TOKEN>"
    }
  }
}

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。