fix(mcp): correct install docs, URL encoding, docstring, and test coverage#4
Open
lwsinclair wants to merge 1 commit into
Open
fix(mcp): correct install docs, URL encoding, docstring, and test coverage#4lwsinclair wants to merge 1 commit into
lwsinclair wants to merge 1 commit into
Conversation
…erage
README: replace the not-yet-published PyPI quickstart (uvx/pip commands
that fail) with the working git-install form. Clarify the Claude Code
config section: add JENNER_API_KEY to the .mcp.json example and spell
out the --from git+ form consistently across all snippets.
server.py: encode run_id and dataset path segments with urllib.parse.quote
so names containing spaces or special characters reach the API correctly.
Fix validate_sas docstring — diagnostics list items are dicts
{"severity": str, "message": str}, not bare sets.
tests: add test_dataset_preview (was the only tool with zero coverage)
and test_get_run_url_encodes_run_id to pin the URL encoding behaviour.
14/14 pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
uvx jenner-sas-mcpandpip install jenner-sas-mcp, both of which fail because the package isn't on PyPI. Replaced with the working--from git+...form throughout, including the Claude Desktop JSON config and the Claude Codeclaude mcp addexample. Also addedJENNER_API_KEYto the.mcp.jsonexample which previously omitted it.get_runanddataset_previewbuilt URL paths with rawrun_id/datasetvalues — names containing spaces or/would produce invalid URLs. Fixed withurllib.parse.quote(..., safe='').validate_sasdocstring had wrong type syntax:{"severity", "message"}(a Python set literal) instead of{"severity": str, "message": str}(a dict). LLMs reading the tool description got the wrong schema.dataset_previewhad zero test coverage: Addedtest_dataset_previewandtest_get_run_url_encodes_run_idto pin the URL encoding behaviour. 14/14 tests pass.Test plan
pytest tests/— 14/14 pass (was 12)test_dataset_preview(my dataset→my%20dataset)test_get_run_url_encodes_run_id(r/1→r%2F1)🤖 Generated with Claude Code