Token导航 LogoToken导航TokenDH.com
Eka MCP SDK logo
AI代理stdio官方级别未说明来源级核验

Eka MCP SDK

MCP Server

一个Python库和自托管MCP服务器,用于将Eka.care的医疗健康API暴露给LLM应用程序使用。可作为库集成到项目中或独立运行。

工具数

4

提示词数

0

GitHub Stars

10

资源数

0
多租户PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

eka-care

提供方

eka-care

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install git+https://github.com/eka-care/eka-mcp-sdk.git@main

详细介绍

Eka.care MCP SDK

Python库和自托管MCP服务器,将Eka.care的医疗保健API暴露给LLM应用程序。将其用作您自己项目中的可导入库,或直接作为独立的MCP服务器运行。

📚 文档

- 架构与设置(CLAUDE.md) - 日志记录指南(LOGGING.md) - 测试指南(测试指南.md) - 工具选择指南(工具_选择_GUIDE.md)

特性

  • 可导入库:在Python应用程序中直接使用服务和客户端
  • 自托管MCP服务器:对于Claude Desktop和其他MCP客户端,以stdio或HTTP运行
  • 模块化架构:易于通过附加API模块进行扩展
  • 简单身份验证:客户端ID/Secret+可选API密钥身份验证
  • 全面的错误处理:直接转发Eka.care API错误以提高透明度
  • LLM优化响应:针对LLM消费优化的结构化数据格式
  • 多租户工作区路由:将请求路由到不同的客户端实现

支持的API模块

医生工具

  • 预约管理:创建、更新和检索约会
  • 数字处方:生成和管理数字处方
  • 病历记录:访问和管理患者病历
  • 处方历史:检索患者处方历史记录

可扩展模块

您可以轻松添加更多API模块,如:

  • ABDM连接器:健康ID创建、同意管理、健康记录共享
  • 自我评估:健康调查、症状检查、记录分析
  • 自定义模块:使用基本客户端架构构建自己的

安装

作为图书馆(在您的项目中)

# Latest from main
pip install git+https://github.com/eka-care/eka-mcp-sdk.git@main

# Or pin to a specific release tag
pip install git+https://github.com/eka-care/eka-mcp-sdk.git@v0.1.0

随着 uv:

uv add "eka-mcp-sdk @ git+https://github.com/eka-care/eka-mcp-sdk.git@main"

用于本地开发/自托管服务器

git clone https://github.com/eka-care/eka-mcp-sdk.git
cd eka-mcp-sdk

# Install with UV (recommended)
uv sync

# Or with pip
pip install -e .

配置

创建一个 .env 文件:

# API Configuration
EKA_API_BASE_URL=https://api.eka.care

# Authentication (get from ekaconnect@eka.care)
EKA_CLIENT_ID=your_client_id
EKA_CLIENT_SECRET=your_client_secret
EKA_API_KEY=your_api_key  # Optional

# Server configuration
EKA_MCP_SERVER_HOST=localhost
EKA_MCP_SERVER_PORT=8000
EKA_LOG_LEVEL=INFO

用作Python库

from eka_mcp_sdk.services import PatientService, AppointmentService
from eka_mcp_sdk.clients.eka_emr_client import EkaEMRClient

client = EkaEMRClient()
patient_service = PatientService(client)
result = await patient_service.search_patients("john")

对于同步上下文(例如CrewAI):

from eka_mcp_sdk.lib import search_patients_sync, get_appointments_enriched_sync

patients = search_patients_sync("john", limit=10)

作为MCP服务器运行

source .venv/bin/activate  # On macOS/Linux

# stdio (for Claude Desktop)
eka-mcp-server

# HTTP mode
eka-mcp-server --transport http --host 0.0.0.0 --port 8000

# Or alternatively
python -m eka_mcp_sdk.server

使用Claude Desktop

添加到您的Claude Desktop MCP配置中。 重要:使用虚拟环境Python可执行文件的完整路径:

{
  "mcpServers": {
    "eka-care": {
      "command": "/absolute/path/to/eka-mcp-sdk/.venv/bin/python",
      "args": ["-m", "eka_mcp_sdk.server"],
      "env": {
        "EKA_CLIENT_ID": "your_client_id",
        "EKA_CLIENT_SECRET": "your_client_secret", 
        "EKA_API_KEY": "your_api_key"
      }
    }
  }
}

替代配置(如果eka mcp服务器在PATH中)

如果您全局安装了该包或将虚拟环境添加到PATH中:

{
  "mcpServers": {
    "eka-care": {
      "command": "eka-mcp-server",
      "env": {
        "EKA_CLIENT_ID": "your_client_id",
        "EKA_CLIENT_SECRET": "your_client_secret",
        "EKA_API_KEY": "your_api_key"
      }
    }
  }
}

API文档

医生工具示例

# Create an appointment
create_appointment(
    doctor_id="doc-456",
    patient_id="patient-789", 
    appointment_date="2024-01-15",
    appointment_time="10:30",
    appointment_type="consultation"
)

# Generate a prescription  
generate_prescription(
    patient_id="patient-789",
    doctor_id="doc-456",
    medications=[
        {
            "name": "Amoxicillin",
            "dosage": "500mg", 
            "frequency": "3 times daily",
            "duration": "7 days"
        }
    ],
    diagnosis="Upper respiratory infection",
    instructions="Take with food. Complete the full course."
)

# Get patient records
get_patient_records(
    patient_id="patient-789",
    record_type="lab_reports"
)

构建托管解决方案

此SDK支持 多租户工作空间路由 其中不同的客户端(Eka、Moolchand等)可以将相同的工具与自己的API实现一起使用。

建筑

Tools (client-agnostic) → Services → Client (all orchestration + API calls)
                                       ↑
                              ClientFactory.create_client(workspace_id)

创建新客户端

1.实施 BaseEMRClient:

# eka_mcp_sdk/clients/moolchand_client.py
from .base_emr_client import BaseEMRClient

class MoolchandClient(BaseEMRClient):
    def get_workspace_name(self) -> str:
        return "moolchand"
    
    # Implement all abstract methods with your API logic
    async def doctor_availability_elicitation(self, ...): ...
    async def book_appointment_with_validation(self, ...): ...

2.通过环境配置:

# Map workspace IDs to client classes (JSON format)
WORKSPACE_CLIENT_DICT={"moolchand": "eka_mcp_sdk.clients.moolchand_client.MoolchandClient"}

# Default workspace when no header present
EKA_WORKSPACE_CLIENT_TYPE=ekaemr

3.工作区布线 通过以下方式自动发生 x-eka-jwt-payload 标题包含 w-id.

发展

git clone https://github.com/eka-care/eka-mcp-sdk.git
cd eka-mcp-sdk

# Install with development dependencies
uv sync --extra dev

# Run tests
uv run pytest

# Format code
uv run black .
uv run isort .

# Type checking
uv run mypy .

添加新的API模块

  1. 在中创建客户端 eka_mcp_sdk/clients/
  2. 在中实施MCP工具 eka_mcp_sdk/tools/
  3. 在中注册工具 server.py
  4. 更新文档

运行示例

python examples/direct_usage.py
python examples/crewai_usage.py  # Requires: uv add crewai
cat examples/MCP_USAGE.md

配置参考

环境变量描述默认值
EKA_API_BASE_URLEka.care API基础URLhttps://api.eka.care
EKA_CLIENT_ID来自Eka.care的客户ID必填
EKA_CLIENT_SECRET来自Eka.care的客户机密必填
EKA_API_KEY用于附加身份验证的API密钥可选
EKA_MCP_SERVER_HOSTMCP服务器主机localhost
EKA_MCP_SERVER_PORTMCP服务器端口8000
EKA_LOG_LEVEL日志记录级别INFO

故障排除

Git标签版本控制(阴影vcs)

  • 标签必须遵循PEP 440: v0.2.0a1, v0.2.0rc1, v0.2.0.dev1 --不是 v0.1.0-test
  • 如果同一提交中的有效标签旁边存在无效标签, setuptools_scm 可以选择无效的→ 删除坏标签: git push origin --delete
  • 修复标签后,清除uv的构建缓存: uv cache clean

______________________________________________________________________

支持

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

目录标签

目录标签

多租户PythonClaude医疗API本地部署Python库自托管服务LLM集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP