A Model Context Protocol (MCP) server that provides access to the ZincBindDB GraphQL API for querying zinc binding site structures and protein data. This server runs on Cloudflare Workers and enables AI assistants to explore zinc binding sites, PDB structures, and related biochemical data.
ZincBindDB is a comprehensive database of zinc binding site structures with tools for structure analysis and prediction. This MCP server provides programmatic access to query:
- Zinc binding sites from protein structures
- PDB (Protein Data Bank) entries with zinc coordination
- Multi-metal sites and chain clusters
- Liganding residues and binding geometries
- Node.js (v18 or later)
- A Cloudflare account (for deployment)
- Wrangler CLI installed globally:
npm install -g wrangler
-
Clone and install dependencies:
git clone <this-repository> cd zincbind-mcp-server npm install
-
Start development server:
npm run dev
The MCP server will be available at
http://localhost:8787/sse
-
Login to Cloudflare:
wrangler auth login
-
Deploy:
npm run deploy
Your server will be deployed to:
zincbind-mcp-server.quentincody.workers.dev/sse
To use this MCP server with Claude Desktop, you need the mcp-remote proxy.
- Open Claude Desktop Settings > Developer > Edit Config
- Add this configuration:
{
"mcpServers": {
"zincbind": {
"command": "npx",
"args": [
"mcp-remote",
"https://zincbind-mcp-server.quentincody.workers.dev/sse"
]
}
}
}
- Restart Claude Desktop
- Go to https://playground.ai.cloudflare.com/
- Enter your deployed MCP server URL:
zincbind-mcp-server.quentincody.workers.dev/sse
- Start querying ZincBindDB through the AI interface
The MCP server provides one main tool:
zincbind_db_graphql_query
- Execute GraphQL queries against the ZincBindDB API
Here are some example GraphQL queries you can run:
Schema Introspection:
{
__schema {
queryType {
name
fields {
name
description
}
}
}
}
List Zinc Binding Sites:
{
allSites(first: 5) {
edges {
node {
id
pdb {
id
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
Query Specific PDB Structure:
{
allPdbs(first: 3) {
edges {
node {
id
title
sites {
edges {
node {
id
}
}
}
}
}
}
}
npm run dev
- Start development server with hot reloadnpm run deploy
- Deploy to Cloudflare Workersnpm run format
- Format code with Biomenpm run lint:fix
- Lint and auto-fix code issuesnpm run cf-typegen
- Generate Cloudflare Worker types
src/
├── index.ts # Main MCP server implementation
├── ZincBindMCP # Core MCP agent class
└── GraphQL client # Custom GraphQL execution logic
This project is available under the MIT License with an Academic Citation Requirement. This means you can freely use, modify, and distribute the code, but any academic or scientific publication that uses this software must provide appropriate attribution.
If you use this software in a research project that leads to a publication, presentation, or report, you must cite this work according to the format provided in CITATION.md.
Commercial and non-academic use follows the standard MIT License terms without the citation requirement.
By using this software, you agree to these terms. See LICENSE.md for the complete license text.