1. Conduid
  2. AI
  3. Abacus Agent Tools
MCP server · AI

Abacus Agent Tools

MCP tools to connect LLMs and ABACUS jobs

Unclaimed LGPL-3.0 last commit 6 months ago ai
61Good

Scored 3 days ago · breakdown

About Abacus Agent Tools

Abacus Agent Tools is an MCP server published by deepmodeling in the AI category: mCP tools to connect LLMs and ABACUS jobs.

The repository has 29 stars and 17 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/deepmodeling/ABACUS-agent-tools

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Abacus Agent Tools

Powered by Claude · Grounded in docs

I know everything about Abacus Agent Tools. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.2.5v0.2.5 · 8 Jan 2026What's Changed fix DFT+U and init mag param in dos wrapper tool by @ahxbcn in https://github.com/deepmodeling/ABACUS-agent-tools/pull/83 Change return value of wrapped Bader tool by @ahxbcn in…
v0.2.4v0.2.4 · 15 Dec 2025What's Changed Remove dependency on calculator provided by ASE-ABACUS in phonon dispersion and vibrational frequency calculation by @ahxbcn in https://github.com/deepmodeling/ABACUS-agent-tools/pull/54 R[emove redundant dependency on…
v0.2.1v0.2.1 · 26 Sep 2025What's Changed Wrapper function to calculate various properties for MatMaster by @ahxbcn in https://github.com/deepmodeling/ABACUS-agent-tools/pull/50 Reconstruct the code to avoid mcp tools imported from wrapper function by @ahxbcn in…
v0.2.0v0.2.0 · 8 Sep 2025What's Changed Agent running Support running ABACUS calculation on local machine or Bohrium (submitted by bohr-agent-sdk or dflow) Input files and output files handling MCP tools for property calculations using ABACUS Basic crystal and…

README

ABACUS Agent Tools

ABACUS-agent-tools is a Python package that provides the Model Context Protocol (MCP) tools to connect large language models (LLMs) to ABACUS computational jobs. It serves as a bridge between AI models and first principles calculations, enabling intelligent interaction with ABACUS workflows.

Installation

To use ABACUS agent tools with Google Agent Development Kit (ADK), follow the recommended installation process:

Configuring environment using uv.lock

There's a uv.lock file in the root directory of this project. You can use it to prepare python packages that needed by running tools in ABACUS-agent-tools.

For packages that cannot be installed by pip or conda, please refer to Other dependencies`=.

Install from scratch manually

  1. Create and activate a conda enviroment:
conda create -n abacus-agent python=3.11
conda activate abacus-agent
  1. Install necessary dependencies:
pip install mcp google-adk litellm bohr-agent-sdk pymatgen abacustest
  1. Install ABACUS-agent-tools:
cd ..
git clone -b develop https://github.com/pxlxingliang/ABACUS-agent-tools.git
cd abacus-agent
pip install .

If you haven't installed ABACUS, you can install ABACUS to the same environment by conda:

conda install abacus "libblas=*=*mkl" mpich -c conda-forge

Other dependencies

Bader

Follow the given step to download, compile and install bader executable required in Bader charge analysis:

apt install subversion
svn co https://theory.cm.utexas.edu/svn/bader
cd bader
cp makefile.lnx_ifort makefile
vi makefile # Choose `ifort` or `gfortran` as compiler
make
cp bader /usr/local/bin/bader

Using ABACUS agent tools with Google ADK

Use ABACUS agent tools and Google ADK on local machine

Starting ABACUS agent tools

Before launching abacusagent, you must provide the necessary configurations in the ~/.abacusagent/env.json file. This file defines how the ABACUS agent tools generate input files and manage ABACUS calculation workflows. Note: When running abacusagent, it will automatically check if the file exists. If not, abacusagent will create it and set some default values. It is recommended to run abacusagent once first before modifying this file.

{
    "_comments": {
        "ABACUS_WORK_PATH": "The working directory for AbacusAgent, where all temporary files will be stored.",
        "ABACUS_SUBMIT_TYPE": "The type of submission for ABACUS, can be local or bohrium.",
        "ABACUSAGENT_TRANSPORT": "The transport protocol for AbacusAgent, can be 'sse' or 'streamable-http'.",
        "ABACUSAGENT_HOST": "The host address for the AbacusAgent server.",
        "ABACUSAGENT_PORT": "The port number for the AbacusAgent server.",
        "ABACUSAGENT_MODEL": "The model to use for AbacusAgent, can be 'fastmcp', 'test', or 'dp'.",
        "LLM_MODEL": "The model name for the LLM to use. Like: openai/qwen-turbo, deepseek/deepseek-chat",
        "LLM_API_KEY": "The API key for the LLM service.",
        "LLM_BASE_URL": "The base URL for the LLM service, if applicable.",
        "BOHRIUM_USERNAME": "The username for Bohrium.",
        "BOHRIUM_PASSWORD": "The password for Bohrium.",
        "BOHRIUM_PROJECT_ID": "The project ID for Bohrium.",
        "BOHRIUM_ABACUS_IMAGE": "The image for Abacus on Bohrium.",
        "BOHRIUM_ABACUS_MACHINE": "The machine type for Abacus on Bohrium.",
        "BOHRIUM_ABACUS_COMMAND": "The command to run Abacus on Bohrium",
        "ABACUS_COMMAND": "The command to execute Abacus on local machine.",
        "ABACUS_PP_PATH": "The path to the pseudopotential library for Abacus.",
        "ABACUS_ORB_PATH": "The path to the orbital library for ABACUS_PP_PATH",
        "ABACUS_SOC_PP_PATH": "The path to the SOC pseudopotential library for Abacus.",
        "ABACUS_SOC_ORB_PATH": "The path to the orbital library for ABACUS_SOC_PP_PATH.",
        "PYATB_COMMAND": "The command to execute PYATB on local machine.",
        "_comments": "This dictionary contains the default environment variables for AbacusAgent."
    }
}

Then you can start abacusagent.

>>> abacusagent
✅ Successfully loaded: abacusagent.modules.abacus
INFO:     Started server process [25487]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://localhost:50001 (Press CTRL+C to quit)

Preparing Google ADK Agent

You can use the following command to create files needed by a new agent:

abacusagent --create

Then a directory containing all necessary files will be generated:

abacus-agent/
├── __init__.py
└── agent.py

Then you can edit the agent.py file to customize the agent.

Starting Google ADK

>>> adk web
INFO:     Started server process [25799]
INFO:     Waiting for application startup.

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

Accessing the agent

  1. Open your browser and navigate to the provided ADK address.
  2. Select the agent directory name you configured.
  3. Interact with the LLM, which can now leverage ABACUS agent tools for computational tasks.

Use ABACUS agent tools and Google ADK on remote server

After installing ABACUS agent tools and Google ADK on a remote server, use the exposed ports for configuration.

Example for Bohrium Nodes

# Start ABACUS agent tools with public host and port
abacusagent --host "0.0.0.0" --port 50001
# Start Google ADK with public host and port
adk web --host "0.0.0.0" --port 50002

Accessing Remotely

Visit http://your-node-address.dp.tech:50002 in your browser, where:

  • your-node-address.dp.tech is the remote node URL
  • 50002 is the configured port for Google ADK

Supported functions

Functions of ABACUS Agent tools are in active development. Currently, the following functions are supported:

  • Generate cif/POSCAR/ABACUS STRU file of simple crystals and molecules, and generate crystal structure using Wyckoff positions
  • Rotate crystal to IEEE standard orientation (important for anisotropic properties, e.g. elastic tensor and orbital-resolved DOS)
  • Prepare ABACUS input files (INPUT, STRU, KPT, pseudopotential and orbital files) from given structure file
  • Modify INPUT and STRU file in prepared ABACUS directory
  • SCF, relax, cell-relax and molecule dynamics calculation using ABACUS
  • Bader charge
  • Density of states (DOS) and projected density of states (PDOS) (supports nspin=1 and nspin=2)
  • Band calculation (supports nspin=1 and nspin=2)
  • Phonon dispersion curve and phonon DOS
  • Elastic tensor and related Young's modulus, shear modulus, bulk modulus and possion ratio
  • Electron localization function (ELF)
  • Vibrational frequency of molecules using finite-difference method
  • Charge density difference and spin density
  • Using Birch-Murganhan equation to fit equation of state
  • Joint density of states (JDOS)
  • Work function
  • Vacancy formation energy of non-charged defects

Besides, wrapper functions for MatMaster are provided, which accepts a structure file and some key parameters to do ABACUS calculation/

You can use abacusagent --screen-modules to hide tool functions in some modules. The --matmaster option will only allow the wrapper function to be loaded.

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Abacus Agent Tools

How do I install Abacus Agent Tools?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Abacus Agent Tools safe to use with an AI agent?

Its trust score is 61 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Abacus Agent Tools still maintained?

The last commit was 6 months ago and 6 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.