# 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.
[](https://youtu.be/3jtXIeapslI)
**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:
```bash
pip install abcoder
```
Test the installation:
```bash
abcoder run
```
### Configuration
#### Run abcoder locally
First, check the installation path:
```bash
which abcoder
# Example output: /home/user/bin/abcoder
```
Configure your MCP client:
```json
{
"mcpServers": {
"abcoder": {
"command": "/home/user/bin/abcoder",
"args": ["run"]
}
}
}
```
#### Run abcoder remotely
Start the server on your remote machine:
```bash
abcoder run --transport shttp --port 8000
```
Configure your local MCP client:
```json
{
"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!
Raw data
{
"_id": null,
"home_page": null,
"name": "abcoder",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "AI, agent, bioinformatics, llm, mcp, model context protocol, scRNA-seq, single cell",
"author": null,
"author_email": "shuang <hsh-me@outlook.com>",
"download_url": "https://files.pythonhosted.org/packages/4d/c1/e0f331e805894a37669208efe8b978a2ea8f7c6acd596803d00043bd94aa/abcoder-0.2.0.tar.gz",
"platform": null,
"description": "# abcoder\n\nAgentic backend coder - A Jupyter notebook manager with MCP (Model Context Protocol) integration for AI-assisted code execution and bioinformatics workflows.\n\n**Supports multiple Jupyter kernels (Python, R, etc.) for parallel notebook management.**\n\n## \ud83e\udea9 What can it do?\n\n- **Jupyter Notebook Management**: Create, switch between, and manage multiple Jupyter notebooks\n- **Multi-kernel Support**: Manage and run code in multiple Jupyter kernels (e.g., Python, R) simultaneously\n- **Code Execution**: Execute single-step or multi-step code in Jupyter kernels\n- **Variable Backup**: Safely backup variables before code execution to prevent data loss\n- **API Documentation**: Query function and API documentation directly from the kernel\n- **Output Handling**: Capture and display execution results, errors, and generated figures\n- **Bioinformatics Integration**: Designed for bioinformatics workflows with support for common libraries like scanpy, pandas, numpy, etc.\n\n## \u2753 Who is this for?\n\n- **Bioinformaticians** who want AI assistance in their Jupyter workflows\n- **AI developers** building agents that need to execute code in Jupyter environments\n- **Researchers** who want to integrate AI tools with their computational notebooks\n- **Anyone** who wants to use natural language to control Jupyter notebook execution\n\n## \ud83c\udf10 Where to use it?\n\nYou can use abcoder in most AI clients, plugins, or agent frameworks that support the MCP:\n\n- **AI clients**: Cherry Studio, Claude Desktop, etc.\n- **Plugins**: Cline, etc.\n- **Agent frameworks**: Agno, etc.\n\n## \ud83c\udfac Demo\n\nA demo showing AI-assisted bioinformatics analysis in a Jupyter notebook using natural language commands through abcoder.\n\n[](https://youtu.be/3jtXIeapslI)\n\n**Click the image above to watch the demo video**\n\n## \ud83d\udcda Documentation\n\nFor complete documentation, visit: https://github.com/huang-sh/abcoder\n\n## \ud83c\udfce\ufe0f Quickstart\n\n### Install\n\nInstall from PyPI:\n```bash\npip install abcoder\n```\n\nTest the installation:\n```bash\nabcoder run\n```\n\n### Configuration\n\n#### Run abcoder locally\n\nFirst, check the installation path:\n```bash\nwhich abcoder\n# Example output: /home/user/bin/abcoder\n```\n\nConfigure your MCP client:\n```json\n{\n \"mcpServers\": {\n \"abcoder\": {\n \"command\": \"/home/user/bin/abcoder\",\n \"args\": [\"run\"]\n }\n }\n}\n```\n\n#### Run abcoder remotely\n\nStart the server on your remote machine:\n```bash\nabcoder run --transport shttp --port 8000\n```\n\nConfigure your local MCP client:\n```json\n{\n \"mcpServers\": {\n \"abcoder\": {\n \"url\": \"http://localhost:8000/mcp\"\n }\n }\n}\n```\n\n## \ud83d\udee0\ufe0f Available Tools\n\n### Notebook Management\n- `create_notebook`: Create a new Jupyter notebook with specified ID and path\n- `switch_active_notebook`: Switch between different notebooks\n\n### Code Execution\n- `single_step_execute`: Execute a single code block\n- `multi_step_execute`: Execute multiple code steps with cell addition\n- `query_api_doc`: Query function documentation from the kernel\n\n### Features\n- **Variable Backup**: Automatically backup variables before execution\n- **Error Handling**: Comprehensive error capture and reporting\n- **Output Display**: Support for text, images, and other display data\n- **Kernel Management**: Automatic kernel lifecycle management\n\n\n## \ud83e\udd1d Contributing\n\nIf you have any questions, welcome to submit an issue, or contact me(hsh-me@outlook.com). Contributions to the code are also welcome!",
"bugtrack_url": null,
"license": null,
"summary": "Agentic bioinformatics coder",
"version": "0.2.0",
"project_urls": {
"Documentation": "https://github.com/huang-sh/abcoder",
"Homepage": "https://github.com/huang-sh/abcoder",
"Repository": "https://github.com/huang-sh/abcoder"
},
"split_keywords": [
"ai",
" agent",
" bioinformatics",
" llm",
" mcp",
" model context protocol",
" scrna-seq",
" single cell"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f3204ed3855607230e2397c5fab4d74ece5c8cd02542ea6ae052eff185e389b1",
"md5": "409d538ff743a1eb1c87826fc867f28c",
"sha256": "d96f2963a29fc9d1a5426e4c7e49e60cb2ea0a1e11c2e9a6424973cb02b44398"
},
"downloads": -1,
"filename": "abcoder-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "409d538ff743a1eb1c87826fc867f28c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 9486,
"upload_time": "2025-07-08T12:36:44",
"upload_time_iso_8601": "2025-07-08T12:36:44.745542Z",
"url": "https://files.pythonhosted.org/packages/f3/20/4ed3855607230e2397c5fab4d74ece5c8cd02542ea6ae052eff185e389b1/abcoder-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4dc1e0f331e805894a37669208efe8b978a2ea8f7c6acd596803d00043bd94aa",
"md5": "cfeeba8b19f38c5e2e175cc110d35348",
"sha256": "2288fb52087380788aafcb5957c4819d372b163c34e4a5756e79bd86a8d2b34b"
},
"downloads": -1,
"filename": "abcoder-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "cfeeba8b19f38c5e2e175cc110d35348",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 8675,
"upload_time": "2025-07-08T12:36:46",
"upload_time_iso_8601": "2025-07-08T12:36:46.031609Z",
"url": "https://files.pythonhosted.org/packages/4d/c1/e0f331e805894a37669208efe8b978a2ea8f7c6acd596803d00043bd94aa/abcoder-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-08 12:36:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "huang-sh",
"github_project": "abcoder",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "abcoder"
}