关于 couchbase-guru
couchbase-guru 是面向使用 MCP 客户端的 Couchbase 文档问答服务,适用于查询产品、功能、SDK 和教程的开发者。它将问题转交给托管的检索增强文档 Agent,并返回答案及来源链接,无需 Couchbase 集群凭据。
主要功能
- 01搜索官方 Couchbase 文档
- 02返回自然语言答案和来源链接
- 03支持产品、SDK、服务及教程问题
- 04可连接自托管文档 Agent
- 05支持 stdio 和 Streamable HTTP
适用场景
- 01查询 Couchbase SDK 的用法
- 02查找特定版本的产品文档
- 03获取教程或示例的出处链接
MCP 相关
MCP 服务向客户端公开 ask_couchbase_docs 工具,将问题发送到文档 Agent 并返回答案和文档链接。默认使用公共后端,也可配置自托管 Agent。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx couchbase-guruCB_MCP_TRANSPORTTransport mode for the server (stdio or http). Default is stdio.CB_MCP_HOSTHost to run the MCP server on (default: 127.0.0.1). Used only for HTTP transport mode.CB_MCP_PORTPort to run the MCP server on (default: 8000). Used only for HTTP transport mode.CB_AGENT_BASE_URLBase URL of the documentation agent backend. Set this to run against your own self-hosted agent; if unset, the public agent is used.CB_AGENT_IP_SALT密钥Secret salt used to pseudonymize client IPs (HTTP transport). Set a shared value for consistent hashing across multiple instances; a local salt is generated when unset.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| question | string | 是 | 关于 Couchbase 产品、SDK 或服务的完整且独立的问题。必须包含产品名称、版本或编程语言等必要上下文,因为此工具调用的 Agent 不具备对话历史记录。 |
详细介绍
Couchbase Guru MCP 服务
一个 MCP 服务,可让大模型通过你的 MCP 客户端搜索 Couchbase 文档。它提供一个工具 ask_couchbase_docs,将你的问题转发给托管的检索增强生成(RAG)文档 Agent,并返回附有来源链接的答案。
无需 Couchbase 集群或凭据。 此服务只与文档 Agent 后端通信,不会访问你的数据。
工具
| 工具名称 | 描述 |
|---|---|
ask_couchbase_docs | 通过搜索官方文档,回答有关任何 Couchbase 产品、功能、SDK、服务、教程或示例的问题。返回自然语言答案,随后附上文档来源 URL。 |
请提出完整且自包含的问题——后端没有对话历史,因此请在相关时注明产品、版本和语言(例如 "How do I create a primary index with the Python SDK in Couchbase Server 7.6?")。
前提条件
- Python 3.10 或更高版本。
- 已安装 uv,用于运行此服务。
- 一个 MCP 客户端,例如 Claude Desktop、Cursor 或 VS Code。
配置
此服务可以通过预构建的 PyPI 软件包运行,也可以使用 uv 从源代码运行。无需任何配置即可使用——默认使用公开的文档 Agent。
从 PyPI 运行
{
"mcpServers": {
"couchbase-guru": {
"command": "uvx",
"args": ["couchbase-guru"]
}
}
}
如果你已配置其他 MCP 服务,请将此条目添加到现有的
mcpServers对象中。
从源代码运行
克隆仓库:
git clone https://github.com/Couchbase-Ecosystem/couchbase-guru.git
然后将 MCP 客户端指向它:
{
"mcpServers": {
"couchbase-guru": {
"command": "uv",
"args": [
"--directory",
"path/to/cloned/repo/couchbase-guru/",
"run",
"src/mcp_server.py"
]
}
}
}
path/to/cloned/repo/couchbase-guru/应为你计算机上克隆的仓库路径。别忘了末尾的斜杠。
选项
所有选项均为可选,可通过 CLI 参数或环境变量设置:
| CLI 参数 | 环境变量 | 描述 | 默认值 |
|---|---|---|---|
--transport | CB_MCP_TRANSPORT | 传输模式:stdio 或 http | stdio |
--host | CB_MCP_HOST | HTTP 传输模式的主机 | 127.0.0.1 |
--port | CB_MCP_PORT | HTTP 传输模式的端口 | 8000 |
--agent-base-url | CB_AGENT_BASE_URL | 文档 Agent 后端的基本 URL。设置此项可连接到你自己的可自托管 Agent;若未设置,则使用公开 Agent。 | 公开 Agent |
--agent-ip-salt | CB_AGENT_IP_SALT | 用于对客户端 IP 进行假名化处理的密钥盐值(HTTP 传输)。设置共享值可确保多个实例之间的哈希一致;若未设置,则会生成本地盐值。 | 自动生成 |
使用以下命令检查已安装的版本:
uvx couchbase-guru --version
自托管文档 Agent
默认情况下,此服务使用共享的公开文档 Agent,因此大多数用户无需进行任何设置。如果你运行自己的 Agent 后端,请将此服务指向它:
uvx couchbase-guru --agent-base-url https://your-agent.example.com
速率限制与隐私
公开 Agent 会实施公平使用速率限制。为支持此功能,此服务会通过 User-Agent 标头向后端发送一个假名化设备标识符:
- stdio:随机生成一个 ID,并将其存储在你计算机上按用户区分的文件中。
- HTTP:对连接 IP 进行加盐单向哈希——绝不会发送原始地址。
MCP 服务本身不会持久化任何问题内容或个人数据。如果你不想共享速率限制信号,请自托管 Agent(见上文)。
特定客户端的配置
Claude Desktop
- 编辑配置文件(参见 MCP 快速入门指南):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- 将配置添加到
mcpServers部分。 - 重启 Claude Desktop。
日志:~/Library/Logs/Claude(macOS)或 %APPDATA%\Claude\Logs(Windows)。
Cursor
- 在 Cursor 中,前往 Cursor Settings > Tools & Integrations > MCP Tools。
- 手动添加配置,或使用一键式在 Cursor 中安装链接。
- 保存,然后刷新以确认服务已启用。
日志:在底部面板中,点击 Output,然后从下拉菜单中选择 Cursor MCP。
Windsurf Editor
- 打开 Command Palette > Windsurf MCP Configuration Panel(或 Settings > Advanced > Cascade > Model Context Protocol (MCP) Servers)。
- 点击 Add Server > Add custom server,然后添加配置。
- 保存,然后刷新以确认服务已启用。
详情请参阅 Windsurf MCP 文档。
VS Code
-
在工作区中创建
.vscode/mcp.json(或运行 MCP: Open User Configuration 进行全局配置)。 -
VS Code 使用
servers作为顶层键(而非mcpServers):{ "servers": { "couchbase-guru": { "command": "uvx", "args": ["couchbase-guru"] } } } -
保存后,使用内联操作列表来
启动/停止/管理服务。
详情请参阅 VS Code MCP 文档。
JetBrains IDEs
- 安装 AI Assistant 或 Junie 插件。
- 前往 Settings > Tools > AI Assistant or Junie > MCP Server。
- 点击“+”,添加配置,然后点击 Save,再点击 Apply。
日志:Help > Show Log in Finder (Explorer) > mcp > couchbase-guru。
Streamable HTTP 传输模式
服务可以在 Streamable HTTP 模式下运行,以便多个客户端连接到同一个实例。请先确认你的 MCP 客户端支持此传输方式。
uvx couchbase-guru --transport=http --port=8000
服务将在 http://localhost:8000/mcp 上提供:
{
"mcpServers": {
"couchbase-guru-http": {
"url": "http://localhost:8000/mcp"
}
}
}
此模式不支持授权。
Docker
构建镜像:
docker build -t couchbase-guru .
运行它(默认使用 stdio;无需凭据):
{
"mcpServers": {
"couchbase-guru-docker": {
"command": "docker",
"args": ["run", "--rm", "-i", "couchbase-guru"]
}
}
}
对于 HTTP 传输,发布端口并设置传输方式:
docker run --rm -i \
-e CB_MCP_TRANSPORT=http \
-e CB_MCP_HOST=0.0.0.0 \
-e CB_MCP_PORT=8000 \
-p 8000:8000 \
couchbase-guru
与大模型相关的风险
- 使用大模型及类似技术存在风险,包括可能产生不准确或有害的输出。
- Couchbase 不会审查或评估此类输出的质量或准确性,且此类输出不一定反映 Couchbase 的观点。
- 你应自行决定是否使用大模型及相关技术,并负责遵守任何适用的许可条款、使用条款以及所在组织的政策。
故障排除
- 确认已安装
uv/uvx,并且它们位于PATH中。你可能需要在command字段中提供uv/uvx的绝对路径。 - 如果搜索超时,文档后端可能正忙——请稍后重试。
- 若要排除公共后端的影响,请使用
--agent-base-url指定自己的 Agent。 - 如果更新仓库后从源代码运行,请运行
uv sync以刷新依赖项。 - 检查 MCP 客户端的日志(位置见上文),查看是否有错误。
测试
单元测试离线运行(后端使用模拟对象):
uv sync --extra dev
uv run pytest tests/
集成测试会针对在线 Agent 后端对工具进行端到端测试,需选择启用:
CB_MCP_RUN_INTEGRATION=1 uv run pytest tests/test_docs_tools.py
默认情况下,测试使用公共 Agent;设置 CB_AGENT_BASE_URL 可指定其他后端。
👩💻 贡献
欢迎贡献!如需报告错误、请求功能或贡献改进,请提交 GitHub issue。
有关开发者环境设置(使用 uv 配置环境、使用 Ruff 进行 lint 和格式化、配置 pre-commit 钩子以及了解项目结构),请参阅 CONTRIBUTING.md。
# Clone and set up
git clone https://github.com/Couchbase-Ecosystem/couchbase-guru.git
cd couchbase-guru
# Install with development dependencies
uv sync --extra dev
# Install pre-commit hooks
uv run pre-commit install
📢 支持政策
感谢你对本项目的关注!本项目由 Couchbase 社区维护,这意味着我们的支持团队不提供官方支持。我们的工程师会监控并维护此仓库,并尽力解决问题。请通过 GitHub 提交所有咨询。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。