Skip to main content

Agentic bioinformatics coder

Project description

abcoder

Agentic backend coder - A Jupyter notebook manager with MCP (Model Context Protocol) integration for AI-assisted code execution and bioinformatics workflows.

Supports multiple Jupyter kernels (Python, R, etc.) for parallel notebook management.

🪩 What can it do?

  • Jupyter Notebook Management: Create, switch between, and manage multiple Jupyter notebooks
  • Multi-kernel Support: Manage and run code in multiple Jupyter kernels (e.g., Python, R) simultaneously
  • Code Execution: Execute single-step or multi-step code in Jupyter kernels
  • Variable Backup: Safely backup variables before code execution to prevent data loss
  • API Documentation: Query function and API documentation directly from the kernel
  • Output Handling: Capture and display execution results, errors, and generated figures
  • Bioinformatics Integration: Designed for bioinformatics workflows with support for common libraries like scanpy, pandas, numpy, etc.

❓ Who is this for?

  • Bioinformaticians who want AI assistance in their Jupyter workflows
  • AI developers building agents that need to execute code in Jupyter environments
  • Researchers who want to integrate AI tools with their computational notebooks
  • Anyone who wants to use natural language to control Jupyter notebook execution

🌐 Where to use it?

You can use abcoder in most AI clients, plugins, or agent frameworks that support the MCP:

  • AI clients: Cherry Studio, Claude Desktop, etc.
  • Plugins: Cline, etc.
  • Agent frameworks: Agno, etc.

🎬 Demo

A demo showing AI-assisted bioinformatics analysis in a Jupyter notebook using natural language commands through abcoder.

abcoder Demo

Click the image above to watch the demo video

📚 Documentation

For complete documentation, visit: https://github.com/huang-sh/abcoder

🏎️ Quickstart

Install

Install from PyPI:

pip install abcoder

Test the installation:

abcoder run

Configuration

Run abcoder locally

First, check the installation path:

which abcoder
# Example output: /home/user/bin/abcoder

Configure your MCP client:

{
  "mcpServers": {
    "abcoder": {
      "command": "/home/user/bin/abcoder",
      "args": ["run"]
    }
  }
}

Run abcoder remotely

Start the server on your remote machine:

abcoder run --transport shttp --port 8000

Configure your local MCP client:

{
  "mcpServers": {
    "abcoder": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

🛠️ Available Tools

Notebook Management

  • create_notebook: Create a new Jupyter notebook with specified ID and path
  • switch_active_notebook: Switch between different notebooks

Code Execution

  • single_step_execute: Execute a single code block
  • multi_step_execute: Execute multiple code steps with cell addition
  • query_api_doc: Query function documentation from the kernel

Features

  • Variable Backup: Automatically backup variables before execution
  • Error Handling: Comprehensive error capture and reporting
  • Output Display: Support for text, images, and other display data
  • Kernel Management: Automatic kernel lifecycle management

🤝 Contributing

If you have any questions, welcome to submit an issue, or contact me(hsh-me@outlook.com). Contributions to the code are also welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abcoder-0.3.1.tar.gz (178.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

abcoder-0.3.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file abcoder-0.3.1.tar.gz.

File metadata

  • Download URL: abcoder-0.3.1.tar.gz
  • Upload date:
  • Size: 178.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for abcoder-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a109f8f69452ba8b67f4b25cd48928b4d208e4dd7f5fdb2b7684493c9e6f6e8d
MD5 3d6f18bacbf1f6c4f6e056b3376ad37a
BLAKE2b-256 f5996162a70b1e5e532f73964a324348710ca565282ec2479700d8b7c359e214

See more details on using hashes here.

Provenance

The following attestation bundles were made for abcoder-0.3.1.tar.gz:

Publisher: publish.yml on huang-sh/abcoder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file abcoder-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: abcoder-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for abcoder-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 974bf9b48fc4fc25403e753b11fb8fd3aacf2b6b3af656ae1a6266a53dbf7501
MD5 d2c8c77cbd82bb89d282810c621eb295
BLAKE2b-256 aac17c658f02e6be1394ffeb0a17d40d0d94bf086bfe793fce395f49fea9059d

See more details on using hashes here.

Provenance

The following attestation bundles were made for abcoder-0.3.1-py3-none-any.whl:

Publisher: publish.yml on huang-sh/abcoder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page