Skip to content

Conversation

@JoJoJoJoJoJoJo
Copy link
Contributor

@JoJoJoJoJoJoJo JoJoJoJoJoJoJo commented Aug 23, 2025

User description

update to install from pypi


PR Type

Other


Description

  • Update MCP science servers installation from Git to PyPI packages

  • Simplify uvx command arguments by removing Git repository references

  • Standardize package names with underscore format


Diagram Walkthrough

flowchart LR
  A["Git Repository Installation"] -- "migrate to" --> B["PyPI Package Installation"]
  B --> C["Simplified uvx Commands"]
  B --> D["Standardized Package Names"]
Loading

File Walkthrough

Relevant files
Configuration changes
materials-project.json
Switch materials-project server to PyPI installation         

mcp-registry/servers/materials-project.json

  • Remove --from and Git repository URL from uvx args
  • Change package name from mcp-materials-project to
    mcp_materials_project
+1/-3     
txyz-search.json
Switch txyz-search server to PyPI installation                     

mcp-registry/servers/txyz-search.json

  • Remove --from and Git repository URL from uvx args
  • Keep package name as mcp-txyz-search
+0/-2     
web-fetch.json
Switch web-fetch server to PyPI installation                         

mcp-registry/servers/web-fetch.json

  • Remove --from and Git repository URL from uvx args
  • Change package name from mcp-web-fetch to mcp_web_fetch
+1/-3     

Summary by CodeRabbit

  • Chores
    • Simplified installation for the txyz-search and web-fetch servers by using a single-package uvx command (no git URLs or flags).
    • Streamlines setup, reduces install errors, and improves reliability during provisioning.
    • No changes to runtime behavior or configuration required for existing users; upgrades remain backward-compatible.

Copilot AI review requested due to automatic review settings August 23, 2025 07:03
@coderabbitai
Copy link

coderabbitai bot commented Aug 23, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Warning

Rate limit exceeded

@JoJoJoJoJoJoJo has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 9 minutes and 16 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 539d5ac and fe7b8db.

📒 Files selected for processing (7)
  • mcp-registry/servers/materials-project.json (1 hunks)
  • mcp-registry/servers/mathematica-check.json (1 hunks)
  • mcp-registry/servers/nemad.json (1 hunks)
  • mcp-registry/servers/python-code-execution.json (1 hunks)
  • mcp-registry/servers/ssh-exec.json (1 hunks)
  • mcp-registry/servers/txyz-search.json (1 hunks)
  • mcp-registry/servers/web-fetch.json (1 hunks)

Walkthrough

Updated uvx installation arguments in two server registry JSON files to remove git-based --from sources and subdirectory references, leaving only the package names in args. No other fields changed.

Changes

Cohort / File(s) Summary
UVX args simplification
mcp-registry/servers/txyz-search.json, mcp-registry/servers/web-fetch.json
Replaced uvx install args from ["--from", "git+...#subdirectory=.../txyz-search", "mcp-txyz-search"] and ["--from", "git+...#subdirectory=.../web-fetch", "mcp-web-fetch"] to ["mcp-txyz-search"] and ["mcp-web-fetch"] respectively; other fields unchanged.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

I hop through configs, light as air,
Snipping long flags with tidy care.
Two paths now short, no git to fetch—
Just names to call, a cleaner stretch.
Thump-thump, the registry’s set;
Simple installs? My favorite bet. 🐇✨

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jonathan/chore-update-mcp-science-servers

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@qodo-merge-pro
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Package Name Consistency

The package name was changed to mcp_materials_project (underscores). Verify this matches the published PyPI package name and import/entry point expectations across the codebase and docs.

  "mcp_materials_project"
],
Package Name Consistency

The package name was changed to mcp_web_fetch. Confirm this aligns with the actual PyPI distribution and the uvx entry point name.

  "mcp_web_fetch"
],
Command Field Consistency

command remains uvx here while materials-project.json uses uv. Ensure the intended runner is consistent across servers or documented if mixed usage is required.

"command": "uvx",
"args": [
  "mcp-txyz-search" 
],

@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Aug 23, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Use correct uvx runner command
Suggestion Impact:The commit updated the "command" value from "uv" to "uvx" in the uvx installation entry, matching the suggestion.

code diff:

-      "command": "uv",
+      "command": "uvx",

For uvx-style execution, set command to uvx rather than bare uv. Using uv may
not invoke the shim runner and can fail to locate the console script in
ephemeral venvs. Align with other entries using uvx.

mcp-registry/servers/materials-project.json [181-184]

-"command": "uv",
+"command": "uvx",
 "args": [
     "mcp_materials_project"
 ],

[Suggestion processed]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies a likely functional bug where the command is set to uv instead of uvx, which is inconsistent with the type being uvx and other files in the PR.

Medium
Align CLI name with package entrypoint
Suggestion Impact:The commit changed the CLI arg from "mcp_materials_project" to "mcp-materials-project" and also added uvx source flags, aligning the executable name as suggested.

code diff:

-        "mcp_materials_project"
+        "--from",
+        "git+https://github.com/pathintegral-institute/mcp.science#subdirectory=servers/materials-project",
+        "mcp-materials-project"
       ],

Ensure the CLI name matches the published package's executable. If the installed
console script remains mcp-materials-project, switching to mcp_materials_project
will break execution. Verify the entry point name and keep the CLI argument
consistent.

mcp-registry/servers/materials-project.json [182-184]

 "args": [
-    "mcp_materials_project"
+    "mcp-materials-project"
 ],

[Suggestion processed]

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly points out a potential runtime error, as Python package names (using _) often differ from their command-line executable names (using -), and asks for verification.

Medium
Fix incorrect CLI executable name
Suggestion Impact:The commit updated the args entry to use "mcp-web-fetch" instead of "mcp_web_fetch", matching the suggestion.

code diff:

-        "mcp_web_fetch"
+        "mcp-web-fetch"

Use the actual console script name provided by the package. If the entry point
is mcp-web-fetch, changing to mcp_web_fetch will cause command not found errors.
Confirm and use the correct hyphen/underscore variant.

mcp-registry/servers/web-fetch.json [32-34]

 "args": [
-    "mcp_web_fetch"
+    "mcp-web-fetch"
 ],

[Suggestion processed]

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly points out a potential runtime error, as Python package names (using _) often differ from their command-line executable names (using -), and asks for verification.

Medium
  • Update

Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
mcp-registry/servers/web-fetch.json (1)

31-35: Use the hyphenated console script name in web-fetch.json

The PyPI package registers its console script as mcp-web-fetch, not mcp_web_fetch, so the "args" entry should be updated to match.

• File: mcp-registry/servers/web-fetch.json (lines 31–35)
• Change the single-token arg to the hyphenated name:

-      "args": [
-        "mcp_web_fetch"
-      ],
+      "args": [
+        "mcp-web-fetch"
+      ],

Optionally, if you want to be explicit about the source, you can instead use:

-      "args": [
-        "mcp_web_fetch"
-      ],
+      "args": [
+        "--from",
+        "mcp-web-fetch",
+        "mcp-web-fetch"
+      ],
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between cdc3f14 and 0f59e08.

📒 Files selected for processing (3)
  • mcp-registry/servers/materials-project.json (1 hunks)
  • mcp-registry/servers/txyz-search.json (0 hunks)
  • mcp-registry/servers/web-fetch.json (1 hunks)
💤 Files with no reviewable changes (1)
  • mcp-registry/servers/txyz-search.json
🔇 Additional comments (1)
mcp-registry/servers/materials-project.json (1)

181-185: Use uvx and the hyphenated console script name

The PyPI package for the MCP “materials-project” server registers its console script as mcp-materials-project (with hyphens), so the registry entry should:

  • Use the uvx command (matching the "uvx" installation type)
  • Invoke the hyphenated script name

Locations to update:

  • File: mcp-registry/servers/materials-project.json
  • Lines 181–185

Proposed diff:

--- a/mcp-registry/servers/materials-project.json
+++ b/mcp-registry/servers/materials-project.json
@@ -181,6 +181,6 @@
       "env": {
         /* … */
       },
-      "command": "uv",
+      "command": "uvx",
       "args": [
-        "mcp_materials_project"
+        "mcp-materials-project"
       ],
       /* … */

This aligns with the package’s console_scripts entry (mcp-materials-project = mcp_materials_project.cli:main). Merging this change will ensure the server launches correctly.

Comment on lines 32 to 34
"args": [
"--from",
"git+https://github.com/pathintegral-institute/mcp.science#subdirectory=servers/web-fetch",
"mcp-web-fetch"
"mcp_web_fetch"
],
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestion: Fix incorrect CLI executable name

Suggested change
"args": [
"--from",
"git+https://github.com/pathintegral-institute/mcp.science#subdirectory=servers/web-fetch",
"mcp-web-fetch"
"mcp_web_fetch"
],
"args": [
"mcp-web-fetch"
],

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
mcp-registry/servers/materials-project.json (1)

181-181: Good catch: switch runner to uvx (matches registry type and past feedback).

Using "command": "uvx" aligns with the "type": "uvx" block and our learning to use uv tooling. Also reflects the prior reviewer’s suggestion that was marked as manually applied.

🧹 Nitpick comments (1)
mcp-registry/servers/materials-project.json (1)

183-184: Optional: consider version pinning strategy.

Using the bare app name prevents pinning to a known-good version. If stability matters, prefer an explicit requirement with a version range and the console script name:

   "command": "uvx",
   "args": [
-    "mcp_materials_project"
+    "--from", "mcp_materials_project>=0.1,<1.0",
+    "mcp_materials_project"
   ],

This stays PyPI-based while guarding against breaking changes.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 0f59e08 and 24ca788.

📒 Files selected for processing (1)
  • mcp-registry/servers/materials-project.json (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-06T08:20:00.958Z
Learnt from: CR
PR: pathintegral-institute/mcpm.sh#0
File: CLAUDE.md:0-0
Timestamp: 2025-08-06T08:20:00.958Z
Learning: Use `uv` for all Python dependency management.

Applied to files:

  • mcp-registry/servers/materials-project.json
🔇 Additional comments (1)
mcp-registry/servers/materials-project.json (1)

183-184: Unable to verify console‐script name for “mcp_materials_project”

The PyPI lookup for mcp_materials_project returned a 404, so we couldn’t confirm whether the package actually exposes an underscore‐named entry point. Please manually verify:

  • That the package you’re depending on is indeed published under “mcp_materials_project” (and not a hyphenated name like “mcp-materials-project”), or that you’re pointing at a private index.

  • That its setup.py/pyproject.toml lists a console_scripts entry exactly named mcp_materials_project.

  • If the actual script name differs, update the args accordingly, or use the explicit --from pattern for robustness:

       "command": "uvx",
       "args": [
    -    "mcp_materials_project"
    +    "--from", "mcp_materials_project", "mcp_materials_project"
       ],

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@JoJoJoJoJoJoJo JoJoJoJoJoJoJo merged commit ec3a2d5 into main Aug 23, 2025
8 checks passed
@JoJoJoJoJoJoJo JoJoJoJoJoJoJo deleted the jonathan/chore-update-mcp-science-servers branch August 23, 2025 07:25
@mcpm-semantic-release
Copy link

🎉 This PR is included in version 2.7.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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