MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

MCP server by ComputBiophys

Created 1/27/2026
Updated about 19 hours ago
Repository documentation and setup instructions

MCP-ANM and PRS Simulation

This repository contains MATLAB and Python scripts to perform MCP-ANM (Membrane-Contact Probability Anisotropic Network Model) and MCP-mANM (Membrane-Contact Probability multiscale Anisotropic Network Model) simulations, along with Protein Response Scanning (PRS) for applying membrane tension or push/pull force to proteins. The workflow generates a series of stretched conformations from a PDB file and associated MCP (Membrane Contact Probability) data.

Overview

The pipeline consists of the following steps:

  1. PDB File Preparation

    • Download and orient a protein structure (e.g., from the OPM database), ensuring alignment with the membrane (Z-axis normal).
  2. MCP File Generation

    • Use the MCP Predictor to generate a .csv file containing membrane-contact probabilities for each residue.
  3. MCP-ANM and MCP-mANM Simulation

    • MATLAB: Run mcpANM.m or mcpmANM.m to compute the Hessian matrix and perform eigendecomposition for normal modes using PDB and MCP files.
    • Python: Use mcpANM.py or mcpmANM.py for the same purpose.
  4. Force Direction Calculation

    • A Python script (force_direction.py) computes tension vectors for each residue, saved as *_normals.txt, for use in membrane tension simulations.
  5. Membrane Tension via PRS

    • MATLAB: Scripts mcpmANM_PRS_tension_model.m apply in-plane forces to membrane-contacting residues, generating conformations at varying tension levels.
    • Python: Scripts mcpmANM_PRS_tension_model.py perform the same task.
  6. Push/Pull Force Simulation

    • MATLAB: Scripts mcpmANM_PRS_tether_model.m apply a fixed force (e.g., F = (0, 0, 1)) to specific residues for push/pull studies.
    • Python: Scripts mcpmANM_PRS_tether_model.py offer equivalent functionality.

File Descriptions

| File | Description | |------|-------------| | 6pwn.pdb | Example PDB file for the mechanosensitive channel MscS (PDB ID: 6pwn). | | 6pwn.mcp | Example MCP file generated by MCP Predictor for the 6pwn structure. ; this file is derived by extracting MCP data from 6pwn.csv, and can be omitted in practice with direct use of 6pwn.csv.| | 6pwn.csv | Example MCP file generated by MCP Predictor for the 6pwn structure. | | 6pwn_normals.txt | Example file with tension vectors for each residue, generated by force_direction.py. |

MATLAB Files

| File | Description | |------|-------------| | pdbread.m | Reads PDB files, extracting Cα coordinates, residue names, B-factors, and chain counts. | | MCP_read.m | Reads MCP (Membrane-Contact Probability) files (supports .mcp and .csv formats), filters and returns indices of residues with MCP values exceeding the specified threshold. | | calculateHessian.m | Computes the Hessian matrix for ANM calculations. | | calculateHessian_kernal.m | Computes the Hessian matrix for mANM calculations. | | filewrite.m | Writes output PDB files with proper chain assignments. | | mcpANM.m | Main script for MCP-ANM simulation. | | mcpmANM.m | Main script for MCP-mANM simulation. | | mcpmANM_PRS_tension_model.m | Applies membrane tension using PRS with MCP-mANM. | | mcpmANM_PRS_tether_model.m | Simulates push/pull forces with MCP-mANM using a fixed force. |

Python Files

| File | Description | |------|-------------| | mcpANM.py | Main script for MCP-ANM simulation. | | mcpmANM.py | Main script for MCP-mANM simulation. | | mcpmANM_PRS_tension_model.py | Applies membrane tension using PRS with MCP-mANM. | | mcpmANM_PRS_tether_model.py | Simulates push/pull forces with MCP-mANM using a fixed force. | | force_direction.py | Computes force direction vectors (tension vectors). |

MCP Predictor

Available at: [MCP Predictor GitHub](https://github.com/ComputBiophys/MCP_Predictor, updated model: https://github.com/ComputBiophys/ProtRAP-LM )

Usage Instructions

Set Up the Environment

  • MATLAB: Requires MATLAB R2018b or later.
  • Python: Requires Python 3.x with NumPy, SciPy, and Matplotlib installed.

Generate MCP File

Use MCP Predictor to create a .csv file for your protein.

Run the Simulation

  1. Open mcpANM.m or mcpmANM.m, mcpANM.py or mcpmANM.py, set PDB and MCP file names, and run MCP-ANM/MCP-mANM.
  2. Run force_direction.py (in Python) to generate *_normals.txt.
  3. Run mcpmANM_PRS_tension_model.m or mcpmANM_PRS_tension_model.py for membrane tension simulations.
  4. Push/Pull Simulations: Run mcpmANM_PRS_tether_model.m or mcpmANM_PRS_tether_model.py to apply a fixed force (e.g., F = (0, 0, 1)) to specific regions.

License and Citation

This code is for academic research. Please cite the relevant publication when using it.

Zhongjie Han, Wang Lei, Chen Song. Improved Anisotropic Network Models for Membrane Protein Dynamics and Mechanosensitive Ion Channels. DOI: 10.1101/2025.05.22.654704

Contact

For assistance, contact Zhongjie Han at zjayhan@pku.edu.cn.

Quick Setup
Installation guide for this server

Install Package (if required)

uvx mcp-anm

Cursor configuration (mcp.json)

{ "mcpServers": { "computbiophys-mcp-anm": { "command": "uvx", "args": [ "mcp-anm" ] } } }