Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
○ declared by the publisher, as-is
Safety
BB: 4 or more lows, or any medium3 severity-bearing · 16 informational
Safety · gateassessed 8w ago
B3 severity-bearing · 16 informational
Graded from 3 severity-bearing findings on this release.
A gate; it passes or fails, never weighed against price or quality.
Reliability & Quality
n/anot assessed
Reliability & Qualityassessed 8w ago
n/anot assessed
Not assessed; no producer has emitted into this category. An absence, not a zero.
Findings with severity, graded on the same letter scale as safety.
not assessed
Cost
n/anot assessed
Costassessed 8w ago
n/anot assessed
Not assessed; no producer has emitted into this category. An absence, not a zero.
Declared external service dependencies. Never a monetary figure.
not assessed
Popularity
n/anot assessed
Popularity · not a figureassessed 8w ago
n/anot assessed
Not assessed; no producer has emitted into this category. An absence, not a zero.
Context read off the linked repository. It enters no ranking and no grade.
◌ Vettd does not install assets; this record describes a copy you obtain yourself.
Custody chainSource ↗○ linked, not verified by Vettd
anthropics◐→anthropics/skills○→version = △ no commit pinned→sha256:b866…1ce0◐→signature △ not assessed|Complete terms in LICENSE.txt○record a43e50f7-aa0c-4e71-a92c-5dcc790054cb · live
◌ public recordYou are signed out, so you see the record and nothing else. sign in
▲Unpinned dependencyflaggedscripts/requirements.txt:1 — Dependency 'anthropic' has no pinned (==) version. Unpinned dependencies in a skill package allow a later, potentially malicious release to be installed automatically (supply-chain risk).cisco · scan · 8wMedium
▲Unpinned dependencyflaggedscripts/requirements.txt:2 — Dependency 'mcp' has no pinned (==) version. Unpinned dependencies in a skill package allow a later, potentially malicious release to be installed automatically (supply-chain risk).cisco · scan · 8wMedium
▲References external URL — review for indirect prompt injection riskflaggedExternal URL(s) detected in SKILL.md — referenced content can change after auditvettd · scan · 8wMedium
▲No --help supportflaggedscripts/connections.py: Add argument parsing with --help output so agents know the script's interfacevettd · scan · 8wInfo
▲Progressive disclosure usedflaggedSKILL.md body references files in references/, scripts/, or assets/ — agents can load additional context on demand instead of consuming everything upfrontvettd · scan · 8wInfo
▲CLI help supportedflaggedscripts/evaluation.py: Script documents its interface via --help or argument parsingvettd · scan · 8wInfo
▲No prompt injection or jailbreak signals detectedflaggedScanned text content for instruction override, jailbreak framing, credential solicitation, and embedded injection markersvettd · scan · 8wInfo
▲No evaluation test casesflaggedAdd an evals/ directory with test prompts and expected outputs to measure skill qualityvettd · scan · 8wInfo
▲No repository linkflaggedNo repository field found in SKILL.md frontmatter. Skills without a verifiable source repository cannot be externally audited.vettd · scan · 8wInfo
▲Description within character limitflagged277/1024 characters usedvettd · scan · 8wInfo
▲Description includes usage contextflaggedGood: description explains when to activate the skillvettd · scan · 8wInfo
Not assessed; no producer has emitted into reliability & quality for this asset. That is different from a check that ran and found nothing, which the record would carry as a row of its own.
+Performance◌ not assessednot assessed0 signalsrecord a43e50f7-aa0c-4e71-a92c-5dcc790054cb
how it was establishednot assessed; no producer has emitted into this category
Not assessed; no producer has emitted into performance for this asset. That is different from a check that ran and found nothing, which the record would carry as a row of its own.
+Cost◌ not assessednot assessed0 signalsrecord a43e50f7-aa0c-4e71-a92c-5dcc790054cb
how it was establishednot assessed; no producer has emitted into this category
Not assessed; no producer has emitted into cost for this asset. That is different from a check that ran and found nothing, which the record would carry as a row of its own.
+Compatibility◌ not assessednot assessed0 signalsrecord a43e50f7-aa0c-4e71-a92c-5dcc790054cb
how it was establishednot assessed; no producer has emitted into this category
Not assessed; no producer has emitted into compatibility for this asset. That is different from a check that ran and found nothing, which the record would carry as a row of its own.
+Popularity◌ not assessednot assessed0 signalsrecord a43e50f7-aa0c-4e71-a92c-5dcc790054cb
how it was establishednot assessed; no producer has emitted into this category
Not assessed; no producer has emitted into popularity for this asset. That is different from a check that ran and found nothing, which the record would carry as a row of its own.
+Characteristics◌ not assessednot assessed0 signalsrecord a43e50f7-aa0c-4e71-a92c-5dcc790054cb
how it was establishednot assessed; no producer has emitted into this category
Not assessed; no producer has emitted into characteristics for this asset. That is different from a check that ran and found nothing, which the record would carry as a row of its own.
mcp-builder assessed 8w ago /
19 signals · 1 category
Safety
▲Unpinned dependencyMedium
▲Unpinned dependencyMedium
▲References external URL — review for indirect prompt injection riskMedium
▲No --help supportInfo
▲Progressive disclosure usedInfo
▲CLI help supportedInfo
▲No prompt injection or jailbreak signals detectedInfo
▲No evaluation test casesInfo
▲No repository linkInfo
▲Description within character limitInfo
▲Description includes usage contextInfo
▲SKILL.md presentInfo
▲scripts/ directory presentInfo
▲Structured output formatInfo
▲SKILL.md body length is reasonableInfo
▲Examples includedInfo
▲Valid name fieldInfo
▲No secrets or unsafe code patterns detectedInfo
▲Step-by-step workflow foundInfo
‹ › or arrow keys move through 19
Coverage1 of 7 categories assessed · shown
Safety
✓ assessed
assessed as findings and a letter grade, not as signals
Reliability & Quality
△ not assessed
no producer has emitted for this category
Performance
△ not assessed
no producer has emitted for this category
Cost
△ not assessed
no producer has emitted for this category
Compatibility
△ not assessed
no producer has emitted for this category
Popularity
△ not assessed
no producer has emitted for this category
Characteristics
△ not assessed
no producer has emitted for this category
Freshness & re-evaluation
assessed8w ago · Cisco AI Defense · Vettd core○ unverified
source stateThis source hasn't been verified recently.Staleness unknown
re-check policycheck failing; retried on an increasing backoffnext check in 46m
re-run whena new release ships, the upstream source changes, or the scanner ruleset is revisedauto-scheduled
Limitations & open conflicts
limitationReliability & Quality, Performance, Cost, Compatibility, Popularity, Characteristics are not assessed: behaviour there is unmeasured, not clean△ gap
conflictno two sources report the same quantity on this record
Verify: does this record describe your copy?
What record a43e50f7-aa0c-4e71-a92c-5dcc790054cb covers
scannerv9△ superseded by v11
validityassessed 8w ago · Staleness unknown
$vettd scan folder <path>
this record was taken at digest sha256:b866bcfb57b7… compare it against the digest your own scan prints
Reproduce: re-run the evidence yourself
$vettd scan folder /path/to/your/copy
runs the same scanners against your own copy; the published record is never overwritten
How this record comparesagainst other published records · full comparison →
Signal kinds
▲ finding: something to act on, carries a severity● measurement: a reproducible quantityƒ estimate: inferred from a sample▪ fact: read directly off the artifact◆ classification: assigned from a taxonomy◌ nothing found: a producer looked and emitted no object◇ context only: described, never graded
Custody marks
◐ computed by vettd○ declared by the publisher, as-is△ not assessed: nothing looked
Weigh mcp-builder against other published skills: the safety grade, its finding counts and each category’s verdict, one row apiece. The full comparison page carries every signal and framework coverage.