项目简介

AI Snippets MCP 服务器旨在通过标准化的 Model Context Protocol (MCP) 接口,让大型语言模型 (LLM) 客户端能够访问和管理一个精心组织的代码片段集合。这个服务器将每个代码片段及其相关的摘要和文档作为“资源”进行托管,并通过定义好的“工具”来响应客户端的请求,例如查询片段、获取代码或了解更多细节。它为 LLM 应用提供了一个结构化、可扩展的方式来利用预先编写的代码和知识。

主要功能点

  • 获取片段摘要: 允许 LLM 客户端根据一个简短的查询,获取所有相关代码片段的名称及其详细摘要。摘要内容包括片段的功能、所用技术和语言,帮助 LLM 快速理解片段用途。
  • 获取 Python 代码片段: 客户端可以根据准确的片段名称,直接获取该片段的完整 Python 源代码。这使得 LLM 能够直接访问并使用服务器托管的代码。
  • 获取更多片段信息: 提供一个可选工具,根据片段名称返回其摘要和完整的 README 文档。这有助于 LLM 深入了解片段的背景、用途和详细说明。

安装步骤

该服务器推荐使用自动化脚本进行安装和管理,简化了部署过程:

  1. 准备环境: 确保您的系统已安装 'podman' 或 'docker' 等兼容 OCI 的容器运行时。
  2. 获取仓库: 克隆 'ai-snippets' 仓库到您的本地计算机。
  3. 运行安装脚本: 在克隆的仓库根目录下,运行 'install.sh' 脚本。该脚本会将 'ai-snippet-mcp' 管理器安装到您的系统 PATH 中。
    • 推荐方式(随机端口):
      ./install.sh /usr/local/bin
      此命令将把服务器安装到 '/usr/local/bin',并在启动时自动选择一个可用的随机端口。
    • 可选方式(固定端口):
      ./install.sh /usr/local/bin 8080
      此命令将服务器安装到 '/usr/local/bin',并强制服务器在 '8080' 端口启动。

安装成功后,您将拥有一个 'ai-snippet-mcp' 命令,它负责自动管理服务器容器的生命周期(如从 Git 拉取最新代码、按需重建容器、启动容器等)。

服务器配置

此 MCP 服务器设计为自动生成其自身的连接配置信息。您可以通过运行安装脚本创建的 'ai-snippet-mcp' 命令来获取这些配置。当您运行 'ai-snippet-mcp' 时,它会输出一个 JSON 格式的字符串,该字符串包含了 MCP 客户端连接服务器所需的所有详细信息。

例如,当您运行 'ai-snippet-mcp' 时,可能会看到类似以下结构的输出(端口号会动态变化):

{
  "name": "AI Snippet Server",
  "command": ["podman", "run", "--rm", "-p", "12345:8000", "ai-snippet-mcp:latest"],
  "args": [],
  "config": {
    "port": "12345",
    "host": "127.0.0.1",
    "transport": "streamable-http"
  }
}
  • 'name': 服务器的显示名称,方便 LLM 客户端识别。
  • 'command': 启动 MCP 服务器进程的完整命令行指令。通常是一个容器运行命令,例如 'podman run ...'。MCP 客户端会使用此命令来启动或管理服务器实例。
  • 'args': 传递给 'command' 命令的额外参数列表。
  • 'config': 包含更详细的连接参数:
    • 'port': 服务器实际监听的端口号。请注意,这是一个动态分配的端口,每次启动可能会不同。
    • 'host': 服务器监听的主机地址,通常是 '127.0.0.1' 表示仅在本地计算机上可用。
    • 'transport': 服务器使用的通信协议类型,这里是 'streamable-http',表明它通过 HTTP 进行基于流的通信。

MCP 客户端(如 Claude Code)能够解析这种 JSON 配置,并据此自动与服务器建立连接。您无需手动解析或配置这些信息,只需将 'ai-snippet-mcp' 的输出作为配置源传递给您的 MCP 客户端即可。

基本使用方法

  1. 启动服务器并获取配置: 打开您的终端,运行 'ai-snippet-mcp' 命令。这会自动启动服务器容器并将其 MCP 配置输出到标准输出。
  2. 连接 LLM 客户端: 将上一步骤获得的 JSON 配置传递给您的 MCP 兼容 LLM 客户端。例如,如果您使用 Claude Code,可以这样操作:
    claude --mcp-config "$(ai-snippet-mcp)"
    这条命令会执行 'ai-snippet-mcp',将其输出作为配置传递给 'claude' 客户端,从而建立连接。
  3. 与服务器交互: 一旦连接建立,您的 LLM 客户端就可以通过调用 MCP 服务器暴露的工具(如 'get_snippet_summaries'、'get_python_code_snippet'、'tell_me_more')来查询、检索和使用服务器上托管的代码片段。LLM 可以利用这些功能来获取所需代码、理解其用途或进一步生成基于这些代码的解决方案。

信息

分类

开发者工具