github TypeScript analyzed ca6c90c

cyanheads/chembl-mcp-server

github

Link compounds to protein targets, rank bioactivity (IC50/Ki/EC50), and look up drug mechanisms and indications over ChEMBL via MCP. STDIO or Streamable HTTP.

maintainer
cyanheads
licence
Apache-2.0
first seen
2026-06-28
last seen
2026-08-25
releases · 30d
1
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 8 tools
transport stdio · streamable-http · http verified reported listed in the official MCP registry counts 8 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • chembl_dataframe_describe
  • chembl_dataframe_drop
  • chembl_dataframe_query
  • chembl_get_assay
  • chembl_get_bioactivities
  • chembl_get_drug_info
  • chembl_search_molecules
  • chembl_search_targets
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit ca6c90c · analyzer v33 · 2d ago

skills & prompt files 34

code evidence vv0.2.4 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 47

filesystem 15

  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/build-changelog.ts :32 import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/build.ts :17 import { readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/check-dependency-specifiers.ts :38 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/check-docs-sync.ts :22 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/check-framework-antipatterns.ts :39 import { existsSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/check-skill-versions.ts :33 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/check-skills-sync.ts :37 import { existsSync, readdirSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/clean-mcpb.ts :29 import { existsSync, statSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/clean.ts :15 import { readdir, rm } from 'node:fs/promises';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/devcheck.ts :3 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/lint-mcp.ts :19 import { existsSync, readdirSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/lint-packaging.ts :52 import { existsSync, readdirSync, readFileSync } from 'node:fs';
show 3 more
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/list-skills.ts :21 import { existsSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/release-github.ts :33 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/tree.ts :24 import type { Dirent } from 'node:fs';

shell / exec 7

  • shell (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/build.ts :16 import { execFile } from 'node:child_process';
  • shell (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/check-framework-antipatterns.ts :38 import { spawnSync } from 'node:child_process';
  • shell (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/check-skill-versions.ts :32 import { spawnSync } from 'node:child_process';
  • shell (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/clean-mcpb.ts :28 import { execFileSync } from 'node:child_process';
  • shell (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/devcheck.ts :2 import { type ChildProcess, spawn, spawnSync } from 'node:child_process';
  • shell (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/lint-packaging.ts :51 import { execFileSync } from 'node:child_process';
  • shell (weak) cyanheads-chembl-mcp-server-ca6c90c/scripts/release-github.ts :32 import { spawnSync } from 'node:child_process';

tool registrations 8

  • chembl_dataframe_describe cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-dataframe-describe.tool.ts :11
  • chembl_dataframe_drop cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-dataframe-drop.tool.ts :14
  • chembl_dataframe_query cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-dataframe-query.tool.ts :104
  • chembl_get_assay cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-get-assay.tool.ts :12
  • chembl_get_bioactivities cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-get-bioactivities.tool.ts :192
  • chembl_get_drug_info cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-get-drug-info.tool.ts :140
  • chembl_search_molecules cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-search-molecules.tool.ts :78
  • chembl_search_targets cyanheads-chembl-mcp-server-ca6c90c/src/mcp-server/tools/definitions/chembl-search-targets.tool.ts :60

declared dependencies 12

  • @cyanheads/mcp-ts-core@^0.12.3
  • @duckdb/node-api@^1.5.5-r.4
  • pino-pretty@^13.1.3
  • zod@^4.4.3
  • @biomejs/biome@2.5.10
  • @socketsecurity/bun-security-scanner@^1.1.2
  • @types/node@^26.2.0
  • depcheck@^1.4.7
  • ignore@^7.0.6
  • tsc-alias@^1.9.2
  • typescript@^7.0.2
  • vitest@^4.1.11