Skip to content

QuentinCody/zincbind-mcp-server

Repository files navigation

ZincBind MCP Server

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.

What is ZincBind?

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

Installation

Prerequisites

  • Node.js (v18 or later)
  • A Cloudflare account (for deployment)
  • Wrangler CLI installed globally: npm install -g wrangler

Local Development

  1. Clone and install dependencies:

    git clone <this-repository>
    cd zincbind-mcp-server
    npm install
  2. Start development server:

    npm run dev

    The MCP server will be available at http://localhost:8787/sse

Deploy to Cloudflare Workers

  1. Login to Cloudflare:

    wrangler auth login
  2. Deploy:

    npm run deploy

    Your server will be deployed to: zincbind-mcp-server.quentincody.workers.dev/sse

Usage

Connect to Claude Desktop

To use this MCP server with Claude Desktop, you need the mcp-remote proxy.

  1. Open Claude Desktop Settings > Developer > Edit Config
  2. Add this configuration:
{
  "mcpServers": {
    "zincbind": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://zincbind-mcp-server.quentincody.workers.dev/sse"
      ]
    }
  }
}
  1. Restart Claude Desktop

Connect to Cloudflare AI Playground

  1. Go to https://playground.ai.cloudflare.com/
  2. Enter your deployed MCP server URL: zincbind-mcp-server.quentincody.workers.dev/sse
  3. Start querying ZincBindDB through the AI interface

Available Tools

The MCP server provides one main tool:

  • zincbind_db_graphql_query - Execute GraphQL queries against the ZincBindDB API

Example Queries

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
            }
          }
        }
      }
    }
  }
}

Development

Commands

  • npm run dev - Start development server with hot reload
  • npm run deploy - Deploy to Cloudflare Workers
  • npm run format - Format code with Biome
  • npm run lint:fix - Lint and auto-fix code issues
  • npm run cf-typegen - Generate Cloudflare Worker types

Project Structure

src/
├── index.ts          # Main MCP server implementation
├── ZincBindMCP       # Core MCP agent class
└── GraphQL client    # Custom GraphQL execution logic

License and Citation

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.

For academic/research use:

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.

For commercial/non-academic use:

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published