Closed
Labels
cidependenciesPull requests that update a dependency filePull requests that update a dependency filemcp-serverPython MCP server and dataPython MCP server and datapriority: mediumImportant, not urgentImportant, not urgenttestingTest coverage and test toolingTest coverage and test tooling
Description
Why it matters
The MCP server has no tests. CI only runs py_compile, so the data-path bug, the pipeline mismatch in shader_helper, and the non-compiling scaffolds all shipped through green CI. Dependencies are unpinned and include packages the server never uses.
Evidence
- No
tests/directory anywhere;.github/workflows/validate.yml"Validate MCP server" job runspython3 -m py_compileonly. mcp-server/requirements.txt:mcp>=1.0.0,fastapi>=0.100.0,uvicorn>=0.23.0.server.pyimports neither FastAPI nor uvicorn (stdio transport only).mcpis unbounded across major versions..github/dependabot.ymlcovers onlygithub-actions, notpipin/mcp-server.mcp-server/tools/*.pyare 3-line stubs ("exists to maintain the expected directory structure") that CI compiles but nothing imports.
Suggested approach
- Add
pytesttests per tool: happy path, no-match path, invalid input, and launching from a different CWD. - Add an MCP protocol smoke test (start the server over stdio with the
mcpclient, list tools, call each once). - Drop
fastapianduvicorn; pinmcpto a compatible range (e.g.mcp>=1.14,<2); move topyproject.toml. - Add the
pipecosystem to Dependabot. - Either move tool logic into
mcp-server/tools/modules (and test them there) or delete the stubs. - Add
rufflint to CI.
Done when
CI runs a pytest suite plus a stdio smoke test on every PR, and dependencies are minimal and bounded.
Metadata
Metadata
Assignees
Labels
cidependenciesPull requests that update a dependency filePull requests that update a dependency filemcp-serverPython MCP server and dataPython MCP server and datapriority: mediumImportant, not urgentImportant, not urgenttestingTest coverage and test toolingTest coverage and test tooling
Activity
fix: make MCP server tools correct and testable (#49)
TMHSDigital commentedon Oct 9, 2026
Partly done in #49: pytest suite (48 tests) in CI on Python 3.10/3.12, unused fastapi/uvicorn removed, mcp capped below 2, Dependabot for pip. Still open: linter, and removing the empty tools/ stubs.