Skip to content

Conversation

huang-sh
Copy link
Contributor

@huang-sh huang-sh commented Apr 11, 2025

Checklist for adding packages

Mandatory

Name of the tool: scmcp
Short description: An MCP server for scRNA-Seq analysis with natural language.

How does the package use scverse data structures (please describe in a few sentences): scmcp uses anndata for most analyses and is dependent on Scanpy.

  • The code is publicly available under an OSI-approved license
  • The package provides versioned releases
  • The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda)
  • Automated tests cover essential functions of the package and a reasonable range of inputs and conditions 1
  • Continuous integration (CI) automatically executes these tests on each push or pull request 2
  • The package provides API documentation via a website or README3
  • The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions)
  • I am an author or maintainer of the tool and agree on listing the package on the scverse website

Recommended

  • Please announce this package on scverse communication channels (zulip, discourse, twitter)

  • Please tag the author(s) these announcements. Handles (e.g. @scverse_team) to include are:

    • Zulip:
    • Discourse:
    • Mastodon:
    • Bluesky:
    • Twitter:
  • The package provides tutorials (or "vignettes") that help getting users started quickly

  • The package uses the scverse cookiecutter template.

Footnotes

  1. We recommend thtat tests cover at least all user facing (public) functions. Minimal tests ensure that the function does not fail on an example data set. Ideally, tests also ensure the correctness of the results, e.g. by comparing against a snapshot.

  2. Continuous integration means that software tests are automatically executed on every push to the git repository. This guarantees they are always run and that they are run in a clean environment. Scverse ecosystem packages most commonly use GitHub Actions for CI. For an example, check out our cookiecutter template.

  3. By API documentation, we mean an overview of all public functions provided a package, with documentation of their parameters. For an example, see the Scanpy documentation. In simple cases, this can be done manually in a README file. For anything more complex, we recommend the Sphinx Autodoc plugin

@huang-sh huang-sh changed the title add scanpy-mcp add scmcp Apr 14, 2025
Copy link
Collaborator

@mikkelnrasmussen mikkelnrasmussen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @huang-sh,

Thanks for submitting scmcp- interesting to see tools integrating LLMs with single-cell data workflows!

I have a couple of notes regarding the checklist:

The package provides API documentation via a website or README.

While we understand that scmcp functions as a server layer integrating LLMs with external tools, we still require some form of documentation. This should outline the key functions or components of the tool so that users can understand how to use it/interact with it.

The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions)

We would also need a short description of how the package uses scverse data structures. This will help users know what to expect when working with their data through the tool.

Looking forward to hearing from you!

Best regards,
Mikkel

@huang-sh
Copy link
Contributor Author

@mikkelnrasmussen Hey,thanks for your review. you are right, we indeed need outline the tools and functions. And also wirte how to use scverse data structures.

@huang-sh
Copy link
Contributor Author

@mikkelnrasmussen Hi, please review it. thanks! I have updated documentation. I add a tool list of mcp servers(https://docs.scmcphub.org/servers/scanpy-mcp). There are no detailed paramters , as in fact in most time, for mcp , function paramters are for LLMs, not human. Also scmcp tools' parameters are almost same with scanpy.

@Zethson Zethson requested a review from mikkelnrasmussen June 4, 2025 12:47
@grst
Copy link
Contributor

grst commented Jun 11, 2025

Hi @huang-sh,

thanks for adding the tool overview. I think this is helpful, and I'd suggest to additionally add a link to respective docs of the original packages.

Regarding API docs, I understand that there's no user-facing API for the analyses -- therefore it cannot be documented and that's ok. But what about classes like BaseMCPManager? Wouldn't it be useful to document these as it would make it easier for others to build additional MCPs for other tools?

btw, I tried accessing the scmcp_shared repo, but couldn't find it in the scmcphub GitHub org.

@huang-sh
Copy link
Contributor Author

@grst thanks for review. Nice suggestion , I will add a link to respective docs of the original packages.
Sure, indeed, class like BaseMCPManager is for others to build additional MCPs for other tools. will add more documents about it, and make it scmcp_shared accessible later.

@grst
Copy link
Contributor

grst commented Jun 18, 2025

@huang-sh, you are probably aware, but your website appears to be down atm: https://docs.scmcphub.org/

image

@huang-sh
Copy link
Contributor Author

@grst Thanks! I didn't realize it - probably a caching problem since it always worked on my computer. Should be fixed now.

BTW,I have add links to respective docs of the original packages. and scmcp_shared is open now.

@grst
Copy link
Contributor

grst commented Jun 19, 2025

Cool, then I think the only thing left is documentation of the base classes?

Sure, indeed, class like BaseMCPManager is for others to build additional MCPs for other tools. will add more documents about it,

@huang-sh
Copy link
Contributor Author

@grst Hi, sorry for late reply, as I add a new run mode, it can generate complete Jupyter notebooks containing executable code, analysis results, and visualizations(demo). I have added the Development Guide in https://docs.scmcphub.org/dev-guide/, please check , thanks!

Copy link
Contributor

@grst grst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, thanks for adding it!

@grst
Copy link
Contributor

grst commented Jun 30, 2025

@mikkelnrasmussen, please feel free to merge once this is ok from your side!

Copy link
Collaborator

@mikkelnrasmussen mikkelnrasmussen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

Copy link
Collaborator

@mikkelnrasmussen mikkelnrasmussen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concerns regarding documentation has been addressed and fulfils all other criteria. This LGTM now!

@mikkelnrasmussen mikkelnrasmussen merged commit bb7dd3c into scverse:main Jul 1, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants