Skip to content
Squatch MCP

io.github.cyanheads/chembl-mcp-server

io.github.cyanheads/chembl-mcp-server

by io.github.cyanheads· v0.6.0Source: Official MCP Registry

All versions

VersionRegistry status
0.6.0latestActive
0.5.0Active
0.4.1Active
0.4.0Active
0.3.3Active
0.3.2Active
0.3.1Active
0.3.0Active
0.2.4Active
0.2.3Active
0.2.2Active
0.2.1Active
0.2.0Active

Version details

Version
0.6.0
Source
Source: Official MCP Registry
Published
Registry last updated
First observed by Squatch
Content fingerprint
a12e71ad7d3ce56837128ca39d362357626808b6d63d98d56dfd68594d2ae1ab

Transports in this version

  • remotestreamable-httphttps://chembl.caseyjhand.com/mcpNo authentication
  • packagestdionpm @cyanheads/chembl-mcp-serverUnknown
  • packagestreamable-httpnpm @cyanheads/chembl-mcp-serverUnknown
Registry metadata (server.json, sanitized)
{
  "_meta": {
    "io.modelcontextprotocol.registry/official": {
      "status": "active",
      "isLatest": true,
      "updatedAt": "2026-11-11T17:07:40.307077Z",
      "publishedAt": "2026-11-11T17:07:40.307077Z",
      "statusChangedAt": "2026-11-11T17:07:40.307077Z"
    }
  },
  "server": {
    "name": "io.github.cyanheads/chembl-mcp-server",
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
    "remotes": [
      {
        "url": "https://chembl.caseyjhand.com/mcp",
        "type": "streamable-http"
      }
    ],
    "version": "0.6.0",
    "packages": [
      {
        "version": "0.6.0",
        "transport": {
          "type": "stdio"
        },
        "identifier": "@cyanheads/chembl-mcp-server",
        "runtimeHint": "npx",
        "registryType": "npm",
        "registryBaseUrl": "https://registry.npmjs.org",
        "environmentVariables": [
          {
            "name": "CANVAS_PROVIDER_TYPE",
            "format": "string",
            "default": "duckdb",
            "description": "DataCanvas provider for the bioactivity spill and the chembl_dataframe_* SQL tools; DuckDB is the default. Set to 'none' to disable it: large bioactivity sets then inline a preview but never spill."
          },
          {
            "name": "CHEMBL_API_BASE_URL",
            "format": "string",
            "default": "https://www.ebi.ac.uk/chembl/api/data",
            "description": "Base URL for the ChEMBL REST data API. Override for a private mirror or pinned host."
          },
          {
            "name": "CHEMBL_REQUEST_TIMEOUT_MS",
            "format": "string",
            "default": "30000",
            "description": "Per-attempt timeout in milliseconds for an upstream ChEMBL request, capped by what is left of the call's time budget (45 s for most calls, CHEMBL_SPILL_DEADLINE_MS for a bioactivity spill)."
          },
          {
            "name": "CHEMBL_MAX_PAGE_SIZE",
            "format": "string",
            "default": "1000",
            "description": "Rows per upstream ChEMBL page (max 1000). The bioactivity spill walks pages of this size; an inline bioactivity page requests its limit, capped at this size."
          },
          {
            "name": "CHEMBL_DEFAULT_LIMIT",
            "format": "string",
            "default": "25",
            "description": "Default result limit applied when callers omit it."
          },
          {
            "name": "CHEMBL_MAX_SPILL_ROWS",
            "format": "string",
            "default": "50000",
            "description": "Ceiling on rows chembl_get_bioactivities stages to a DataCanvas table, and so on the upstream page walk behind it. Over the cap the response reports truncated: true and truncated_by: \"row_cap\"."
          },
          {
            "name": "CHEMBL_MAX_CONCURRENT_PAGES",
            "format": "string",
            "default": "4",
            "description": "Most chembl_get_bioactivities spill-page requests in flight at once (1–6), shared by every call on the server."
          },
          {
            "name": "CHEMBL_SPILL_DEADLINE_MS",
            "format": "string",
            "default": "45000",
            "description": "Time budget in milliseconds for one chembl_get_bioactivities spill, its count and page walk (10000–600000). At expiry the rows fetched so far stage with truncated: true and truncated_by: \"time_budget\"."
          },
          {
            "name": "CHEMBL_DATAFRAME_DROP_ENABLED",
            "format": "string",
            "default": "false",
            "description": "Set to 'true' to register the opt-in chembl_dataframe_drop tool (absent from tools/list when off)."
          },
          {
            "name": "MCP_LOG_LEVEL",
            "format": "string",
            "default": "info",
            "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
          }
        ]
      },
      {
        "version": "0.6.0",
        "transport": {
          "url": "http://localhost:3010/mcp",
          "type": "streamable-http"
        },
        "identifier": "@cyanheads/chembl-mcp-server",
        "runtimeHint": "npx",
        "registryType": "npm",
        "registryBaseUrl": "https://registry.npmjs.org",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT_TYPE",
            "value": "http",
            "format": "string",
            "description": "Selects the HTTP transport."
          },
          {
            "name": "MCP_HTTP_HOST",
            "format": "string",
            "default": "127.0.0.1",
            "description": "The hostname for the HTTP server."
          },
          {
            "name": "MCP_HTTP_PORT",
            "format": "string",
            "default": "3010",
            "description": "The port to run the HTTP server on."
          },
          {
            "name": "MCP_HTTP_ENDPOINT_PATH",
            "format": "string",
            "default": "/mcp",
            "description": "The endpoint path for the MCP server."
          },
          {
            "name": "MCP_AUTH_MODE",
            "format": "string",
            "default": "none",
            "description": "Authentication mode to use: 'none', 'jwt', or 'oauth'."
          },
          {
            "name": "MCP_LOG_LEVEL",
            "format": "string",
            "default": "info",
            "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
          },
          {
            "name": "CANVAS_PROVIDER_TYPE",
            "format": "string",
            "default": "duckdb",
            "description": "DataCanvas provider for the bioactivity spill and the chembl_dataframe_* SQL tools; DuckDB is the default. Set to 'none' to disable it: large bioactivity sets then inline a preview but never spill."
          },
          {
            "name": "CHEMBL_API_BASE_URL",
            "format": "string",
            "default": "https://www.ebi.ac.uk/chembl/api/data",
            "description": "Base URL for the ChEMBL REST data API. Override for a private mirror or pinned host."
          },
          {
            "name": "CHEMBL_REQUEST_TIMEOUT_MS",
            "format": "string",
            "default": "30000",
            "description": "Per-attempt timeout in milliseconds for an upstream ChEMBL request, capped by what is left of the call's time budget (45 s for most calls, CHEMBL_SPILL_DEADLINE_MS for a bioactivity spill)."
          },
          {
            "name": "CHEMBL_MAX_PAGE_SIZE",
            "format": "string",
            "default": "1000",
            "description": "Rows per upstream ChEMBL page (max 1000). The bioactivity spill walks pages of this size; an inline bioactivity page requests its limit, capped at this size."
          },
          {
            "name": "CHEMBL_DEFAULT_LIMIT",
            "format": "string",
            "default": "25",
            "description": "Default result limit applied when callers omit it."
          },
          {
            "name": "CHEMBL_MAX_SPILL_ROWS",
            "format": "string",
            "default": "50000",
            "description": "Ceiling on rows chembl_get_bioactivities stages to a DataCanvas table, and so on the upstream page walk behind it. Over the cap the response reports truncated: true and truncated_by: \"row_cap\"."
          },
          {
            "name": "CHEMBL_MAX_CONCURRENT_PAGES",
            "format": "string",
            "default": "4",
            "description": "Most chembl_get_bioactivities spill-page requests in flight at once (1–6), shared by every call on the server."
          },
          {
            "name": "CHEMBL_SPILL_DEADLINE_MS",
            "format": "string",
            "default": "45000",
            "description": "Time budget in milliseconds for one chembl_get_bioactivities spill, its count and page walk (10000–600000). At expiry the rows fetched so far stage with truncated: true and truncated_by: \"time_budget\"."
          },
          {
            "name": "CHEMBL_DATAFRAME_DROP_ENABLED",
            "format": "string",
            "default": "false",
            "description": "Set to 'true' to register the opt-in chembl_dataframe_drop tool (absent from tools/list when off)."
          }
        ]
      }
    ],
    "repository": {
      "url": "https://github.com/cyanheads/chembl-mcp-server",
      "source": "github"
    },
    "description": "Link compounds to protein targets, rank bioactivity, and look up drug mechanisms and indications."
  }
}