Token导航 LogoToken导航

MCP Server · 数据服务

Clinic MCP Server

一个用于诊所调度领域的演示服务器,支持用户、支付方式、医生、时间段和预约管理,基于SQLite数据库,提供多种传输协议和JWT授权。

stdio官方级别未说明来源级核验工具 0
HTTP传输PythonSQLite

快速开始

作者 / 组织
vz-ibm
提供方
vz-ibm
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Clinic MCP Server 属于数据服务类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

数据服务

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

python --version

客户端配置示例

{
  "mcpServers": {
    "clinic-mcp-server": {
      "command": "python",
      "args": [
        "--version"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

诊所MCP服务器

用于SQLite支持的诊所调度域(用户、支付方式、医生、插槽、预约)的演示MCP服务器。

支持 三次运输:

  • 标准 (本地MCP客户/代理商)
  • 可流式传输http
  • SSE

支持 JWT授权 用于HTTP传输(可配置)。

______________________________________________________________________

项目结构

data/                        # database file. git ignored
src/clinic_mcp_server/
  __init__.py / __main__.py  # entry point
  cli.py                     # Typer CLI (run / reset-db)
  clinic/
    clinic_service.py        # domain service
    domain/                  # data types, repo Protocol, enums
    sqlite/                  # SQLite repo + seed data
  mcp/
    clinic_server.py         # FastMCP tool definitions
    auth/                    # JWT + ASGI middleware
    runtime/                 # settings, runner, health endpoint
tests/
  ...

______________________________________________________________________

发展

先决条件

  • python 3.12+
  • uv 安装

检查:

python --version
uv --version

______________________________________________________________________

安装(dev)

从repo根目录:

uv venv
uv sync

推荐的开发依赖关系:

  • pytest
  • pytest-asyncio
  • pytest-cov
  • typer
  • uvicorn
  • ruff
  • pyright

______________________________________________________________________

运行测试

uv run pytest -q

覆盖范围:

uv run pytest -q --cov=clinic_mcp_server --cov-report=term-missing

______________________________________________________________________

棉绒/类型检查

拉夫

uv run ruff check .

自动修复:

uv run ruff check --fix .

Pyright

安装:

uv add --dev pyright

运行:

uv run pyright

______________________________________________________________________

通过Python包使用

入口点支持两者 新的Typer子命令样式 和 遗留标志 (为了向后兼容性)。

1) 流式HTTP(推荐)

uv run python -m clinic_mcp_server run \
  --transport streamable-http \
  --host 0.0.0.0 \
  --port 8080

______________________________________________________________________

2) SSE运输

uv run python -m clinic_mcp_server run \
  --transport sse \
  --host 0.0.0.0 \
  --port 8080

______________________________________________________________________

3) STDIO传输

uv run python -m clinic_mcp_server run --transport stdio

______________________________________________________________________

数据库位置

默认情况下,SQLite文件是在以下位置创建的:

data/clinic.db

以(权力)否决

export CLINIC_DB_PATH="/tmp/clinic.db"

______________________________________________________________________

JWT授权

默认情况下,JWT为 必需的 用于HTTP传输。

启动时,服务器打印 演示令牌. 这样使用它:

Authorization: Bearer 

使用env变量配置JWT:

export JWT_SECRET="dev-secret-change-me"
export JWT_REQUIRED="true"                 # default true for HTTP, false for stdio
export JWT_ALLOWLIST_PATHS="/health"       # endpoints that bypass auth
export JWT_AUDIENCE="clinic"               # optional
export JWT_ISSUER="clinic-mcp"             # optional

禁用JWT(除测试/本地外不建议使用):

export JWT_REQUIRED="false"

______________________________________________________________________

码头工人

塑造形象

从repo根目录(您的Dockerfile所在的位置):

podman build -t clinic-mcp-server:dev .

______________________________________________________________________

运行(可流式传输http)

podman run --rm -p 8080:8080 \
  -e JWT_SECRET="dev-secret-change-me" \
  -e JWT_REQUIRED="true" \
  -e CLINIC_DB_PATH="/data/clinic.db" \
  -v "$(pwd)/data:/data" \
  clinic-mcp-server:dev \
  uv run python -m clinic_mcp_server run --transport streamable-http --host 0.0.0.0 --port 8080

持久数据库卷

上述支架 ./data 从主机进入容器 /data,所以DB仍然存在。

______________________________________________________________________

运行(SSE)

podman run --rm -p 8080:8080 \
  -e JWT_REQUIRED="false" \
  -e CLINIC_DB_PATH="/data/clinic.db" \
  -v "$(pwd)/data:/data" \
  clinic-mcp-server:dev \
  uv run python -m clinic_mcp_server run --transport sse --host 0.0.0.0 --port 8080

______________________________________________________________________

运行(stdio)

通常stdio在本地使用(在Docker中不常见)

______________________________________________________________________

注意事项/故障排除

“没有这样的选择:--运输”

这意味着您在没有命令的情况下调用了Typer。使用以下选项之一:

python -m clinic_mcp_server run --transport streamable-http ...

______________________________________________________________________

SQLite并发

这是一个演示。如果您希望并发写入:

  • 启用WAL模式
  • 按请求使用连接
  • 或迁移到Postgres

______________________________________________________________________

许可证

演示/内部使用。

卷发秘籍(健康+JWT+MCP)

重要提示: MCP端点为 不 常规REST端点。\ 对于 可流式传输的HTTP,您必须使用 JSON-RPC帖子.\ 对于 上海证券交易所,您必须首先打开SSE流,然后将JSON-RPC POST到返回的 /messages/?session_id=... 终点。

示例中使用的环境变量

export TOKEN="YOUR_JWT_TOKEN_HERE"

______________________________________________________________________

1) 流式HTTP(启用JWT)

假设:

  • 基本URL: http://127.0.0.1:8080
  • MCP端点: /mcp

健康(如果没有JWT /health 已分配)

curl -i http://127.0.0.1:8080/health

健康(与智威汤逊合作)

curl -i -H "Authorization: Bearer $TOKEN" http://127.0.0.1:8080/health

MCP端点应在没有JWT的情况下拒绝

curl -i http://127.0.0.1:8080/mcp
# expected: 401 Unauthorized

使用JWT列出工具(JSON-RPC)

curl -sS \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -X POST http://127.0.0.1:8080/mcp \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

______________________________________________________________________

2) SSE(启用JWT)

假设:

  • 基本URL: http://127.0.0.1:8081
  • SSE端点: /sse

健康(如果没有JWT /health 已分配)

curl -i http://127.0.0.1:8081/health

健康(与智威汤逊合作)

curl -i -H "Authorization: Bearer $TOKEN" http://127.0.0.1:8081/health

SSE端点应在没有JWT的情况下拒绝

curl -i -H "Accept: text/event-stream" http://127.0.0.1:8081/sse
# expected: 401 Unauthorized

连接SSE流(使用JWT)

curl -N \
  -H "Accept: text/event-stream" \
  -H "Authorization: Bearer $TOKEN" \
  http://127.0.0.1:8081/sse

预期输出包括以下内容:

event: endpoint
data: /messages/?session_id=ac5e39fe0f2c4a7abb2906454d2f499c

通过SSE调用工具(POST JSON-RPC到/消息)

更换 session_id 使用您从SSE流中获得的一个:

curl -sS \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -X POST "http://127.0.0.1:8081/messages/?session_id=YOUR_SESSION_ID" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

______________________________________________________________________

(3)舞台

Stdio设计用于 SDK客户端,而不是卷曲。

使用Python MCP客户端:

uv run python scripts/simple_client.py

______________________________________________________________________

通过curl流式传输HTTP(启用JWT)

流式HTTP是 基于会话 在FastMCP中。 这意味着: 1. 你必须打电话 initialize 第一。 1. 服务器返回会话id。 1. 您必须使用以下命令在每个下一个请求中包含该会话id: mcp-session-id: ... 此外,FastMCP需要此标头: Accept: application/json, text/event-stream
步骤0——设置JWT令牌
export TOKEN="YOUR_JWT_TOKEN_HERE"
步骤1——初始化会话(打印 mcp-session-id 在响应标头中)
curl -i \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -X POST http://127.0.0.1:8080/mcp \
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"initialize",
    "params":{
      "protocolVersion":"2025-03-26",
      "capabilities":{},
      "clientInfo":{"name":"curl","version":"0"}
    }
  }'

Look for a response header like:

mcp-session-id: XXXXXXXXXX


复制值或定义为导出。

export SESSION_ID=XXXXXXXXXX


#### 步骤2——列出工具(基于会话的请求)

curl -sS \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "mcp-session-id: $SESSION_ID" \ -X POST http://127.0.0.1:8080/mcp \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'


预期产量:

{"jsonrpc":"2.0","id":2,"result":{"tools":[...]}}


### SSE通过curl(完整工作示例)

> **SSE是一个双通道流**:
>
> 1. 您打开了一个长期的SSE连接(`/sse`)--这就是响应到达的地方。
> 1. 您将JSON-RPC消息发布到 `/messages/?session_id=...`.
>
> 这 `/messages` POST通常会返回 `Accepted`.\
> 这 **实际回应** 以如下方式到达SSE流 `event: message`.

#### 步骤0——设置JWT令牌

export TOKEN="YOUR_JWT_TOKEN_HERE"


#### 步骤1——打开SSE流(终端1)

curl -N \ -H "Accept: text/event-stream" \ -H "Authorization: Bearer $TOKEN" \ http://127.0.0.1:8081/sse


预期产出包括:

event: endpoint data: /messages/?session_id=XXXXXXXX


复制值或定义为导出。

export SESSION_ID=XXXXXXXX


#### 步骤2——初始化会话(终端2)

curl -sS \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -X POST "http://127.0.0.1:8081/messages/?session_id=$SESSION_ID" \ -d '{ "jsonrpc":"2.0", "id":1, "method":"initialize", "params":{ "protocolVersion":"2025-03-26", "capabilities":{}, "clientInfo":{"name":"curl","version":"0"} } }'


响应将显示在 **端子1** 如:

event: message data: {"jsonrpc":"2.0","id":1,"result":{...}}


#### 步骤3——列出工具(终端2)

curl -sS \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -X POST "http://127.0.0.1:8081/messages/?session_id=$SESSION_ID" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'


工具列表响应将出现在 **端子1**:

event: message data: {"jsonrpc":"2.0","id":2,"result":{"tools":[...]}}

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

诊所调度Python本地部署SQLiteJWT授权HTTP传输SSE传输

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Clinic MCP Server

MCP World · 本页

0stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Clinic MCP Server 怎么安装?

公开资料给出的安装命令是 python --version,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Clinic MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Clinic MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Clinic MCP Server 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Clinic MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP