Skip to main content

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!

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.4.0.tar.gz (210.5 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.4.0-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for abcoder-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6ef46edbc1ad679628e58ce85ab492b79b0cf72b8fe0fc37ad77126bfa63efa8
MD5 6f96b1124a273e15dffd66eccede4dc3
BLAKE2b-256 d7cf15b88b2d4f71dfbecde8770ba856dba960c033984d36f2f1e43697597cb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for abcoder-0.4.0.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.4.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for abcoder-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5400e22ced4224db28bdaf598568937b4575287f90e79bbbbfd9660a762fc8df
MD5 464ac74633524aa54779a66ea35e21e0
BLAKE2b-256 fcc46aaeadd2ca3406d7b22adb203751f5be42abd6792f9654e63064a6c5900a

See more details on using hashes here.

Provenance

The following attestation bundles were made for abcoder-0.4.0-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