经 AI Skill Hub 精选评估,开源MCP工具 获评「推荐使用」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
本项目提供了一个开源的MCP工具,支持本地AI-powered文档搜索和编辑,具有首屈一指的混合检索功能。
开源MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
本项目提供了一个开源的MCP工具,支持本地AI-powered文档搜索和编辑,具有首屈一指的混合检索功能。
开源MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/gmickel/gno
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"--mcp--": {
"command": "npx",
"args": ["-y", "gno"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 开源MCP工具 执行以下任务... Claude: [自动调用 开源MCP工具 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"__mcp__": {
"command": "npx",
"args": ["-y", "gno"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
Local search, retrieval, and synthesis for the files you actually work in.
[!TIP] gno.sh/publish is live. Turn any GNO note or collection into a polished, reader-first URL — editorial typography, scoped search, and four visibility modes from public to encrypted-before-upload. See the reader →
ClawdHub: GNO skills bundled for Clawdbot — clawdhub.com/gmickel/gno

GNO is a local knowledge engine for notes, code, PDFs, Office docs, meeting transcripts, and reference material. It gives you fast keyword search, semantic retrieval, grounded answers with citations, wiki-style linking, and a real workspace UI, while keeping the whole stack local by default.
Use it when:
Latest release: v1.1.0 Full release history: CHANGELOG.md
gno publish export CLI and Web UI action produce a self-contained artifact you upload to the hosted reader — public, secret, invite-only, or locally encrypted before uploadQwen3-Embedding-0.6B-GGUF after it beat bge-m3 on both code and multilingual prose benchmark lanesgno doctor chunking visibility, and fixed the embedding autoresearch harness| Feature | Description |
|---|---|
| **Hybrid Search** | BM25 + vector + RRF fusion + cross-encoder reranking |
| **Document Editor** | Create, edit, delete docs with live markdown preview |
| **Web UI** | Visual dashboard for search, browse, edit, and AI Q&A |
| **REST API** | HTTP API for custom tools and integrations |
| **Multi-Format** | Markdown, PDF, DOCX, XLSX, PPTX, plain text |
| **Local LLM** | AI answers via llama.cpp, no API keys |
| **Remote Inference** | Offload to GPU servers via HTTP (llama-server, Ollama, LocalAI) |
| **Privacy First** | 100% offline, zero telemetry, your data stays yours |
| **MCP Server** | Works with Claude Desktop, Cursor, Zed, + 8 more |
| **Collections** | Organize sources with patterns, excludes, contexts |
| **Tag Filtering** | Frontmatter tags with hierarchical paths, filter via --tags-any/--tags-all |
| **Note Linking** | Wiki links, backlinks, related notes, cross-collection navigation |
| **Multilingual** | 30+ languages, auto-detection, cross-lingual search |
| **Incremental** | SHA-256 tracking, only changed files re-indexed |
| **Keyboard First** | ⌘N capture, ⌘K search, ⌘/ shortcuts, ⌘S save |
---
bun install -g @gmickel/gno
Requires Bun >= 1.0.0.
bun install -g @gmickel/gno
macOS: Vector search requires Homebrew SQLite:
brew install sqlite3
Verify everything works:
gno doctor
Windows: current validated target is windows-x64, with a packaged desktop beta zip now published on GitHub Releases. See docs/WINDOWS.md for support scope and validation notes.
Keep an index fresh continuously without opening the Web UI:
gno daemon # foreground (Ctrl+C to stop)
gno daemon --detach # background (macOS/Linux); use --status / --stop to manage
gno daemon runs the watch/sync/embed loop headless. --detach self-spawns a detached child and exits 0; gno daemon --status and gno daemon --stop give you lifecycle control without nohup, launchd, or systemd units.
See also: docs/DAEMON.md
gno init ~/notes --name notes # Point at your docs
gno index # Build search index
gno daemon --detach # Keep index fresh in the background (macOS/Linux)
gno query "auth best practices" # Hybrid search
gno ask "summarize the API" --answer # AI answer with citations
Manage the detached process with gno daemon --status and gno daemon --stop.

---
models: activePreset: remote-gpu presets: - id: remote-gpu name: Remote GPU Server embed: "http://192.168.1.100:8081/v1/embeddings#qwen3-embedding-0.6b" rerank: "http://192.168.1.100:8082/v1/completions#reranker" expand: "http://192.168.1.100:8083/v1/chat/completions#gno-expand" gen: "http://192.168.1.100:8083/v1/chat/completions#qwen3-4b" ```
Works with llama-server, Ollama, LocalAI, vLLM, or any OpenAI-compatible server.
Configuration: Model Setup
Remote/BYOM guides:
---
Embed GNO directly in another Bun or TypeScript app. No CLI subprocesses. No local server required.
Install:
bun add @gmickel/gno
Minimal client:
import { createDefaultConfig, createGnoClient } from "@gmickel/gno";
const config = createDefaultConfig();
config.collections = [
{
name: "notes",
path: "/Users/me/notes",
pattern: "**/*",
include: [],
exclude: [],
},
];
const client = await createGnoClient({
config,
dbPath: "/tmp/gno-sdk.sqlite",
});
await client.index({ noEmbed: true });
const results = await client.query("JWT token flow", {
noExpand: true,
noRerank: true,
});
console.log(results.results[0]?.uri);
await client.close();
More SDK examples:
import { createGnoClient } from "@gmickel/gno";
const client = await createGnoClient({
configPath: "/Users/me/.config/gno/index.yml",
});
// Fast exact search
const bm25 = await client.search("DEC-0054", {
collection: "work-docs",
});
// Semantic code lookup
const semantic = await client.vsearch("retry failed jobs with backoff", {
collection: "gno-code",
});
// Hybrid retrieval with explicit intent
const hybrid = await client.query("token refresh", {
collection: "work-docs",
intent: "JWT refresh token rotation in our auth stack",
candidateLimit: 12,
});
// Fetch content directly
const doc = await client.get("gno://work-docs/auth/refresh.md");
const bundle = await client.multiGet(["gno-code/**/*.ts"], { maxBytes: 25000 });
// Indexing / embedding
await client.update({ collection: "work-docs" });
await client.embed({ collection: "gno-code" });
await client.close();
Core SDK surface:
createGnoClient({ config | configPath, dbPath? })search, vsearch, query, askget, multiGet, list, statusupdate, embed, indexcloseFull guide: SDK docs
---
```bash
Programmatic access to all GNO features via HTTP.
```bash
Give your local LLM agents a long-term memory. GNO integrates as a Claude Code skill or MCP server, allowing agents to search, read, and cite your local files.
gno search "DEC-0054" # exact keyword / identifier gno vsearch "retry failed jobs with backoff" # natural-language semantic lookup gno query "JWT refresh token rotation" --explain # hybrid retrieval with score traces
该项目提供了一个开源的MCP工具,支持本地AI-powered文档搜索和编辑,具有首屈一指的混合检索功能,但仍需要进一步优化和完善。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:开源MCP工具 的核心功能完整,质量良好。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | gno |
| 原始描述 | 开源MCP工具:Local AI-powered document search and editing with first-in-class hybrid retrieva。⭐84 · TypeScript |
| Topics | mcpai-assistantbunclicode-searchdocument-searchtypescript |
| GitHub | https://github.com/gmickel/gno |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-05-25 · 更新时间:2026-05-25 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端