MCP Server
MCP
io.github.cyanheads/chembl-mcp-server
Link compounds to protein targets, rank bioactivity, and look up drug mechanisms and indications.
Install
npx -y @cyanheads/[email protected]
Configuration Example
{
"remotes": [
{
"type": "streamable-http",
"url": "https://chembl.caseyjhand.com/mcp"
}
],
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "@cyanheads/chembl-mcp-server",
"version": "0.2.3",
"runtimeHint": "bun",
"transport": {
"type": "stdio"
},
"packageArguments": [
{
"value": "run",
"type": "positional"
},
{
"value": "start:stdio",
"type": "positional"
}
],
"environmentVariables": [
{
"description": "Set to 'duckdb' to enable the bioactivity DataCanvas spill and the chembl_dataframe_* SQL tools. When 'none', large bioactivity sets inline a preview but never spill.",
"format": "string",
"default": "none",
"name": "CANVAS_PROVIDER_TYPE"
},
{
"description": "Base URL for the ChEMBL REST data API. Override for a private mirror or pinned host.",
"format": "string",
"default": "https://www.ebi.ac.uk/chembl/api/data",
"name": "CHEMBL_API_BASE_URL"
},
{
"description": "Per-request timeout in milliseconds for upstream ChEMBL fetches.",
"format": "string",
"default": "30000",
"name": "CHEMBL_REQUEST_TIMEOUT_MS"
},
{
"description": "ChEMBL per-page cap when streaming activity pages for the bioactivity spill (max 1000).",
"format": "string",
"default": "1000",
"name": "CHEMBL_MAX_PAGE_SIZE"
},
{
"description": "Default result limit applied when callers omit it.",
"format": "string",
"default": "25",
"name": "CHEMBL_DEFAULT_LIMIT"
},
{
"description": "Ceiling on rows chembl_get_bioactivities stages to a DataCanvas table, and so on the upstream page drain behind it. Over the cap the response reports truncated: true.",
"format": "string",
"default": "50000",
"name": "CHEMBL_MAX_SPILL_ROWS"
},
{
"description": "Set to 'true' to register the opt-in chembl_dataframe_drop tool (absent from tools/list when off).",
"format": "string",
"default": "false",
"name": "CHEMBL_DATAFRAME_DROP_ENABLED"
},
{
"description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').",
"format": "string",
"default": "info",
"name": "MCP_LOG_LEVEL"
}
]
},
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "@cyanheads/chembl-mcp-server",
"version": "0.2.3",
"runtimeHint": "bun",
"transport": {
"type": "streamable-http",
"url": "http://localhost:3010/mcp"
},
"packageArguments": [
{
"value": "run",
"type": "positional"
},
{
"value": "start:http",
"type": "positional"
}
],
"environmentVariables": [
{
"description": "The hostname for the HTTP server.",
"format": "string",
"default": "127.0.0.1",
"name": "MCP_HTTP_HOST"
},
{
"description": "The port to run the HTTP server on.",
"format": "string",
"default": "3010",
"name": "MCP_HTTP_PORT"
},
{
"description": "The endpoint path for the MCP server.",
"format": "string",
"default": "/mcp",
"name": "MCP_HTTP_ENDPOINT_PATH"
},
{
"description": "Authentication mode to use: 'none', 'jwt', or 'oauth'.",
"format": "string",
"default": "none",
"name": "MCP_AUTH_MODE"
},
{
"description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').",
"format": "string",
"default": "info",
"name": "MCP_LOG_LEVEL"
},
{
"description": "Set to 'duckdb' to enable the bioactivity DataCanvas spill and the chembl_dataframe_* SQL tools. When 'none', large bioactivity sets inline a preview but never spill.",
"format": "string",
"default": "none",
"name": "CANVAS_PROVIDER_TYPE"
},
{
"description": "Base URL for the ChEMBL REST data API. Override for a private mirror or pinned host.",
"format": "string",
"default": "https://www.ebi.ac.uk/chembl/api/data",
"name": "CHEMBL_API_BASE_URL"
},
{
"description": "Per-request timeout in milliseconds for upstream ChEMBL fetches.",
"format": "string",
"default": "30000",
"name": "CHEMBL_REQUEST_TIMEOUT_MS"
},
{
"description": "ChEMBL per-page cap when streaming activity pages for the bioactivity spill (max 1000).",
"format": "string",
"default": "1000",
"name": "CHEMBL_MAX_PAGE_SIZE"
},
{
"description": "Default result limit applied when callers omit it.",
"format": "string",
"default": "25",
"name": "CHEMBL_DEFAULT_LIMIT"
},
{
"description": "Ceiling on rows chembl_get_bioactivities stages to a DataCanvas table, and so on the upstream page drain behind it. Over the cap the response reports truncated: true.",
"format": "string",
"default": "50000",
"name": "CHEMBL_MAX_SPILL_ROWS"
},
{
"description": "Set to 'true' to register the opt-in chembl_dataframe_drop tool (absent from tools/list when off).",
"format": "string",
"default": "false",
"name": "CHEMBL_DATAFRAME_DROP_ENABLED"
}
]
}
]
}
mcp
model-context-protocol
streamable-http
npm
By
Comments
Sign in to leave a comment