Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Sandboxed repo access for coding agents: search, read, patch, run, git -- confined to a repo root.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GHOSTLINK_REPO_ROOT, GHOSTLINK_LOG你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"ghostlink": {
"command": "npx",
"args": [
"-y",
"@bgorzelic/ghostlink"
],
"env": {
"GHOSTLINK_REPO_ROOT": "your-value",
"GHOSTLINK_LOG": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add ghostlink --env GHOSTLINK_REPO_ROOT=your-value --env GHOSTLINK_LOG=your-value -- npx -y @bgorzelic/ghostlink运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"ghostlink": {
"command": "npx",
"args": [
"-y",
"@bgorzelic/ghostlink"
],
"env": {
"GHOSTLINK_REPO_ROOT": "your-value",
"GHOSTLINK_LOG": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"ghostlink": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bgorzelic/ghostlink"
],
"env": {
"GHOSTLINK_REPO_ROOT": "your-value",
"GHOSTLINK_LOG": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
GHOSTLINK_LOG env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 bgorzelic 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:GHOSTLINK_REPO_ROOT
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A security-hardened MCP server that gives AI coding agents safe, deterministic access to local repositories.
Add it to any MCP client that supports STDIO. For Claude Code, create .mcp.json in the target repo root:
{
"mcpServers": { "ghostlink": { "command": "npx", "args": ["-y", "ghostlink"], "env": { "GHOSTLINK_REPO_ROOT": "/path/to/target/repo" } } } }
Then run claude in that directory — six repo tools appear, all confined to GHOSTLINK_REPO_ROOT. Every tool call returns the same deterministic ToolEnvelope:
{
"ok": true, "data": { ... }, "provenance": { "tool": "repo.search", "timestamp": "2026-02-24T...", "duration_ms": 42 } }
On error, "error": { "code": "...", "message": "..." } replaces "data". Full tool schemas: docs/TOOLS.md.
| Tool | Description |
|---|---|
repo.search | Ripgrep-powered regex search with glob filtering, deterministic ordering, and output caps (max 200 results) |
repo.read_file | File read with size caps (max 10MB), binary detection, and truncation flags |
repo.apply_patch | Unified diff patching with dry-run mode, full sandbox validation, and atomic rollback on failure |
repo.run | Curated command execution (test, lint, typecheck, build, smoke) -- no arbitrary shell, allowlisted args only |
git.status | Normalized git status with branch info, ahead/behind tracking, and sorted file entries |
git.diff | Staged or unstaged diff with path filtering, sandbox validation, and output caps (max 2MB) |
GhostLink is a local-first Model Context Protocol server that exposes your codebase to AI coding agents through a small set of policy-gated tools. It solves a specific problem: AI agents need to search, read, patch, and verify code, but giving them raw shell access is a liability. GhostLink provides a sandboxed capability plane where every tool call is confined to a single repository root, every output follows a deterministic JSON shape, and every invocation is audit-logged.
| Capability | What it means |
|---|---|
| Secure local dev plane | Repo-root sandbox, no shell execution, JSONL audit trail on every tool call |
| Deterministic output | Same input produces the same JSON envelope shape -- enables golden tests and predictable agent consumption |
| Policy enforcement | Command allowlists, output caps, truncation flags, timeout enforcement -- the AI cannot do unbounded damage |
| Agent loop foundation | Built for the search, read, patch, verify cycle that autonomous coding agents run in a loop |
| Multi-server composition | One GhostLink instance per repo, composable with other MCP servers in the same client session |
| Production-ready Phase 2 base | Transport abstraction, schema versioning, and auth hook seams are preserved in the architecture today |
GhostLink is a three-layer stack designed for extensibility without core changes:
flowchart TD
T["Transport -- src/index.ts STDIO now, HTTP/SSE in Phase 2"] S["Server factory -- src/server.ts Transport-agnostic tool registration via MCP SDK + Zod schemas"] TL["Tools -- src/core/tools/* Six tools, each returning ToolEnvelope<T>"] P["Policy -- src/core/policy/* Sandbox enforcement, audit logging, output caps"] T --> S --> TL --> P
The createServer() factory knows nothing about transport. Adding HTTP/SSE in Phase 2 means writing a new transport binding and auth middleware -- the server factory and all tool implementations remain unchanged. Phase 3 (agent runtime) adds memory resources and orchestration as consumers of GhostLink, not modifications to it.
brew install ripgrep)From npm:
npm install ghostlink
Or from source:
git clone https://github.com/bgorzelic/ghostlink.git
cd ghostlink npm install npm run build
GhostLink speaks JSON-RPC 2.0 over STDIO. Test it directly:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | \
GHOSTLINK_REPO_ROOT=/path/to/target/repo node dist/index.js
This returns all 6 tools and their schemas.
GhostLink works with any MCP client that supports STDIO transport. The npx snippet at the top of this page works everywhere; a source checkout uses node with the built entry point instead:
{
"ghostlink": { "command": "node", "args": ["/absolute/path/to/ghostlink/dist/index.js"], "env": { "GHOSTLINK_REPO_ROOT": "/path/to/target/repo" } } }
| Client | Where the config goes |
|---|---|
| Claude Code | .mcp.json in the target repo root (mcpServers key), then run claude there |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (mcpServers key), then restart |
| Cursor, Windsurf, Cline, others | Your client's MCP server configuration -- consult its documentation for the file location |
The transport is always STDIO. Ready-to-use .mcp.json and CLAUDE.md templates for target projects live in templates/.
GhostLink enforces defense-in-depth at every layer:
GHOSTLINK_REPO_ROOT. Path traversal, symlink escape, null bytes, and absolute paths outside the root are all rejected before any filesystem access.repo.run uses spawn with shell: false. Commands are limited to a fixed allowlist (test, lint, typecheck, build, smoke) with per-command argument allowlists. Environment is stripped to six safe variables.repo.apply_patch validates all paths and computes all patches before writing anything. If any write fails, completed writes are rolled back to their original state.repo.run kills processes at configurable timeouts (default 120s, hard cap 300s) with SIGTERM then SIGKILL.Full threat model and mitigations: docs/SECURITY.md.
Every tool call produces a JSONL audit entry: {ts, tool, ok, duration_ms, error_code?, repo_root}.
GHOSTLINK_LOG | Behavior |
|---|---|
stdout (default) | JSONL audit lines written to stderr |
file | JSONL written to logs/ghostlink.jsonl (auto-rotates at 10MB) |
off | No logging |
Set via environment variable:
GHOSTLINK_LOG=file GHOSTLINK_REPO_ROOT=/path/to/repo node dist/index.js
docs/PROMPTS.md contains ready-to-use prompts for high-autonomy agent operation, including orchestrator prompts, sub-agent role definitions (Protocol Engineer, Toolsmith, Security Reviewer, Test Engineer, Docs Engineer), and multi-instance coordination patterns.
npm install # Install dependencies
npm test # Run test suite (108 tests via Vitest) npm run lint # ESLint npm run typecheck # TypeScript strict mode check npm run build # Compile to dist/ npm run dev # Dev mode with auto-reload (tsx watch)
Full verification after edits:
npm test && npm run lint && npm run typecheck && npm run build
| Document | Description |
|---|---|
| docs/TOOLS.md | Canonical tool schemas (versioned public API) |
| docs/SECURITY.md | Threat model and mitigations |
| docs/QUICKSTART.md | Setup, smoke tests, and client configuration walkthrough |
| docs/INSPECTOR.md | MCP Inspector manual testing guide |
| docs/PROMPTS.md | Agent prompts for orchestration and sub-agent roles |
| docs/ROADMAP_DETAILED.md | Full product roadmap with Phase 2 and Phase 3 deliverables |
| docs/WHY_GHOSTLINK.md | Strategic value proposition and architecture rationale |
| docs/ENGINEERING_REPORT_v0.1.0.md | v0.1.0 ship report with milestone history and decision log |
| templates/ | Ready-to-use CLAUDE.md and .mcp.json templates for target projects |
Deterministic tool surface, repo-root sandbox, curated command execution, 108 tests, JSONL audit logging, npm package published.
HTTP/SSE transport, OAuth 2.1 authentication, multi-user tenant separation, per-tenant rate limiting, schema versioning, structured audit logging with correlation IDs.
Persistent memory resources exposed via MCP, optional policy-gated memory write tools, orchestration layer (external to GhostLink), evaluation loops, sub-agent coordination framework.
ISC