https://github.com/hustcc/mcp-mermaid
· scanned 2026-05-15 12:20 UTC (3 weeks ago)
· 10 languages
28 findings (9 legacy + 19 scanner) 80th percentile · Typescript · tiny (<2K LoC)
Last scanned 3 weeks ago · v1 · 8 findings from 1 source. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
91.0 | 0.25 | 22.75 |
testing_score |
75.0 | 0.20 | 15.00 |
documentation_score |
60.0 | 0.15 | 9.00 |
practices_score |
90.0 | 0.15 | 13.50 |
code_quality |
78.9 | 0.10 | 7.89 |
| Overall | 1.00 | 83.1 |
web: 1.6 ·
agent: 1.1 ·
authz: 1.2 ·
docker: 5.2
All 71 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
decodePayload |
software | healthy | __tests__/utils/mermaidUrl.spec.ts:decodePayload |
host |
software | healthy | src/index.ts:host |
createServer |
software | healthy | src/server.ts:createServer |
setupToolHandlers |
software | healthy | src/server.ts:setupToolHandlers |
runStdioServer |
software | healthy | src/server.ts:runStdioServer |
runSSEServer |
software | healthy | src/server.ts:runSSEServer |
runHTTPStreamableServer |
software | healthy | src/server.ts:runHTTPStreamableServer |
zodToJsonSchema |
software | healthy | src/utils/schema.ts:zodToJsonSchema |
encodeMermaidToBase64Url |
software | healthy | src/utils/mermaidUrl.ts:encodeMermaidToBase64Url |
createMermaidInkUrl |
software | healthy | src/utils/mermaidUrl.ts:createMermaidInkUrl |
isRetryableError |
software | healthy | src/utils/retry.ts:isRetryableError |
status |
software | healthy | src/utils/retry.ts:status |
message |
software | healthy | src/utils/retry.ts:message |
to |
software | healthy | src/utils/retry.ts:to |
withRetry |
software | healthy | src/utils/retry.ts:withRetry |
renderMermaid |
software | healthy | src/utils/render.ts:renderMermaid |
info |
software | healthy | src/utils/logger.ts:info |
warn |
software | healthy | src/utils/logger.ts:warn |
error |
software | healthy | src/utils/logger.ts:error |
success |
software | healthy | src/utils/logger.ts:success |
serverStartup |
software | healthy | src/utils/logger.ts:serverStartup |
cleanup |
software | healthy | src/utils/logger.ts:cleanup |
startSSEMcpServer |
software | healthy | src/services/sse.ts:startSSEMcpServer |
cb |
software | healthy | src/services/sse.ts:cb |
startStdioMcpServer |
software | healthy | src/services/stdio.ts:startStdioMcpServer |
startHTTPStreamableServer |
software | healthy | src/services/streamable.ts:startHTTPStreamableServer |
cb |
software | healthy | src/services/streamable.ts:cb |
⚙ express.json( |
software | healthy | src/services/sse.ts |
⚙ cors |
software | healthy | src/services/streamable.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
Dockerfile |
software | healthy | Dockerfile |
glama.json |
software | healthy | glama.json |
smithery.yaml |
software | healthy | smithery.yaml |
tsconfig.json |
software | healthy | tsconfig.json |
biome.json |
software | healthy | biome.json |
smithery.config.js |
software | warning | smithery.config.js |
retry.spec.ts |
software | warning | __tests__/utils/retry.spec.ts |
mermaidUrl.spec.ts |
software | healthy | __tests__/utils/mermaidUrl.spec.ts |
index.spec.ts |
software | warning | __tests__/tools/index.spec.ts |
mermaid.json |
software | healthy | __tests__/tools/mermaid.json |
build.yml |
software | healthy | .github/workflows/build.yml |
index.ts |
software | healthy | src/index.ts |
server.ts |
software | healthy | src/server.ts |
schema.ts |
software | healthy | src/utils/schema.ts |
mermaidUrl.ts |
software | healthy | src/utils/mermaidUrl.ts |
retry.ts |
software | healthy | src/utils/retry.ts |
render.ts |
software | healthy | src/utils/render.ts |
index.ts |
software | healthy | src/utils/index.ts |
logger.ts |
software | healthy | src/utils/logger.ts |
sse.ts |
software | healthy | src/services/sse.ts |
index.ts |
software | healthy | src/services/index.ts |
stdio.ts |
software | healthy | src/services/stdio.ts |
streamable.ts |
software | healthy | src/services/streamable.ts |
index.ts |
software | healthy | src/tools/index.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
__tests__ |
software | healthy | __tests__ |
utils |
software | healthy | __tests__/utils |
tools |
software | healthy | __tests__/tools |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
utils |
software | healthy | src/utils |
services |
software | healthy | src/services |
tools |
software | healthy | src/tools |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3033 |
network | healthy | src/server.ts |
port:1122 |
network | healthy | src/services/streamable.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-1miuk2hl |
software | healthy | /tmp/repobility-clone-1miuk2hl |
| Label | Layer | Status | Path |
|---|---|---|---|
POST /messages |
api | healthy | src/services/sse.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::build |
cicd | healthy | .github/workflows/build.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/build.yml |
This page is publicly accessible at:
https://repobility.com/scan/819344d2-6f07-4fca-b84f-ac2558b93324/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/819344d2-6f07-4fca-b84f-ac2558b93324/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.