-
Notifications
You must be signed in to change notification settings - Fork 87
feat: Add MCP manifest for hustcc-mcp-mermaid #235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,94 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "name": "@mcp/mermaid-server", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "display_name": "MCP Mermaid Server", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "Generate mermaid diagram and chart with AI MCP dynamically.", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "repository": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "type": "git", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "url": "https://github.com/hustcc/mcp-mermaid" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "author": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "name": "hustcc", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "email": "i@hust.cc" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "license": "MIT", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "categories": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "Dev Tools", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "Media Creation" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "tags": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "mcp", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "mcp-server", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "mermaid" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "arguments": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "API_KEY": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "OpenAI API Key.", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "required": true, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "example": "sk-xxx" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "BASE_URL": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "OpenAI API base url. Default: https://api.openai.com/v1.", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "required": false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "example": "https://api.openai.com/v1" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "MODEL": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "Model name. Default: gpt-4-turbo.", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "required": false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "example": "gpt-4-turbo" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "tools": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "name": "Diagram", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "Generate mermaid diagram and chart." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "resources": [], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "prompts": [], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "installations": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "uvx": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "type": "uvx", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "command": "uvx", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "args": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@mcp/mermaid-server", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "--port", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "8000" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "Run with uvx" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+48
to
+58
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove uvx install entry; it won’t execute a Node package uvx targets Python apps; it can’t run a scoped npm package. Keeping this will mislead users. Apply this diff to remove the uvx block: "installations": {
- "uvx": {
- "type": "uvx",
- "command": "uvx",
- "args": [
- "@mcp/mermaid-server",
- "--port",
- "8000"
- ],
- "description": "Run with uvx"
- },🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "npm": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "type": "npm", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "command": "npx", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "args": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "-y", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@mcp/mermaid-server", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "--port", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "8000" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "Run with npx", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "recommended": true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+59
to
+70
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainPass API key via env for npm; verify package name correctness
"npm": {
"type": "npm",
"command": "npx",
"args": [
"-y",
"@mcp/mermaid-server",
"--port",
"8000"
],
+ "env": {
+ "API_KEY": "${OPENAI_API_KEY}"
+ },
"description": "Run with npx",
"recommended": true
},🏁 Script executed: #!/bin/bash
# Check if other manifests use per-installation env blocks and inspect npm package naming patterns
echo "Search for env blocks under installations:"
rg -n -C2 '"installations"\s*:\s*{(?s).*"env"\s*:'
echo "List npm install commands for comparison:"
rg -n -C2 '"type"\s*:\s*"npm"'
echo "Check for uvx usage elsewhere (should be Python-only):"
rg -n -C2 '"type"\s*:\s*"uvx"'Length of output: 103242 🌐 Web query: 💡 Result: There is no npm package published under the name "@mcp/mermaid-server" for the hustcc/mcp-mermaid project as of August 2025. Supporting details:
Summary table of relevant MCP Mermaid npm packages:
Conclusion: Citations:
Correct the NPM package name in hustcc-mcp-mermaid manifest The current installation refers to Please apply the following diff: mcp-registry/servers/hustcc-mcp-mermaid.json
@@ Lines 59-70
- "npm": {
- "type": "npm",
- "command": "npx",
- "args": [
- "-y",
- "@mcp/mermaid-server",
- "--port",
- "8000"
- ],
- "description": "Run with npx",
- "recommended": true
- },
+ "npm": {
+ "type": "npm",
+ "command": "npx",
+ "args": [
+ "-y",
+ "mcp-mermaid",
+ "--port",
+ "8000"
+ ],
+ "description": "Run with npx",
+ "recommended": true
+ },📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "docker": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "type": "docker", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "command": "docker", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "args": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "run", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "-p", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "8000:8000", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "-e", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "API_KEY=sk-xxx", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "hustcc/mcp-mermaid-server:latest" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "Run with docker" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+71
to
+83
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🛠️ Refactor suggestion 🧩 Analysis chainSafer Docker example: avoid inline secrets; add --rm Use the host env var and auto-remove the container when it exits. "docker": {
"type": "docker",
"command": "docker",
"args": [
"run",
+ "--rm",
"-p",
"8000:8000",
"-e",
- "API_KEY=sk-xxx",
- "hustcc/mcp-mermaid-server:latest"
+ "API_KEY=${OPENAI_API_KEY}",
+ "hustcc/mcp-mermaid-server:latest"
],
"description": "Run with docker"
}🌐 Web query: 💡 Result: Short answer
Notes and next steps
Citations:
Safer & Correct Docker example: avoid inline secrets, add --rm, correct default port (3033) & local build You'll need to build the image locally from the hustcc/mcp-mermaid Dockerfile since there’s no published hustcc/mcp-mermaid-server image. The server defaults to port 3033. "docker": {
"type": "docker",
"command": "docker",
"args": [
"run",
+ "--rm",
+ "-p", "3033:3033",
"-e", "API_KEY=${OPENAI_API_KEY}",
- "hustcc/mcp-mermaid-server:latest"
+ "mcp-mermaid-server:latest"
],
- "description": "Run with docker"
+ "description": "Run with Docker (build the image locally via `docker build -t mcp-mermaid-server:latest .` first)"
}
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "examples": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "title": "Flowchart Example", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "description": "An example of generating a flowchart.", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "prompt": "Please draw a flowchart about the process of making a cup of coffee." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "is_official": false, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "is_archived": false | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Confirm naming conventions: scoped package in
namefieldIf your registry expects a human-readable server id (often without npm scope) vs. the npm package name, using a scoped npm name in
namemight be inconsistent with other entries.Run this to compare with existing manifests:
🏁 Script executed:
Length of output: 96
🏁 Script executed:
Length of output: 21436
Align scoped package naming for Mermaid server
Most scoped entries use the
<packageName>@<scope>.jsonfile name pattern to match"name": "@<scope>/<packageName>". Your manifest is currently:mcp-registry/servers/hustcc-mcp-mermaid.json"@mcp/mermaid-server"To conform:
• Rename the manifest file:
from
mcp-registry/servers/hustcc-mcp-mermaid.jsonto
mcp-registry/servers/mermaid-server@mcp.jsonThis ensures file name and
"name"stay in sync.Alternatively, if you prefer an unscoped server ID, update the
"name"to"hustcc-mcp-mermaid"to match the current file.🤖 Prompt for AI Agents