Candlekeep MCP 服务端

使用说明内容(Markdown格式)

项目简介

  • Candlekeep MCP 服务端是一个面向 LLM 客户端的后端服务,遵循 Model Context Protocol (MCP) 规范,实现资源托管、工具注册与执行、以及 Prompt 模板的渲染,提供标准化的上下文服务以支持复杂的问答/推理场景。

主要功能点

  • MCP 协议核心:实现对 MCP 请求和响应的处理,提供 JSON-RPC 风格的通信与通知机制。
  • 资源与工具管理:提供对“资源/文档”和“工具/插件”的托管、注册、调用及权限控制能力,便于 LLM 访问数据和外部功能。
  • Prompt 模板渲染:定义与渲染可定制的提示模板,支持不同的交互模式。
  • 会话与能力声明:服务端维护会话状态、能力声明,以及多用户/多代理的并发访问支持。
  • 多传输协议支持:内置对 stdio 和 HTTP 等传输的原生支持,便于不同部署场景的集成。
  • 身份验证与安全:支持 Bearer Token 认证(在 HTTP 模式下启用),并提供写操作的并发控制与限流机制。
  • 服务器扩展性:可配置的插件化工具、并发策略、以及对不同 LLM 提供商和向量数据库的接入能力。
  • 应用场景丰富:可作为 LLM 辅助的知识库、工具执行、以及基于模板的对话渲染等后端服务。

安装与运行

  • 安装与运行的核心步骤包括:在 Python 3.10+ 环境中安装本仓库、配置环境变量、启动服务。核心命令示例见文档中的快速开始部分。
  • 运行模式选择:
    • HTTP 模式(推荐):启动后端提供对外 HTTP API 的 MCP 服务,客户端通过 URL 连接并发送请求。
    • stdio 模式:客户端进程直接与 MCP 服务通过标准输入输出通信,便于单进程调试或嵌入式执行。

服务器配置(MCP 客户端配置示例) { "serverName": "candlekeep", "command": "/path/to/venv/bin/candlekeep", "args": [], "env": { "CANDLEKEEP_TRANSPORT": "http", "CANDLEKEEP_HTTP_HOST": "127.0.0.1", "CANDLEKEEP_HTTP_PORT": "8111", "CANDLEKEEP_MCP_TOKEN": "" // 如需要鉴权,请设置一个令牌 }, "description": "Candlekeep MCP 服务端的 HTTP 模式启动配置" }

注意:MCP 客户端需要的配置信息以 JSON 格式提供,至少包含 serverName、command、args,以及可选的 env 字段,用于描述如何启动 MCP 服务端进程并与之建立连接(如传输模式、端口、鉴权令牌等)。以上示例基于仓库中的实现与文档说明整理,实际使用时请按环境变量和部署方式调整。

基本使用方法

  • 启动方式一(推荐,HTTP 模式):
    • 设置传输为 HTTP,并指定端口,通过 candlekeep 二进制启动服务,客户端即可通过 HTTP URL 连接 MCP 服务。
  • 启动方式二(stdio 模式):
    • 直接以 candlekeep 命令启动,客户端通过标准输入输出与 MCP 服务通信,适合简化的多进程集成场景。
  • 客户端接入要点:
    • 客户端应指向 MCP 服务器提供的地址(如 http://127.0.0.1:8111/mcp),通过 JSON-RPC 风格的请求访问 MCP 的能力(如读取资源、执行工具、获取 Prompt)。
    • 服务端提供的工具/资源接口需按需授权与注册,确保访问控制与日志审计。

备注与注意

  • 本实现包含对身份鉴权、写操作序列化、以及多种路由策略的支持,适合在对性能、并发和安全性要求较高的场景中使用。
  • 如需在生产环境部署,请结合 TLS/反向代理等安全措施,以及对日志与监控的完善配置。

关键词 LLM上下文服务, 向量检索, JSON-RPC 交互, 资源与工具管理, 多传输协议

分类ID 6

服务器信息