@kinginsun/mcp-probot
v0.1.1
Published
Unified MCP server for Probot-series databases: herb-drug / drug-drug interactions (Probot HDI) and AITEP PDE reports.
Maintainers
Readme
mcp-probot
Unified MCP (Model Context Protocol) server for Probot-series databases. One stdio process exposes all of the following:
| Database | Tools | Backend |
| --- | --- | --- |
| Probot HDI | probot-hdi, probot-search-item, probot-hdi-by-id | Herb-drug / drug-drug interactions |
| AITEP | aitep_pde_report | Permitted Daily Exposure (PDE) reports |
This package merges @kinginsun/mcp-probot-hdi and @kinginsun/mcp-aitep. HDI tool names and request payloads stay the same. The AITEP tool is aitep_pde_report.
Installation
npm install -g @kinginsun/mcp-probotOr run without a global install:
npx -y @kinginsun/mcp-probotConfiguration
Set the environment variables for the databases you use. Missing credentials only fail the tools that need them; the rest still work.
Probot HDI — PROBOT_MCP_TOKEN
Create a personal API token in the Probot account center. The plaintext value starts with pb- and is shown only once.
export PROBOT_MCP_TOKEN=pb-your_token_hereOptional API base (no trailing slash; default https://www.probot.hk/probot_api/mcp):
export PROBOT_HDI_API_BASE=https://www.probot.hk/probot_api/mcpAITEP PDE — AITEP_API_KEY
Obtaining an AITEP_API_KEY requires company certification and VIP authorization on AITEP.
- Open https://aitep.probot.hk
- Register / sign in
- Apply for or generate an API key, then:
export AITEP_API_KEY=your_api_key_hereOptional URL override (default https://aitep.probot.hk/api/hkpma/mcp_api_detail):
export AITEP_API_BASE=https://aitep.probot.hk/api/hkpma/mcp_api_detailCursor / Claude Desktop
{
"mcpServers": {
"probot": {
"command": "npx",
"args": ["-y", "@kinginsun/mcp-probot"],
"env": {
"PROBOT_MCP_TOKEN": "pb-your_token_here",
"AITEP_API_KEY": "your_api_key_here"
}
}
}
}Local checkout (after npm install && npm run build):
{
"mcpServers": {
"probot": {
"command": "node",
"args": ["/absolute/path/to/mcp-probot/dist/index.js"],
"env": {
"PROBOT_MCP_TOKEN": "pb-your_token_here",
"AITEP_API_KEY": "your_api_key_here"
}
}
}
}Tools
probot-hdi
Search herb-drug or drug-drug interactions by drug/herb names.
| Parameter | Type | Required | Description |
| --------- | ------ | -------- | --------------------------------------------------------------------------------------------- |
| drug1 | string | Yes | Drug/herb name, or multiple aliases in one string separated by ASCII \| |
| drug2 | string | No | Second drug/herb; same pipe-separated alias convention |
| maxRows | number | No | Maximum results to return (default: 10) |
When only drug1 is provided, the API returns all known interactions involving that item (up to maxRows).
{
"name": "probot-hdi",
"arguments": {
"drug1": "aspirin|阿司匹林|乙酰水杨酸",
"drug2": "ginkgo biloba"
}
}probot-search-item
Look up a drug or herb by name and return its item_id.
| Parameter | Type | Required | Description |
| --------- | ------ | -------- | ----------------------------------------------------- |
| drug | string | Yes | Drug/herb name, or multiple aliases separated by \| |
{
"name": "probot-search-item",
"arguments": {
"drug": "aspirin|阿司匹林"
}
}probot-hdi-by-id
Search interactions by item_id(s) from probot-search-item.
| Parameter | Type | Required | Description |
| ---------- | ------ | -------- | --------------------------------------- |
| item_id1 | string | Yes | First item_id |
| item_id2 | string | No | Second item_id |
| maxRows | number | No | Maximum results to return (default: 10) |
{
"name": "probot-hdi-by-id",
"arguments": {
"item_id1": "123",
"item_id2": "456"
}
}Typical HDI workflow:
- Direct query —
probot-hdiwith drug names. - Two-step query —
probot-search-itemto resolve names, thenprobot-hdi-by-id.
aitep_pde_report
Retrieves the PDE (Permitted Daily Exposure) report for an active pharmaceutical ingredient.
| Parameter | Type | Required | Description |
| ------------- | ------ | -------- | ------------------------------------ |
| ingredient | string | Yes | Name of the active pharmaceutical ingredient |
{
"name": "aitep_pde_report",
"arguments": {
"ingredient": "Paracetamol"
}
}Adding another Probot database
Each backend lives in its own module (src/hdi.ts, src/aitep.ts). Register a new tool in src/tools.ts with name, description, inputSchema, Zod schema, and handler. The stdio server in src/index.ts does not need to change.
Requirements
- Node.js >= 18.0.0
PROBOT_MCP_TOKENfor HDI toolsAITEP_API_KEYfor AITEP tools
License
MIT
