返回市场
知识库MCP服务器

知识库MCP服务器

作者:noops8882 星标更新:2025-05-27

项目介绍

Digital Ocean Agent MCP 服务器

这是一个提供搜索功能的模型上下文协议(MCP)服务器,用于Digital Ocean Agent知识库。此服务器使Claude和其他兼容MCP的人工智能工具能够搜索并从Digital Ocean Agent实例中检索信息。

特性

  • 4种搜索方法:基础搜索、重写(默认)、回溯和子查询检索策略
  • 多代理支持:配置单个或多个DO代理实例
  • 聚焦片段:返回文档片段以最小化AI开销,优化成本
  • Cloudflare Workers 部署:可扩展的无服务器部署
  • 双层速率限制:每IP和全局速率限制以保护成本
  • 强化安全:清理错误消息,请求超时,安全代理选择

搜索工具

  1. do_agent_basic_search - 基础搜索,不增强查询 (retrieval_method: "none")
  2. do_agent_rewrite_search - 使用AI重写查询的搜索 (retrieval_method: "rewrite")
  3. do_agent_step_back_search - 回溯策略以获取更广泛的上下文 (retrieval_method: "step_back")
  4. do_agent_sub_queries_search - 子查询方法以全面检索 (retrieval_method: "sub_queries")

附加管理工具:

  • list_do_agents - 列出所有已配置的代理实例
  • get_current_do_agent - 获取默认代理信息

快速开始

1. 安装依赖

npm install

2. 安全部署设置

⚠️ 重要:遵循完整的部署指南进行安全生产设置。

快速本地开发:

# 复制环境模板(仅限本地开发)
cp .env.example .env
# 编辑.env文件,添加您的端点和令牌
npm run dev

生产部署:

# 1. 编辑wrangler.toml文件,添加您的端点(公开)
# 2. 将令牌设为秘密(永不提交):
wrangler secret put DO_AGENT_TOKEN
# 3. 安全部署:
npm run deploy

📖 阅读完整的部署指南 以获取逐步说明、最佳安全实践和故障排除。

使用示例

基础搜索

{
  "tool": "do_agent_basic_search",
  "parameters": {
    "query": "如何配置负载均衡器?",
    "k": 5
  }
}

重写搜索(推荐)

{
  "tool": "do_agent_rewrite_search", 
  "parameters": {
    "query": "数据库备份程序",
    "k": 10,
    "include_ai_response": false
  }
}

多代理搜索

{
  "tool": "do_agent_step_back_search",
  "parameters": {
    "query": "连接问题排查",
    "agent_name": "agent_2"
  }
}

参数

参数类型默认值描述
query字符串必填搜索查询(最大10,000字符)
k数字10返回的文档结果数量(有效范围:1-10)
include_ai_response布尔值false是否包含AI生成的响应
agent_name字符串agent_1要搜索的代理(agent_1, agent_2等)

配置

环境变量

  • DO_AGENT_ENDPOINT - 单个代理端点URL
  • DO_AGENT_TOKEN - 单个代理承载令牌
  • DO_AGENT_ENDPOINTS - 逗号分隔的代理端点
  • DO_AGENT_TOKENS - 逗号分隔的承载令牌
  • DO_AGENT_DESCRIPTIONS - 逗号分隔的代理描述

速率限制

每IP速率限制:

  • RATE_LIMIT_PER_WINDOW - 每个时间窗口内每个IP的最大请求数(默认:75)
  • RATE_LIMIT_WINDOW_SECONDS - 时间窗口秒数(默认:120)

全局速率限制:

  • GLOBAL_RATE_LIMIT_PER_WINDOW - 全局每个时间窗口内的最大请求数(默认:100)
  • GLOBAL_RATE_LIMIT_WINDOW_SECONDS - 全局时间窗口秒数(默认:120)

服务器实施了每IP和全局速率限制,以防止成本爆炸。速率限制错误会返回特定消息,指示是每IP还是全局限制被超过。

安全特性

  • 请求超时:对所有DO代理API调用设置30秒超时
  • 错误清理:后台错误被清理以防止信息泄露
  • 安全代理选择:使用代理名称(agent_1, agent_2)而不是暴露内部端点
  • 输入验证:全面参数验证,并带有具体错误消息

响应过滤

默认情况下,AI响应被过滤掉,以专注于检索片段并最小化成本。设置include_ai_response: true以包含完整的AI响应。

固定设置

以下设置自动配置以实现最佳性能:

  • stream: false - 非流式响应
  • include_retrieval_info: true - 始终包括文档片段
  • max_tokens: 50 - 最小化令牌使用以优化成本

架构

此MCP服务器作为MCP客户端(如Claude)与Digital Ocean代理之间的桥梁:

MCP客户端(Claude) ↔ MCP服务器 ↔ DO代理API ↔ 知识库

服务器优化了:

  • 成本:最小化令牌使用,使用最便宜的DO模型
  • 相关性:高级检索方法以获得更好的片段
  • 可扩展性:Cloudflare Workers部署
  • 灵活性:单/多代理配置

开发

构建于:

许可证

MIT