voyager
Enables GitHub repository discovery and structured facts for provenance and open-source analysis.
Provides package verification and retrieval for npm packages, including registry facts, OSV vulnerability checks, and npm SLSA attestations.
Provides package verification and retrieval for PyPI packages, including vulnerability gate and supply-chain signals.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@voyagercheck if lodash has any known vulnerabilities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
voyager
The verified-brief organ for coding agents.
An AI coding agent that reaches the open internet gets a raw, unsigned, possibly-poisoned blob and feeds it straight into its own prompt. voyager sits in front of that: it turns a query into a cited, confidence-scored, OSV-gated, injection-hardened brief — the only surface your model ever sees.
Every claim carries its provenance and a confidence signal. Package recommendations pass a fail-closed OSV vulnerability gate, surface build provenance (npm SLSA attestations) when present, and can be reproduced in a disposable twin — install + smoke-import run inside a hardened, rootless, network-isolated container (never on the host). That proves the package installs and its entrypoint loads; it is not a safety proof. All fetched text is stripped of instruction-shaped payloads (multilingual + base64 + markdown /HTML vectors) and framed as untrusted evidence the model must analyze, never obey.
check — is this package safe to use? Registry facts + OSV gate (fail-closed)
provenance/license/age supply-chain signals + optional isolated twin. Exit codes: 0 ok · 1 rejected (unsafe) · 2 tool/usage error (no verdict).
brief / retrieve — a cited brief combining package verification, GitHub discovery, canonical docs, and open-web search, each cross-referenced.
security by construction — one egress allowlist, https-only, streamed size cap, injection-strip + evidence framing. Zero-network unless you query.
CLI, library, and MCP server.
Install
npm i @dir-ai/voyager
npx -y @dir-ai/voyager check expressRelated MCP server: docpilot-mcp
CLI
voyager check <name> [--ecosystem npm|pypi] [--version V] [--twin] # exit 1 if unsafe
voyager brief "<query>" [--package name] [--discover "<intent>"] [--search "<q>"] [--docs <lib>]
voyager discover "<intent>" # GitHub repo discovery (Tier-A)
voyager search "<query>" # open-web search (Tier-C, needs a key)
voyager docs <library> # canonical docs (Tier-B)
voyager doctor # which source keys are configuredcheck is a natural CI gate: fail the build if an agent picked a vulnerable,
deprecated, or non-existent dependency.
Library
import { checkPackage, voyagerRetrieve, setKeyResolver } from '@dir-ai/voyager'
const v = await checkPackage({ name: 'express', ecosystem: 'npm' })
// → { verdict: 'belief' | 'fact' | 'rejected', claim, steps } (adversarial trace)
const brief = await voyagerRetrieve('a safe date library', {
packages: [{ name: 'date-fns', ecosystem: 'npm' }],
discover: 'date library',
})
brief.rendered // the injection-hardened, framed text to feed a model
brief.claims // structured, cited, confidence-scored
// Bring your own key store (default is env vars):
setKeyResolver((provider) => mySecrets.get(provider))MCP server
// .mcp.json
{
"mcpServers": {
"voyager": { "command": "npx", "args": ["-y", "@dir-ai/voyager", "mcp"] }
}
}Tools: check_package, retrieve, discover_repos, fetch_docs.
Docker
docker run --rm ghcr.io/dir-ai/voyager check express
docker run -i --rm ghcr.io/dir-ai/voyager mcp # stdio MCPTiers & trust
Tier | Source | Base trust |
A | GitHub · npm · PyPI · OSV (structured facts) | high |
B | canonical docs (official hosts only) | high |
C | open-web search (Tavily / Exa / Apify) | low — cross-referenced before trusted |
D | isolated twin (install + smoke in a container) | reproduction, not a safety proof |
Keys are optional: the Tier-A core (npm/PyPI/OSV, and GitHub unauthenticated) is
zero-key. Tier-C providers each no-op without their key. Set GITHUB_TOKEN,
TAVILY_API_KEY, etc., or inject a resolver.
Security posture
One egress allowlist (a fixed set of public API hosts), https-only, redirect: error, a streamed byte cap that aborts an oversized body mid-download, and
an injection-strip that removes role-hijacks / chat-template tokens / zero-width
& bidi characters, decodes-and-rescans base64, neutralizes markdown images and
HTML comments, and matches instruction payloads across several languages. The
framing is the real defense — the strip keeps it from being trivially escaped.
The twin runs the package's code only inside a hardened, network-isolated,
read-only, non-root container; with no container runtime it refuses to run
(returns unsupported) rather than execute on the host. See SECURITY.md.
Cache
Idempotent Tier-A facts (npm / PyPI / OSV) are cached in-process and on disk
under ~/.voyager/cache (content-addressed, TTL'd) so repeated checks are fast,
survive across runs, and lean less on the network. No secret is ever written
(auth headers are never part of a cache key or value). VOYAGER_NO_CACHE=1
disables it; VOYAGER_CACHE_DIR relocates it.
Roadmap
deps.dev-backed multi-ecosystem facts (crates / Go / RubyGems / Packagist), typosquatting detection, PyPI/cargo twins. Contributions welcome.
License
MIT © dir-ai
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceA codemode MCP server for fetching and querying dependency source code from npm, PyPI, crates.io, and GitHub. It allows agents to execute server-side JavaScript for context-efficient searching and browsing of large codebases without overwhelming the LLM's context window.Last updated15839MIT
- Alicense-qualityBmaintenanceAn MCP server that provides tools to fetch live, version-accurate documentation, changelogs, examples, and method signatures for npm and PyPI packages, preventing AI coding agents from hallucinating stale APIs.Last updated32ISC
- Alicense-qualityAmaintenanceLocal-first MCP server that provides project context, verification gates, and structured tools for coding agents to discover knowledge, run diagnostics, and execute allowlisted commands within a repository.Last updated1,014MIT
- Flicense-qualityBmaintenanceAn MCP server that gives AI coding agents accurate, version-aware API documentation for any npm package — straight from the source.Last updated1,656
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dir-ai/voyager'
If you have feedback or need assistance with the MCP directory API, please join our Discord server