{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_hxkjavgcw34t","handle":"pkdb-mcp","url":"https://wellknown.network/agents/pkdb-mcp","links":{"self":"https://wellknown.network/agents/pkdb-mcp/record.json","html":"https://wellknown.network/agents/pkdb-mcp","markdown":"https://wellknown.network/agents/pkdb-mcp/record.md","api":"https://wellknown.network/api/v1/agents/pkdb-mcp","status":"https://wellknown.network/api/v1/agents/pkdb-mcp/status","claim":"https://wellknown.network/agents/pkdb-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/pkdb-mcp/claim.json","badge":"https://wellknown.network/agents/pkdb-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:pkdb-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"pkdb-mcp","summary":"Model Context Protocol server for the PK-DB REST API.","description":"# pkdb-mcp\n\n面向 [PK-DB](https://pk-db.com) REST API 的 MCP 服务器 —— 服务于药理学计量学与药物动力学数据平台。\n\n[![Python Version](https://img.shields.io/badge/python-3.13-blue?style=flat-square&logo=python)](https://python.org)\n[![License](https://img.shields.io/badge/License-MIT-yellow?style=flat-square)](LICENSE)\n[![Ruff](https://img.shields.io/badge/code_style-Ruff-5ed9c7?style=flat-square&logo=ruff)](https://docs.astral.sh/ruff)\n[![PyPI](https://img.shields.io/pypi/v/pkdb-mcp?style=flat-square&logo=pypi)](https://pypi.org/project/pkdb-mcp/)\n\n`pkdb-mcp` 通过[模型上下文协议](https://modelcontextprotocol.io)将 AI 智能体与 PK-DB 相连。启动时，它会拉取 PK-DB 的实时 OpenAPI 文档，并为每个 API 操作动态注册一个 MCP 工具——无需手动编写接口绑定。\n\n---\n\n<!-- README-I18N:START -->\n\n**中文** | [English](./README.en.md)\n\n<!-- README-I18N:END -->\n\n## 功能特性\n\n- **动态工具生成** —— 读取 PK-DB 的实时 Swagger/OpenAPI 文档，将所有操作注册为带类型签名的 MCP 工具。\n- **后备规范** —— 若实时文档不可用，服务器会回退至包含核心公开接口的内置规范文件。\n- **辅助工具** —— 始终可用，用于操作发现和临时请求。\n- **Swagger 2.0 与 OpenAPI 3.x** —— 透明解析两种格式。\n- **二进制响应** —— 自动对 ZIP、PDF、XLSX 等二进制载荷进行 Base64 编码。\n- **多传输通道** —— 支持 `stdio`、`SSE` 和 `streamable-http` 三种 MCP 传输方式。\n\n## 什么是 PK-DB？\n\n[PK-DB](https://pk-db.com) 是一个药理学计量学数据管理网络平台。药理学计量学通过数学模型描述药物在人体内的吸收、分布、代谢和排泄过程。PK-DB 存储药代动力学/药效学（PK/PD）研究数据、非房室分析（NCA）结果、群体 PK 模型及相关元数据。该平台提供 [REST API](https://pk-db.com/api/v1/swagger.json)，用于查询研究、化合物、受试者、观测数据以及进行统计分析。\n\n## 工作原理\n\n```mermaid\nflowchart LR\n  A[AI 智能体 / MCP 客户端] -->|MCP 协议| B[pkdb-mcp 服务器]\n  B -->|启动时| C[PK-DB OpenAPI 文档]\n  B -->|运行时| D[PK-DB REST API]\n  C -->|动态注册| B\n```\n\n运行时，服务器执行以下流程：\n\n1. 从配置的 URL 获取 OpenAPI 文档\n2. 将每个 `路径 + 方法` 的操作解析为标准化的操作目录\n3. 为每个操作注册一个 MCP 工具，并附带适当的类型化参数\n4. 将传入的工具调用转发至 PK-DB REST API\n5. 返回 JSON、纯文本或 Base64 编码的二进制响应\n\n> [!NOTE]\n> 如果实时文档获取失败，且 `PKDB_USE_FALLBACK_SPEC` 设置为 `true`（默认值），服务器将回退至包含核心公开接口的内置规范文件。如需严格依赖实时文档，请将其设为 `false`。\n\n## 环境要求\n\n- Python 3.13+\n- [uv](https://docs.astral.sh/uv/)\n\n## 安装\n\n```bash\n# 推荐：直接从 PyPI 运行（无需本地安装）\nuvx pkdb-mcp\n```\n\n或者从源码安装：\n\n```bash\ngit clone https://github.com/lyjjl/pkdb-mcp.git\ncd pkdb-mcp\nuv sync --extra dev\n```\n\n…","publisher":{"name":"PK-DB MCP maintainers","url":null},"homepage":"https://github.com/lyjjl/pkdb-mcp","repository":"https://github.com/lyjjl/pkdb-mcp","version":"0.1.1","license":"MIT","protocols":["mcp"],"tags":["mcp","pk-db","pharmacokinetics","openapi","ai-agent"],"pricing":null,"endpoints":[{"url":"pypi:pkdb-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"data.apis","name":"API Access","confidence":1,"provenance":"declared"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["data","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"pkdb-mcp","registry":"pypi","observedAt":"2026-09-10T10:25:21.489Z","publishedAt":"2026-05-30T16:30:52.198713Z","latestVersion":"0.1.1"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"pkdb-mcp","url":"https://pypi.org/project/pkdb-mcp/","firstSeenAt":"2026-09-10T10:23:04.126Z","fetchedAt":"2026-09-10T10:23:04.126Z","normalizedAt":"2026-09-10T10:23:04.126Z"}]},"firstSeenAt":"2026-09-10T10:23:04.126Z","updatedAt":"2026-09-10T10:25:21.489Z"}