Skip to content

Conversation

@GabrielDrapor
Copy link
Contributor

@GabrielDrapor GabrielDrapor commented Sep 11, 2025

User description

fix an invalid json and add another new one


PR Type

Bug fix, Enhancement


Description

  • Fix invalid JSON syntax in hustcc-mcp-mermaid.json

  • Add new OPTIMADE MCP server for materials science queries

  • Configure proxy support and OPTIMADE provider tools


Diagram Walkthrough

flowchart LR
  A["Registry Update"] --> B["Fix JSON Syntax"]
  A --> C["Add OPTIMADE Server"]
  C --> D["Materials Science Tools"]
  C --> E["Proxy Configuration"]
Loading

File Walkthrough

Relevant files
Bug fix
hustcc-mcp-mermaid.json
Fix JSON syntax error                                                                       

mcp-registry/servers/hustcc-mcp-mermaid.json

  • Remove trailing comma from author name field
+1/-1     
Enhancement
optimade-mcp-server.json
Add OPTIMADE materials science server                                       

mcp-registry/servers/optimade-mcp-server.json

  • Add complete server configuration for OPTIMADE materials database
  • Include query tools for materials science data
  • Configure HTTP/HTTPS proxy support
  • Define installation via uvx package manager
+94/-0   

Summary by CodeRabbit

  • New Features

    • Added an OPTIMADE MCP server to the registry, enabling queries against OPTIMADE-compatible materials databases.
    • Provides tools to run filtered queries, validate filters, and list public providers.
    • Supports optional HTTP/HTTPS proxy configuration and a recommended uvx-based installation command.
  • Style

    • Minor formatting cleanup in an existing server entry with no functional impact.

@coderabbitai
Copy link

coderabbitai bot commented Sep 11, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a new MCP server manifest for OPTIMADE with tools for querying, linting filters, and listing providers, including uvx installation metadata. Also makes a minor whitespace/formatting tweak to the author field in the existing hustcc mermaid server manifest.

Changes

Cohort / File(s) Summary
New OPTIMADE MCP server manifest
mcp-registry/servers/optimade-mcp-server.json
Added manifest defining server metadata, env args (HTTP_PROXY, HTTPS_PROXY), tools (query_optimade, lint_filter, list_providers), empty resources/prompts, uvx installation entry, and flags (is_official: false, is_archived: false).
Minor formatting adjustment
mcp-registry/servers/hustcc-mcp-mermaid.json
Adjusted whitespace/formatting in author.name; no semantic changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Client as MCP Client
  participant Server as OPTIMADE MCP Server
  participant Providers as OPTIMADE Providers

  User->>Client: Invoke tool (query_optimade) with filter [+ optional baseUrls]
  Client->>Server: Tool request
  Server->>Server: Lint filter (lint_filter)
  alt Syntax error
    Server-->>Client: Error: syntax error
  else OK/Warn
    opt baseUrls omitted
      Server->>Server: list_providers
    end
    Server->>Providers: Query with filter (via OptimadeClient)
    Providers-->>Server: Results
    Server-->>Client: Query response
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

Review effort 2/5

Poem

I twitch my whiskers, hop with cheer,
A shiny new server has appeared here!
Filters linted, queries glide—
OPTIMADE stars in data’s tide.
A tiny trim in mermaid’s name,
Two carrots up for this neat game. 🥕✨

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f47f77a and 4e3dfa1.

📒 Files selected for processing (2)
  • mcp-registry/servers/hustcc-mcp-mermaid.json (1 hunks)
  • mcp-registry/servers/optimade-mcp-server.json (1 hunks)
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch Jiarui/update-registry

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

Comment @coderabbitai help to get the list of available commands and usage tips.

@GabrielDrapor GabrielDrapor merged commit 55cf900 into main Sep 11, 2025
6 of 7 checks passed
@GabrielDrapor GabrielDrapor deleted the Jiarui/update-registry branch September 11, 2025 07:46
@qodo-merge-pro
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

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

Schema Mismatch

The top-level 'arguments' block for proxy settings may not be recognized by registry tooling, which often expects environment variables (e.g., 'env'/'environment') instead. Verify compatibility or adjust to the registry's expected schema so HTTP(S) proxy values are properly surfaced to runners.

"arguments": {
  "HTTP_PROXY": {
    "description": "Specify it if you need to use a http proxy.",
    "required": false,
    "example": "http://127.0.0.1:8080"
  },
  "HTTPS_PROXY": {
    "description": "Specify it if you need to use a https proxy.",
    "required": false,
    "example": "https://127.0.0.1:8080"
  }
},
Installer Compatibility

Using 'installations' with a custom type 'uvx' may not be supported by all clients. Consider adding a more widely supported installer descriptor (e.g., pipx or docker) or confirm that the registry schema supports 'uvx' to avoid discoverability/launch issues.

"installations": {
  "uvx": {
    "type": "uvx",
    "command": "uvx",
    "args": [
      "run",
      "optimade-mcp-server"
    ],
    "description": "Run the server using the uvx package manager.",
    "recommended": true
  }
},
Encoding/Rendering

Tool descriptions include non-ASCII characters (bullets, en dashes, ellipses). Some parsers/renderers might not handle these consistently. Consider using plain ASCII to maximize compatibility.

  "description": "Query OPTIMADE providers with a custom filter.\n• If baseUrls omitted, falls back to default providers.\n• Runs lint first: syntax errors block query; non‑white‑list fields only warn.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "filter": {
        "type": "string"
      },
      "baseUrls": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "filter"
    ]
  }
},
{
  "name": "lint_filter",
  "description": "Return 'ok', 'warn: …', or 'syntax error: …' for a filter string.",
  "inputSchema": {

@mcpm-semantic-release
Copy link

🎉 This PR is included in version 2.8.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@qodo-merge-pro
Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix uvx invocation arguments

The uvx runner does not support a "run" subcommand; using it will fail to start
the server. Invoke the package directly via uvx by passing only the entrypoint
name.

mcp-registry/servers/optimade-mcp-server.json [84-87]

 "args": [
-  "run",
   "optimade-mcp-server"
 ],
  • Apply / Chat
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies that the uvx command does not support a run subcommand, and the current configuration would cause the server startup to fail.

High
General
Correct HTTPS proxy example scheme

Most HTTP clients expect HTTP scheme for proxy URLs even for HTTPS destinations;
using "https://" often breaks proxying. Provide an "http://" example to prevent
misconfiguration.

mcp-registry/servers/optimade-mcp-server.json [26-30]

 "HTTPS_PROXY": {
   "description": "Specify it if you need to use a https proxy.",
   "required": false,
-  "example": "https://127.0.0.1:8080"
+  "example": "http://127.0.0.1:8080"
 }
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly points out that proxy URLs typically use the http:// scheme, even for HTTPS traffic, and the provided example could lead to user misconfiguration.

Medium
Organization
best practice
Prefix tool names to avoid collisions

Prefix tool names with a server-specific identifier (e.g., "optimade_") to avoid
collisions with tools from other servers.

mcp-registry/servers/optimade-mcp-server.json [32-77]

 "tools": [
   {
-    "name": "query_optimade",
+    "name": "optimade_query",
     ...
   },
   {
-    "name": "lint_filter",
+    "name": "optimade_lint_filter",
     ...
   },
   {
-    "name": "list_providers",
+    "name": "optimade_list_providers",
     ...
   }
 ]

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Prevent cross-server tool name collisions by using server-specific prefixes or strict conflict handling when managing capabilities across multiple servers.

Low
  • More

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.

2 participants