Skip to content

SEAB-7737: Scaffold MCP server - #1

Open
svonworl wants to merge 10 commits into
developfrom
feature/scaffold
Open

SEAB-7737: Scaffold MCP server#1
svonworl wants to merge 10 commits into
developfrom
feature/scaffold

Conversation

@svonworl

@svonworl svonworl commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Description

This PR populates the mcp repository with a skeleton MCP server and rough implementations of the building/testing/containerization infrastructure. The MCP server implements a hello tool as well as the four planned Dockstore query tools. The MCP server runs, and the hello tool works as advertised, but the guts of the other tools are not yet implemented.

The goal of this PR is to initialize the repository and provide a foundation upon which to perform subsequent work. The interfaces, tools used, build system, testing, flow etc. will likely change, fundamentally, in some cases.

Issues
https://ucsc-cgl.atlassian.net/browse/SEAB-7736
https://ucsc-cgl.atlassian.net/browse/SEAB-7737

@denis-yuen denis-yuen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Some minor comments, most can be spun off if needed. Some of the versions will probably trigger dependabot immediately so may as well fix now?

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Testing a few python versions seems like an ok idea, but why these three? They seem kind close together/redundant

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

If we add "3.14", this is all of the Python versions that haven't reached end of life, minus 3.10, which EOLs very soon: https://devguide.python.org/versions/
Might as well make sure it works with all of them, easier for devs.

Comment thread .github/workflows/ci.yml Outdated
)
parser.add_argument("--host", help="Interface to bind when serving over HTTP.")
parser.add_argument("--port", type=int, help="Port to bind when serving over HTTP.")
parser.add_argument("--path", help="HTTP path the MCP endpoint is served from.")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

may spin off ticket, presumably load balancer handles https like with the webservice, but does this need to say http or https?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

"HTTP" refers to the MCP transport, which can be either "stdio" or "http":
https://modelcontextprotocol.io/specification/2026-07-28/basic/transports

Comment thread README.md

## Requirements

- Python 3.11 or newer (the container image uses 3.13)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why not just standardize on 3.13 from the get-go?
(I don't feel strongly about this, just curious why the extra effort)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

IMHO, might as well make sure it works for the currently-supported Python versions, to make it easier to work on it. Some people don't have the latest installed.

@svonworl

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants