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.3.2.tar.gz (189.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.3.2-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: abcoder-0.3.2.tar.gz
  • Upload date:
  • Size: 189.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.3.2.tar.gz
Algorithm Hash digest
SHA256 93ab4aa0681edd1d034065137564bae670534537c35b43923e0649860d0d0bb5
MD5 36a6a77b6fd8a7ccab5010dadd261960
BLAKE2b-256 ddce470030978b8e20a516618e9a4640abc3f2b9d859cb99c8b5f8c242ad6095

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: abcoder-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 24.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.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3f52fb5ae79b21074eacb399568cfcff7ded2ce8d24bed71b6e5a23e173e9758
MD5 6926c1c9682eb13ab139e640cbad1ff0
BLAKE2b-256 6b9504eba4e91fbf0259c0d00f14ca6b4ea4583c79c46c8bcd7d2a9f73fb3bc6

See more details on using hashes here.

Provenance

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