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.
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 pathswitch_active_notebook: Switch between different notebooks
Code Execution
single_step_execute: Execute a single code blockmulti_step_execute: Execute multiple code steps with cell additionquery_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a109f8f69452ba8b67f4b25cd48928b4d208e4dd7f5fdb2b7684493c9e6f6e8d
|
|
| MD5 |
3d6f18bacbf1f6c4f6e056b3376ad37a
|
|
| BLAKE2b-256 |
f5996162a70b1e5e532f73964a324348710ca565282ec2479700d8b7c359e214
|
Provenance
The following attestation bundles were made for abcoder-0.3.1.tar.gz:
Publisher:
publish.yml on huang-sh/abcoder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
abcoder-0.3.1.tar.gz -
Subject digest:
a109f8f69452ba8b67f4b25cd48928b4d208e4dd7f5fdb2b7684493c9e6f6e8d - Sigstore transparency entry: 473249276
- Sigstore integration time:
-
Permalink:
huang-sh/abcoder@da4485e7a0d35e1b691e7cc1b508d97d87b7da0d -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/huang-sh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@da4485e7a0d35e1b691e7cc1b508d97d87b7da0d -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
974bf9b48fc4fc25403e753b11fb8fd3aacf2b6b3af656ae1a6266a53dbf7501
|
|
| MD5 |
d2c8c77cbd82bb89d282810c621eb295
|
|
| BLAKE2b-256 |
aac17c658f02e6be1394ffeb0a17d40d0d94bf086bfe793fce395f49fea9059d
|
Provenance
The following attestation bundles were made for abcoder-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on huang-sh/abcoder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
abcoder-0.3.1-py3-none-any.whl -
Subject digest:
974bf9b48fc4fc25403e753b11fb8fd3aacf2b6b3af656ae1a6266a53dbf7501 - Sigstore transparency entry: 473249288
- Sigstore integration time:
-
Permalink:
huang-sh/abcoder@da4485e7a0d35e1b691e7cc1b508d97d87b7da0d -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/huang-sh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@da4485e7a0d35e1b691e7cc1b508d97d87b7da0d -
Trigger Event:
release
-
Statement type: