Back to Browse

Agentic Target Evidence MCP Server

by Athril
Developer ToolsUse Caution4.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Read-only biomedical evidence tools for drug-target validation: DepMap, gnomAD, OpenTargets, PubMed…

About

Read-only biomedical evidence tools for drug-target validation: DepMap, gnomAD, OpenTargets, PubMed…

Security Report

4.2
Use Caution4.2High Risk

This is a well-structured biomedical data aggregation and analysis system built on LangGraph and MCP. The codebase demonstrates good security practices with proper dependency management, typed code with mypy enforcement, and appropriate permission scoping. Minor concerns around broad exception handling and error logging exist but do not materially impact the security posture. Permissions are appropriate for a developer tool aggregating public biomedical APIs. Supply chain analysis found 6 known vulnerabilities in dependencies (1 critical, 2 high severity).

4 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

database

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Run the gateway over stdio (the image defaults to HTTP).Optional

Environment variable: MCP_TRANSPORT

Optional NCBI E-utilities key; raises the PubMed/ClinVar rate limit from 3 to 10 req/s.Required

Environment variable: NCBI_API_KEY

Optional USPTO Open Data Portal key; the USPTO patent tools return nothing without it.Required

Environment variable: USPTO_API_KEY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-athril-agentic-target-evidence": {
      "env": {
        "NCBI_API_KEY": "your-ncbi-api-key-here",
        "MCP_TRANSPORT": "your-mcp-transport-here",
        "USPTO_API_KEY": "your-uspto-api-key-here"
      },
      "args": [
        "agentic-target-evidence"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Agentic Target Evidence

TestingCI codecov
Containersmcp-servers mcp-gateway agents-knowledge agents-reasoning report-agent planner chat
ToolingPython uv Ruff Checked with mypy
StackLangGraph MCP Langfuse Postgres
MetaLicense Contributions welcome Code of Conduct

A multi-agent system that gathers and interprets evidence on whether a gene is a viable drug target for a disease. Given a (gene, disease, direction) triple — e.g. BRCA1, breast cancer, inhibit — it retrieves evidence from ~two dozen biomedical sources, screens and interprets it through six independent lenses (genetics, biology, safety, clinical, commercial, regulatory), and produces a provenanced dossier: a consensus verdict, a single 0–100 suitability score, per-lens narratives, and a categorized, link-rich evidence list.

Every source connector — DepMap, gnomAD, ClinicalTrials.gov, OpenTargets, PubMed, FAERS, and ~20 more — lives once under src/mcp_servers/ and is consumed two ways: in-process by the pipeline's agents (fast, typed, no protocol tax), or through the MCP gateway, which composes the same connectors into one MCP server exposing ~40 read-only tools to any MCP host — Claude Desktop, Claude Code, your own agent — for ad hoc lookups outside a full run. A bundled chat assistant offers the same lookups from a browser. See § MCP gateway & servers below.

Built on LangGraph (orchestration) + MCP (the data layer), with full tracing (Langfuse + OpenTelemetry), Postgres-backed checkpointing, and configurable local/cloud LLM routing.

Every verdict is LLM-generated over retrieved evidence — a preliminary research aid, not ground truth. It is built to accelerate the evidence-gathering phase of target validation, not to replace expert review. See NOTICE.md for the full disclaimer, licenses, and data notices.

📄 See it in action: Example dossier — TRPC6 in Focal Segmental Glomerulosclerosis. A real end-to-end run: consensus verdict, 0–100 suitability score, six per-lens narratives, and a link-rich evidence list over 135 kept sources.


Quickstart

uv sync                  # Python ≥ 3.12, via uv: https://docs.astral.sh/uv/
cp .env.example .env      # fill in any keys you want; most sources are keyless

make up                   # infra + Langfuse + OTEL + the app, as containers
make run GENE=BRCA1 DISEASE="breast cancer"

Output lands under results/report/{gene}/{disease}/{direction}/report.md. The Langfuse trace UI is at http://localhost:3000. Windows: use make.bat instead of make — see docs/tutorial.md.

Don't want a full run? Ask one-off questions against the same connectors (e.g. "What's TRPC6's DepMap dependency score?") via the bundled chat UI or Claude Desktop/Code — see docs/mcp_tutorial.md.

Pre-built images

make up builds all service images locally. Every tagged release also publishes the same images to GHCR, so you can pull instead of building:

docker pull ghcr.io/athril/agentic-target-evidence/mcp-servers:latest
docker pull ghcr.io/athril/agentic-target-evidence/mcp-gateway:latest
docker pull ghcr.io/athril/agentic-target-evidence/agents-knowledge:latest
docker pull ghcr.io/athril/agentic-target-evidence/agents-reasoning:latest
docker pull ghcr.io/athril/agentic-target-evidence/report-agent:latest
docker pull ghcr.io/athril/agentic-target-evidence/planner:latest
docker pull ghcr.io/athril/agentic-target-evidence/chat:latest

latest tracks the most recent release; pin a version instead (e.g. :v0.1.2) for reproducibility. To use these instead of a local build, replace a service's build: block in docker-compose.yml with image: ghcr.io/athril/agentic-target-evidence/<target>:<tag>.


MCP gateway & servers

Every biomedical source connector lives under src/mcp_servers/ as a self-contained tools.py + MCP server.py pair — 27 source connectors, ~46 read-only tools, spanning 30+ named public sources (some connector folders bundle more than one upstream API — see docs/data_sources.md) plus your own internal data:

ChEMBL · ClinGen · ClinicalTrials.gov · ClinVar · DepMap · DGIdb · ENCODE · Expression Atlas · GBD (IHME) · GenCC · gnomAD · Google Patents · GTEx · GWAS Catalog · HGNC · HPA · IMPC · Monarch Initiative · MONDO · OMIM · OpenAlex · OpenFDA · OpenTargets · Orphanet · Project Score · PubMed · SCImago (SJR) · SPOKE · TTD · UniProt · USPTO · internal data (your org's private tables)

Full per-source details (what each provides, licensing/gating status) in docs/data_sources.md. The MCP gateway (src/mcp_gateway/server.py) dynamically discovers and composes all of them into one MCP server, with no hand-maintained registry — drop a new src/mcp_servers/<name>/server.py in and it's mounted automatically (subject to feature gates; internal_data is never mounted).

Three ways to reach it, without running the full pipeline:

ClientWhat it is
Chat assistantA Gradio chat UI backed by a local Ollama model — make chat or see docs/mcp_tutorial.md.
Claude Desktop / Claude CodeConnect over stdio alongside your other MCP servers.
Any other MCP clientCall the tools programmatically over HTTP (bearer-token auth via MCP_GATEWAY_TOKEN).

Self-hosting the gateway alone (no pipeline, no other services) is a single container: docker run -p 8765:8765 ghcr.io/athril/agentic-target-evidence/mcp-gateway:latest — it defaults to HTTP on 0.0.0.0:8765. Point any MCP client at http://<host>:8765/mcp.

To use it from Claude Desktop or Claude Code without cloning the repo, have the client launch the same image over stdio — add this to claude_desktop_config.json (or .mcp.json):

{
  "mcpServers": {
    "agentic-target-evidence": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT=stdio",
               "-e", "NCBI_API_KEY", "-e", "USPTO_API_KEY",
               "ghcr.io/athril/agentic-target-evidence/mcp-gateway:latest"]
    }
  }
}

Both keys are optional (-e NAME with no value forwards it from your environment). The gateway is also listed in the official MCP Registry as io.github.athril/agentic-target-evidence.

For all bulk retrieval the pipeline never talks to the gateway — it imports each tools.py directly, keeping the hot path free of protocol overhead. The gateway is a second, additive surface onto the same connectors, for ad hoc use outside a full run. (The one in-pipeline gateway client is the synthesis-phase Investigator agent, which calls retrieval tools over MCP to close evidence gaps before the report; it degrades gracefully if the gateway is down.) For the design — exposure model, security, transports, discovery internals — see docs/mcp_gateway.md; for a step-by-step walkthrough, see docs/mcp_tutorial.md.


Documentation

Full documentation lives in docs/. Start there — it has reading paths for "I just want to run it," "I want to understand the design," and "I want to contribute." A few entry points:

DocWhat it covers
docs/README.mdStart here. Doc set index, full table of documents, and reading paths by goal (run it, understand the design, contribute).
docs/tutorial.mdRun an analysis and read the resulting dossier.
docs/mcp_tutorial.mdAd hoc tool access via the MCP gateway and chat assistant, step by step.
docs/mcp_gateway.mdMCP gateway reference: exposure model, security, transports, discovery internals.
docs/data_sources.mdEvery source connector, what it provides, and its licensing/gating status.
docs/restricted.mdStep-by-step setup for gated sources (OMIM, SCImago, GBD, TTD): API keys, data downloads, verification.
docs/architecture.mdThe full design: pipeline graph, HITL, capabilities, observability.
docs/developers.mdExtension points and conventions for contributing.
docs/faq.mdNuances and easy-to-get-wrong points, as Q&A.

Contributing

Contributions are welcome — see CONTRIBUTING.md for setup, conventions, and how to submit a change, and docs/developers.md for extension points. Please also read our Code of Conduct.


License

Apache-2.0. Some data sources carry narrower terms and are gated off by default — see docs/data_sources.md for the reference table, docs/restricted.md for step-by-step setup, and NOTICE.md for the full disclaimer and per-source licenses.


Contact

Patryk Orzechowski, Ph.D.

Email LinkedIn Google Scholar

Reviews

No reviews yet

Be the first to review this server!