向量技能存储检索工具

一个基于Qdrant的.NET 10 MCP服务器,用于存储和检索向量技能,支持AI代理进行语义搜索和管理技能。

  • by jamesburton
  • C#
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jamesburton/QdrantSkillsMCP

使用说明

QdrantSkillsMCP

A.NET 10 MCP服务器,用于使用Qdrant进行基于矢量的技能存储和检索。使AI代理(Claude Code、Copilot、Codex等)能够通过MCP工具进行语义搜索、加载和管理技能。

先决条件

  • .NET 10 SDK (必填)
  • Qdrant实例——通过Docker/Aspire本地,或托管服务,如 Qdrant云

开始使用

无需安装 — dnx 直接从NuGet运行该工具,始终使用最新版本:

# Initialize config (creates ~/.qdrant-skills/config.json with local defaults)
dnx QdrantSkillsMCP -- --config init

# Auto-configure your AI agent (Claude, Copilot, Codex, etc.)
dnx QdrantSkillsMCP -- --setup

# Verify your Qdrant connection
dnx QdrantSkillsMCP -- --config validate

是什么 dnx? 是的。NET 10的等价物 npx --运行NuGet工具而不安装它们。始终自动获取最新版本。

替代方案:全局安装

如果您更喜欢永久安装(否 dnx 需要前缀):

dotnet tool install -g QdrantSkillsMCP
qdrant-skills-mcp --config init
qdrant-skills-mcp --setup

稍后更新: dotnet tool update -g QdrantSkillsMCP

配置

# Show all config with source annotations ([default], [user], [project], [env])
dnx QdrantSkillsMCP -- --config show

# Connect to a remote Qdrant instance
dnx QdrantSkillsMCP -- --config set QdrantHost=my-qdrant.example.com
dnx QdrantSkillsMCP -- --config set QdrantGrpcPort=6334
dnx QdrantSkillsMCP -- --config set UseTls=true
dnx QdrantSkillsMCP -- --config set QdrantApiKey=your-api-key

# Named profiles for switching between environments
dnx QdrantSkillsMCP -- --config use cloud

# Validate connection works
dnx QdrantSkillsMCP -- --config validate

# Generate env var template for your shell (auto-detects bash/PowerShell/cmd)
dnx QdrantSkillsMCP -- --config env

# Interactive config wizard
dnx QdrantSkillsMCP -- --config

配置文件:

  • 用户级别: ~/.qdrant-skills/config.json (API密钥、个人设置)
  • 项目级别: ./qdrant-skills.json (共享团队设置)
  • 优先: 环境变量>项目>用户>默认值

命令行用法

# Search skills by meaning
dnx QdrantSkillsMCP -- --console search "authentication patterns"

# List all skills
dnx QdrantSkillsMCP -- --console list

# JSON output for scripting
dnx QdrantSkillsMCP -- --console --json search "error handling"

# Interactive REPL with tab completion and history
dnx QdrantSkillsMCP -- --console

# Show help
dnx QdrantSkillsMCP -- --console help

MCP服务器模式

默认情况下(无标志),QdrantSkillsMCP作为MCP服务器在stdio上运行。这就是AI代理与它连接的方式 --setup 向导会自动为您的代理配置此功能。

可用的MCP工具

工具 说明
search-skills 具有可配置温度和最大结果的语义向量搜索
load-skill 按名称获取特定技能
add-skill 将YAML frontmatter技能坚持到Qdrant
update-skill 更新现有技能内容并重新嵌入
delete-skill 永久删除技能
archive-skill 软隐藏技能而不删除
list-skills 列出所有技能(支持 --names 和 --summaries 模式)
reset-session 对加载的技能进行清晰的会话跟踪
get-skill-guide 返回捆绑的指导,教代理如何使用QdrantSkillsMCP

ONNX模型包

对于没有API密钥的本地嵌入,有三个预构建的模型包可用:

包装 型号 尺寸 质量 尺寸
QdrantSkillsMCP.Models.MiniLM 全MiniLM-L6-v2 约23 MB 最快 384
QdrantSkillsMCP.Models.BgeSmall BGE-small-en-v1.5 ~34 MB 最佳值 384
QdrantSkillsMCP.Models.BgeBase BGE-base-en-v1.5 ~105 MB 最高质量 768

没有配套包裹,工具自动下载 all-MiniLM-L6-v2 首次使用时从HuggingFace下载(约23 MB,需要互联网)。这无需设置即可工作。

要预安装模型,请将其添加到NuGet全局缓存中(无需项目即可工作):

# Create a temp project, restore, then discard — populates the NuGet cache
dotnet new console -o /tmp/model-install --no-restore
dotnet add /tmp/model-install package QdrantSkillsMCP.Models.BgeSmall
dotnet restore /tmp/model-install

该工具自动检测模型 ~/.nuget/packages/qdrantskillsmcp.models.bgesmall/ 在启动时。

然后选择它:

dnx QdrantSkillsMCP -- --config set OnnxModelName=bge-small-en-v1.5

嵌入提供商

通过配置 dnx QdrantSkillsMCP -- --config set EmbeddingProvider=<provider>:

提供者 型号 备注
本地ONNX (默认) all-MiniLM-L6-v2 本地运行,不需要API密钥,384个维度
开放人工智能 text-embedding-3小/大 需要 OpenAiApiKey 或 OPENAI_API_KEY 有人是。
奥拉玛 任何Olama嵌入模型 设置 EmbeddingUrl (默认值:http://localhost:11434)
AzureOpenAI Azure托管嵌入 需要端点、密钥和部署名称

发展

要求。NET 10 SDK和Docker(通过Aspire为Qdrant)。

# Run with Aspire (starts Qdrant automatically)
dotnet run --project src/QdrantSkillsMCP.AppHost

# Run unit tests
dotnet test tests/QdrantSkillsMCP.UnitTests

# Run all tests (requires Qdrant running)
dotnet test

许可证

麻省理工学院