本地文档语义搜索服务

一个自托管的MCP服务器,允许AI编码代理(如Claude Code、OpenCode等)通过语义搜索本地文档,自动查找规范、文档或笔记。

  • by markjackmilian
  • C#
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 markjackmilian/mjm.local.docs

使用说明

mjm.local.docs

一个自托管的MCP服务器,允许AI编码代理(Claude Code、OpenCode等)使用语义搜索搜索您的本地文档。添加你的规格、文档或笔记——你的人工智能工具会自动找到它们。

用。NET 10、SQLite和SetServer。

先决条件: .NET 10 SDK (10.0.102+)

快速开始

git clone https://github.com/markjackmilian/mjm.local.docs
cd mjm.local.docs/mjm.local.docs
dotnet run --project src/Mjm.LocalDocs.Server/Mjm.LocalDocs.Server.csproj

打开 http://localhost:5024 对于web UI。MCP端点位于 http://localhost:5024/mcp.

默认情况下不需要API密钥-在开发中使用伪嵌入。

连接到您的AI代理

增添 .claude/settings.json (项目)或 ~/.claude/settings.json (全球):

{
  "mcpServers": {
    "local-docs": {
      "type": "http",
      "url": "http://localhost:5024/mcp"
    }
  }
}

相同的配置适用于OpenCode(opencode.json).添加后重新启动代理。

可用的MCP工具

工具 说明
search_docs 跨所有文档的语义搜索
add_document 添加a .txt, .md, .pdf,或 .docx 文件
update_document 用新版本替换文档
list_collections 列出所有项目
delete_document 删除文档及其嵌入

配置

所有设置都在 "LocalDocs" 输入 appsettings.json.

嵌入提供者: Fake (默认,无密钥), OpenAI, AzureOpenAI, Ollama

存储提供商: InMemory, Sqlite (默认), SqliteHnsw (推荐用于>10k文档), SqlServer

文件存储: Database (默认), FileSystem, AzureBlob

生产示例——OpenAI嵌入+HNSW索引:

{
  "ConnectionStrings": { "LocalDocs": "Data Source=/data/localdocs.db" },
  "LocalDocs": {
    "Embeddings": { "Provider": "OpenAI", "Dimension": 1536, "OpenAI": { "Model": "text-embedding-3-small" } },
    "Storage": { "Provider": "SqliteHnsw", "Hnsw": { "IndexPath": "/data/hnsw_index.bin" } }
  }
}

集 OPENAI_API_KEY 作为一个环境变量-永远不要提交API密钥。

许可证

麻省理工学院