ZincBind MCP Server — Zinc Binding Sites Database
Explore the ZincBind MCP server to access a comprehensive database of protein zinc binding sites, coordination structures, and metalloproteomics research data.
npx -y @QuentinCody/zincbind-mcp-serverOverview
The ZincBind MCP Server provides programmatic access to a curated database of protein zinc-binding sites and their coordination geometries. It bundles structured metalloproteomics data (site annotations, coordinating residues, ligands, experimental PDB references, and derived geometry information) behind an HTTP API and an MCP-compliant discovery surface so LLM-based agents and bioinformatics tools can discover and call it reliably.
This server is useful for developers building analysis pipelines, interactive agents, or web interfaces that need to look up or search zinc-binding motifs. By exposing both search endpoints and site-level detail endpoints, the service can be used for automated annotation, cross-referencing PDB entries, querying coordination environments, or serving training / evaluation data for computational metalloproteomics workflows.
Features
- MCP-compliant discovery endpoint for LLM tool integrations and agent frameworks
- Full-text and structured search across protein names, UniProt/PDB IDs, residues and coordination types
- Detailed site records: coordinating residues, geometry (tetrahedral, trigonal, etc.), metal-ligand distances, and experimental references
- RESTful JSON API suitable for programmatic use and microservices
- Local deployment (Python + FastAPI / uvicorn) and Docker support
- Configurable data backend (SQLite/Postgres) and caching for scaled queries
- Lightweight documentation and example queries for developers
Installation / Configuration
Quick start (local development)
# clone the repo
# create a virtualenv and install
# set basic environment variables (example)
# initialize database (if provided)
# run the server with uvicorn
Docker
# build
# run (map port and set DB URL via env)
Configuration (typical environment variables)
- ZINCBIND_DB_URL — SQLAlchemy-style database URL (sqlite:///…, postgresql://…)
- ZINCBIND_HOST — bind address (default 0.0.0.0)
- ZINCBIND_PORT — server port (default 8080)
- ZINCBIND_CACHE_TTL — optional caching TTL for search results (seconds)
- ZINCBIND_ENABLE_CORS — enable CORS for web clients (true/false)
Adjust the variables in your systemd, Docker, or container orchestrator configuration as needed.
Available Resources
The server exposes the following principal HTTP resources (JSON):
| Method | Path | Purpose |
|---|---|---|
| GET | /mcp/discover | MCP discovery document: tool descriptions and input/output schemas for LLM agents |
| POST | /mcp/run | MCP tool invocation endpoint for agents |
| GET | /api/search?q=… | Text and structured search across zinc-binding sites |
| GET | /api/site/{site_id} | Complete record for a specific zinc-binding site |
| GET | /api/pdb/{pdb_id} | Lookup sites associated with a PDB entry |
| GET | /api/stats | Basic dataset statistics (counts, last update) |
API responses use JSON and standard HTTP codes. The discovery endpoint follows the Model Context Protocol shape so agent frameworks can programmatically list available tools.
Resource: GitHub repository and source
- https://github.com/QuentinCody/zincbind-mcp-server
Use Cases
Automated annotation in a proteomics pipeline
- Example: a pipeline processing MS-identification results can call /api/search?q=UniProt:Q9XYZ1 to find known zinc sites in a candidate protein and annotate peptides near coordinating residues.
Example curl:
|Integrating with an LLM agent as a tool
- Use the /mcp/discover endpoint so an agent can learn available tool actions (search, fetch site details). Agents then call /mcp/run for structured queries (e.g., “find all tetrahedral zinc sites in PDZ domains”), receiving JSON results the agent can reason over.
Interactive web visualization of metal sites
- A web app can query /api/site/{site_id} to fetch residue lists, coordination distances and PDB references, then render a 3D viewer (Mol* / NGL) and annotate coordinating residues.
Bulk data export and research
- Researchers can export site lists (via paginated /api/search) for statistical analysis of coordination geometries across protein families.
Examples
Search for zinc sites by PDB ID:
|
Fetch a single site record:
|
MCP discovery (agent integration):
|
Notes for Developers
- The server is intended to be embedded into larger toolchains; it focuses on structured data access rather than heavy visualization.
- Add database indexes for high-volume deployments (on PDB/UniProt ID and residue columns).
- Consider an external cache (Redis) for read-heavy workloads; the server supports TTL-based caching via configuration.
- See the repository README and example scripts for schema details, sample data loaders, and test queries.