{"name":"io.github.IsaiahDupree/devstack-mcp","slug":"isaiahdupree-devstack-mcp","title":null,"description":"Dev-registry data: npm/PyPI/Docker/VS Code packages, dep graphs, vulns, 50+ ecosystems.","url":"https://mcp.market/server/isaiahdupree-devstack-mcp","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-08-01T02:34:09.000Z","license":null},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:25:32.693Z","last_ok_at":"2026-11-04T05:25:32.693Z","latency_ms":218},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/IsaiahDupree/devstack-mcp","website":"https://devstack-mcp.vercel.app","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://devstack-mcp.vercel.app/mcp"}],"packages":[],"tools":[{"name":"get_dependency_graph","description":"The fully resolved dependency graph for one exact package version, via deps.dev. Returns a flat nodes[] array plus integer-index edges[] (walk from/to to rebuild the tree). Each node carries relation (self | direct | indirect) and a direct boolean; node[0] is always the queried root (relation: self). Node order is NOT stable — look nodes up by name/relation, never by positional index. system is case-insensitive and lowercased (npm, pypi, cargo, go, maven, nuget). version is REQUIRED (a graph is resolved for one exact version).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"system":{"type":"string","enum":["npm","pypi","cargo","go","maven","nuget"],"description":"Package system / ecosystem for deps.dev. Case-insensitive, lowercased server-side."},"name":{"type":"string","description":"Package name / id."},"version":{"type":"string","description":"Exact version to resolve (e.g. 18.2.0). Required."}},"required":["system","name","version"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_downloads","description":"Download statistics for a package. Only npm (via api.npmjs.org) and PyPI (via pypistats.org) support this; any other registry returns 400 not_supported. npm returns a period window with downloads, start, and end; PyPI returns last_day, last_week, and last_month totals.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"registry":{"type":"string","enum":["npm","pypi"],"description":"Target registry. Only npm and pypi expose download stats."},"name":{"type":"string","description":"Package name."}},"required":["registry","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_ecosystems_package","description":"Full normalized metadata for one package on one of 50+ registries, via ecosyste.ms — including the fields v1 registries can't give you: dependentReposCount and dependentPackagesCount (reverse dependencies), ecosystem, and vulnerabilityCount. Scoped/namespaced names are handled automatically. Returns 404 if the package does not exist on that ecosystem.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ecosystem":{"type":"string","description":"Target ecosyste.ms ecosystem slug (e.g. npm, pypi, cargo, rubygems)."},"name":{"type":"string","description":"Package name / id."}},"required":["ecosystem","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_insights","description":"Health and security insights for a package's source project, via deps.dev. Returns the linked source repository, GitHub stars/forks/openIssues, licenses, resolved dependencyCount, security advisories, and the full OSSF Scorecard (ossfScore 0..10 plus the per-check breakdown). Omit version to use the registry default version — note deps.dev's default is a MOVING target and an unverified default mirror may have no computed scorecard (ossfScore: null); pin version for a stable, scorecard-backed result. system is lowercased (npm, pypi, cargo, go, maven, …).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"system":{"type":"string","enum":["npm","pypi","cargo","go","maven","nuget"],"description":"Package system / ecosystem for deps.dev. Case-insensitive, lowercased server-side."},"name":{"type":"string","description":"Package name / id."},"version":{"description":"Exact version. Omit for the (moving) registry default version.","type":"string"}},"required":["system","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_package","description":"Full normalized details for one package by registry + name, in a single unified Package shape across npm, PyPI, Docker Hub, and the VS Code Marketplace. name handles scoped npm ids (e.g. @types/node), Docker namespaces (e.g. library/nginx or a bare nginx for official images), and VS Code publisher.extension ids. With registry=all the request fans out to every registry in parallel and returns a packages array (missing registries are silently dropped); otherwise a single package is returned.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"registry":{"type":"string","enum":["npm","pypi","docker","vscode","all"],"description":"Target registry. \"all\" fans out to every registry and merges results."},"name":{"type":"string","description":"Package name / id. Supports scoped npm ids (@scope/pkg), Docker namespaces (ns/name or a bare name for official images), and VS Code publisher.extension ids."}},"required":["registry","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_versions","description":"List published versions (npm/PyPI), image tags (Docker Hub, most recent 25), or extension versions (VS Code) for a package. registry=all is NOT supported here — pick a single registry. Each item carries version and released, plus registry-specific extras (files for PyPI, size for Docker tags).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"registry":{"type":"string","enum":["npm","pypi","docker","vscode"],"description":"Target registry. \"all\" is not supported here — pick one."},"name":{"type":"string","description":"Package name / id (scoped npm ids, Docker namespaces, and VS Code publisher.extension ids supported)."}},"required":["registry","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_vulnerabilities","description":"Known vulnerabilities (CVE / GHSA / PYSEC / GO advisories) for a package, via OSV.dev. Pass version to filter to advisories affecting that exact version, or omit it for the package's full advisory history. Each result carries the OSV id, cross-id aliases, a severity word grade (LOW|MODERATE|HIGH|CRITICAL), the cvss vector string, affectedRanges with fixed-version events, references, and cwes. A clean package returns count: 0 with an empty list (not an error). ecosystem is CASE-SENSITIVE — use OSV's spelling (npm, PyPI, Go, crates.io, Maven, NuGet, RubyGems, …). Use scan_vulnerabilities_batch for lockfile batch scans.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ecosystem":{"type":"string","description":"OSV ecosystem, CASE-SENSITIVE (e.g. npm, PyPI, Go, crates.io, Maven, NuGet, RubyGems)."},"name":{"type":"string","description":"Package name."},"version":{"description":"Exact version to filter advisories to. Omit for full history.","type":"string"}},"required":["ecosystem","name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"scan_vulnerabilities_batch","description":"Scan many packages in one call — ideal for a whole lockfile. Pass a queries[] array (max 100) of { ecosystem, name, version? }; results are returned positionally aligned, one row per query, each with a count and a hydrated vulns[] array. Advisories are de-duplicated and hydrated across the batch. ecosystem is CASE-SENSITIVE (OSV spelling).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"queries":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"ecosystem":{"description":"OSV ecosystem (case-sensitive). e.g. npm, PyPI, Go.","type":"string"},"name":{"type":"string","description":"Package name (required)."},"version":{"description":"Exact version. Omit for full history.","type":"string"}},"required":["name"]},"description":"Up to 100 { ecosystem, name, version? } queries, ideal for a whole lockfile."}},"required":["queries"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_ecosystems","description":"Look a package name up across 50+ registries at once, via ecosyste.ms. This is an EXACT-name lookup (not fuzzy full-text): q=react returns the react package everywhere it exists (npm, cargo, nuget, pub, bower, …), each as a normalized ecosystemsPackage with reverse-dependency counts. Pass ecosystem to narrow to one registry. Results carry dependentReposCount, dependentPackagesCount, and vulnerabilityCount.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"type":"string","description":"Exact package name to look up across registries."},"ecosystem":{"description":"Narrow to one ecosystem (e.g. pypi, npm, cargo). Omit to search all.","type":"string"},"limit":{"description":"Max results. Clamped to 1-50. Default 20.","type":"integer","minimum":1,"maximum":50}},"required":["q"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_packages","description":"Search a registry for packages matching q. registry=all fans out to npm, Docker Hub, and the VS Code Marketplace and merges the results. PyPI has no public search API, so registry=pypi returns 400 not_supported — look a PyPI package up by name via get_package instead. Results are normalized PackageSummary items (npm adds a relevance score; Docker adds isOfficial).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"registry":{"type":"string","enum":["npm","pypi","docker","vscode","all"],"description":"Target registry. \"all\" fans out to npm, Docker, and VS Code and merges results. pypi returns not_supported."},"q":{"type":"string","description":"Search query."},"limit":{"description":"Max results per registry. Clamped to 1-50. Default 20.","type":"integer","minimum":1,"maximum":50}},"required":["registry","q"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-09-24T12:02:41.240Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T12:02:41.223Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 349ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":12,"max":15,"notes":["last push 54 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://devstack-mcp.vercel.app/mcp","reachable":true,"authRequired":false,"latencyMs":349,"serverInfo":{"name":"devstack","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"IsaiahDupree","repo":"devstack-mcp","archived":false,"pushedAt":"2026-08-01T02:34:09Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/69293327?v=4","ownerCreatedAt":"2020-08-06T05:45:11Z"},"icon":{"url":"https://avatars.githubusercontent.com/u/69293327?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":null,"lastPushAt":"2026-08-01T02:34:09.000Z","score":18}}}},"grade_history":[],"reviews":[]}