Skip to main content

datalox-protein-mcp

Headless Protein MCP package for workspace, validation, metadata, ligand annotation, compact protein viewing, and MCP server tools.

This package intentionally does not build or install PyMOL. Live PyMOL support is an optional host adapter used from an already-running PyMOL process.

Install

Ephemeral MCP client install:

uvx --from datalox-protein-mcp protein-mcp mcp --stdio --headless

Persistent CLI install:

pipx install datalox-protein-mcp
protein-mcp doctor --json

Wheel install for validation:

python -m venv /tmp/protein-mcp-fresh
/tmp/protein-mcp-fresh/bin/python -m pip install dist/protein-mcp/datalox_protein_mcp-0.1.0-py3-none-any.whl
/tmp/protein-mcp-fresh/bin/protein-mcp doctor --json

MCP Registration

Ephemeral MCP registration:

{
  "mcpServers": {
    "protein-mcp": {
      "command": "uvx",
      "args": ["--from", "datalox-protein-mcp", "protein-mcp", "mcp", "--stdio", "--headless"]
    }
  }
}

Persistent install registration:

pipx install datalox-protein-mcp
protein-mcp mcp-config --install path --command "$(which protein-mcp)" --json

Installed wheel registration smoke:

/tmp/protein-mcp-fresh/bin/protein-mcp mcp-config \
  --install path \
  --command /tmp/protein-mcp-fresh/bin/protein-mcp \
  --json

One-Call MCP App Viewer

Use visualize_protein first when the user gives a PDB, mmCIF, or CIF file and asks to view, inspect, or change it.

Agent MCP workflow:

visualize_protein -> get_structure_context -> update_protein_view
visualize_protein -> list_ligands -> annotate_binding_site -> get_scene_annotations

By default, visualize_protein creates or reuses protein.workspace.json and returns the compact viewer MCP App resource:

ui://protein-mcp/compact-viewer-v1.html

Use open_structure -> open_protein_viewer only when an agent intentionally needs separate data and render phases.

Durable Local Viewer

For shell-only agents or hosts without MCP App rendering, request a durable local viewer URL:

visualize_protein(..., launch="localhost")

CLI durable preview:

protein-mcp preview /path/to/protein.workspace.json --detach --no-open --json

The JSON result includes url, pid, logPath, pidPath, health, and stopCommand. Stop the detached viewer when it is no longer needed:

protein-mcp stop-viewer --pid 12345 --json

open-viewer remains available as a foreground server command, but agents should use preview --detach when returning a URL to a human after the command exits.

Ligand Annotation

annotate_binding_site computes factual ligand contact residues and writes structured labels, distance measurements, and scene notes to the workspace. The compact viewer renders those annotations without requiring PyMOL.

CLI annotation path:

protein-mcp list-ligands /path/to/protein.workspace.json --structure target --json
protein-mcp annotate-binding-site /path/to/protein.workspace.json \
  --structure target \
  --ligand HEM:A:142 \
  --radius 4.5 \
  --max-contacts 24 \
  --json
protein-mcp get-scene-annotations /path/to/protein.workspace.json --json

Skill Export For CLI-Only Agents

CLI-only agents can export packaged Protein MCP instructions:

protein-mcp agent-skill --target /path/to/skills --json

The exported skill tells agents to prefer MCP tools, use visualize_protein first, use launch="localhost" for durable URLs, and clean up detached viewers with stop-viewer.

What This Package Does Not Install

The headless package does not install or require:

  • PyMOL
  • Qt
  • Node
  • Vite
  • Playwright

Live PyMOL validation requires an environment where PyMOL is already importable:

protein-mcp verify-live-alpha \
  --structure /absolute/path/to/1CRN.pdb \
  --json

Live HTTP MCP binds to 127.0.0.1 by default. Public binding requires the explicit --unsafe-public-bind flag.

Maintainer Release

These commands are for release CI and maintainers only. MCP clients, agents, and end users should not run them as installation steps.

cd packages/protein-mcp-viewer
npm ci
npm run check
npm run build
npm test

cd ../..
python -m pytest testing/protein_mcp_tests -q
python -m build packages/protein-mcp

Metadata

Release files for datalox-protein-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datalox-protein-mcp 0.1.0
File Size Uploaded Provenance Actions
datalox_protein_mcp-0.1.0.tar.gz 228.6 kB Without provenance Details for datalox_protein_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for datalox-protein-mcp 0.1.0
File Interpreter ABI Platform Actions
datalox_protein_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for datalox_protein_mcp-0.1.0-py3-none-any.whl

Total release size: 468.9 kB

Release files / datalox_protein_mcp-0.1.0.tar.gz

Download URL datalox_protein_mcp-0.1.0.tar.gz
Size 228.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8a7241d3c117f37c402a01f81dde0c71782e6c8d957c8f848004b0ac2b271c51
BLAKE2b-256 checksum
How to use checksums
3e3b65d5de772109c02bda0a7747f0108afd24a8e39631b79412af252a9d6191
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.5

Release files / datalox_protein_mcp-0.1.0-py3-none-any.whl

Download URL datalox_protein_mcp-0.1.0-py3-none-any.whl
Size 240.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8e84f067afbc48b28dbe11dc4679d795b06a7db565dfd83e5dbe6b48a10c3af
BLAKE2b-256 checksum
How to use checksums
c97c4b0e671f946b4accdc40d83957e1bb376e2fa5826a0f1cfb1c86783ea97d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.5

Security for datalox-protein-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page