使用说明(Markdown 格式)

  • 项目简介 Context8 提供一个 MCP(Model Context Protocol)网关,用于向 LLM 客户端提供私有代码库的资源、可执行工具以及提示模板等上下文服务。服务器实现了核心的 MCP 功能:注册工具、处理客户端请求、返回符合 MCP 规范的 JSON-RPC 响应,并支持多种传输协议(STDIO、HTTP/WS 等),便于将上下文信息注入到对话中,提升代码理解与推理质量。

  • 主要功能点

    • MCP 网关:实现 MCP 的服务器端入口,处理来自客户端的 JSON-RPC 请求和返回响应。
    • 工具注册与执行:为 LLM 提供“解析库ID”、“获取库文档”等工具,允许客户端在对话中调用外部功能。
    • 资源与文档访问:通过本地索引的代码库和远程数据,提供资源检索和文档/代码上下文信息。
    • 多传输支持:基于 MCP SDK,支持 stdio 与基于 Express 的 HTTP 服务(/mcp 端点)。
    • 会话与扩展:包含会话管理、错误处理,以及可扩展的工具和提示模板体系。
  • 安装步骤

    1. 安装依赖并构建
      • 使用仓库的包管理器进行安装与构建(如 pnpm),确保各包正确链接与编译。
    2. 启动基础服务
      • 运行 MCP 服务器(HTTP 传输时可使用 3000 端口,STDIO 不需要端口)。
      • 依赖数据库与向量数据库(PostgreSQL、Redis、Qdrant 等)需要按环境变量配置并运行在对应端口。
    3. 初始化环境
      • 按照文档配置数据库连接字符串、向量存储地址等环境变量,确保 API 与向量检索管道可用。
    4. 启动服务器
      • 以 HTTP 传输为例,服务器默认端口 3000,可在 CLI 指定端口。
      • 也可使用 STDIO 传输,直接通过进程 IO 与客户端进行通信。
  • 服务器配置(给 MCP 客户端的配置信息) 说明:MCP 客户端需要提供一个 JSON 配置,描述要连接的 MCP 服务器名称、启动命令以及参数。以下为基于仓库信息生成的示例配置,请按实际环境替换路径与环境变量。 { "serverName": "Context8", "command": "node", "args": [ "/path/to/context8/apps/mcp-server/dist/bin/local.js" ], "env": { "DATABASE_URL": "postgresql://postgres:postgres@localhost:5432/context8", "QDRANT_HOST": "localhost", "QDRANT_PORT": "6333" }, "transport": "http", "port": 3000 }

  • 基本使用方法

    • 客户端端配置:将上面的 JSON 配置填入 MCP 客户端的连接设置中(客户端需要读取 serverName、command、args、环境变量等信息来启动并连接 MCP 服务器)。
    • 启动与连接:在命令行执行服务器启动命令,服务器启动后通过 /mcp HTTP 端点接收 MCP 客户端的请求。
    • 请求与响应:客户端发起 JSON-RPC 请求,如读取资源、调用工具、获取 Prompts 等,服务器返回 MCP 规范的 JSON-RPC 响应或通知。
    • 扩展性:服务器内已注册的工具(如 resolve-library-id、get-library-docs 等)可被 LLM 客户端在对话中调用,便于在对话中动态获取上下文信息。

信息

分类

AI与计算