这是一个Couchbase实现的MCP服务器,允许LLMs直接与Couchbase集群交互。
<a href="https://glama.ai/mcp/servers/@Couchbase-Ecosystem/mcp-server-couchbase"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=3713411280,2187194665&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Couchbase Server MCP server" /> </a> <!-- mcp-name: io.github.Couchbase-Ecosystem/mcp-server-couchbase -->SELECT * FROM users而不是SELECT * FROM bucket.scope.users)CB_MCP_READ_ONLY_QUERY_MODE默认设置为真,以禁用运行更改数据或底层集合结构的SQL++查询。请注意,仍然可以通过ID更新文档。MCP服务器可以从预构建的PyPI包或源代码使用uv运行。
我们发布了一个预构建的PyPI包用于MCP服务器。
{
"mcpServers": {
"couchbase": {
"command": "uvx",
"args": ["couchbase-mcp-server"],
"env": {
"CB_CONNECTION_STRING": "couchbases://connection-string",
"CB_USERNAME": "username",
"CB_PASSWORD": "password"
}
}
}
}
或者
{
"mcpServers": {
"couchbase": {
"command": "uvx",
"args": ["couchbase-mcp-server"],
"env": {
"CB_CONNECTION_STRING": "couchbases://connection-string",
"CB_CLIENT_CERT_PATH": "/path/to/client-certificate.pem",
"CB_CLIENT_KEY_PATH": "/path/to/client.key"
}
}
}
}
注意:如果您在客户端中有其他MCP服务器在使用,可以将其添加到现有的
mcpServers对象中。
MCP服务器可以从这个仓库的源代码运行。
git clone https://github.com/Couchbase-Ecosystem/mcp-server-couchbase.git
这是用于Claude Desktop、Cursor、Windsurf Editor等MCP客户端的通用配置。
{
"mcpServers": {
"couchbase": {
"command": "uv",
"args": [
"--directory",
"path/to/cloned/repo/mcp-server-couchbase/",
"run",
"src/mcp_server.py"
],
"env": {
"CB_CONNECTION_STRING": "couchbases://connection-string",
"CB_USERNAME": "username",
"CB_PASSWORD": "password"
}
}
}
}
注意:
path/to/cloned/repo/mcp-server-couchbase/应该是您本地机器上克隆的仓库路径。别忘了路径末尾的斜杠!
注意:如果您在客户端中有其他MCP服务器在使用,可以将其添加到现有的
mcpServers对象中。
服务器可以通过环境变量或命令行参数进行配置:
| 环境变量 | CLI参数 | 描述 | 默认值 |
|---|---|---|---|
CB_CONNECTION_STRING | --connection-string | 连接到Couchbase集群的连接字符串 | 必需 |
CB_USERNAME | --username | 对所需存储桶具有访问权限的基本身份验证用户名 | 必需(或mTLS需要客户端证书和密钥) |
CB_PASSWORD | --password | 基本身份验证密码 | 必需(或mTLS需要客户端证书和密钥) |
CB_CLIENT_CERT_PATH | --client-cert-path | mTLS身份验证的客户端证书文件路径 | 如果使用mTLS则必需(或需要用户名和密码) |
CB_CLIENT_KEY_PATH | --client-key-path | mTLS身份验证的客户端密钥文件路径 | 如果使用mTLS则必需(或需要用户名和密码) |
CB_CA_CERT_PATH | --ca-cert-path | 如果服务器配置了自签名或不受信任的证书,则用于TLS的服务器根证书路径。如果您连接到Capella,则不需要此证书。 | |
CB_MCP_READ_ONLY_QUERY_MODE | --read-only-query-mode | 防止数据修改查询 | true |
CB_MCP_TRANSPORT | --transport | 传输模式:stdio,http,sse | stdio |
CB_MCP_HOST | --host | HTTP/SSE传输模式的主机 | 127.0.0.1 |
CB_MCP_PORT | --port | HTTP/SSE传输模式的端口 | 8000 |
注意:对于身份验证,您需要提供用户名和密码或客户端证书和密钥路径。可选地,您可以指定用于验证服务器证书的CA根证书路径。 如果同时指定了客户端证书及密钥路径和用户名及密码,则将使用客户端证书进行身份验证。
您还可以使用以下命令检查服务器版本:
uvx couchbase-mcp-server --version
按照以下步骤使用Couchbase MCP服务器与Claude Desktop MCP客户端
通过编辑配置文件将MCP服务器添加到Claude Desktop。更多详细说明可以在MCP快速入门指南中找到。
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json打开配置文件,并将配置添加到mcpServers部分。
重启Claude Desktop以应用更改。
您现在可以在Claude Desktop中使用该服务器,使用自然语言对Couchbase集群执行查询并执行文档的CRUD操作。
日志
Claude Desktop的日志可以在以下位置找到:
这些日志可用于诊断连接问题或其他与您的MCP服务器配置相关的问题。有关更多详细信息,请参阅官方文档。
</details> <details> <summary>Cursor</summary>按照以下步骤使用Couchbase MCP服务器与Cursor:
在您的机器上安装Cursor。
在Cursor中,转到Cursor > Cursor设置 > 工具与集成 > MCP工具。也可以查看Cursor上的设置MCP服务器配置文档。
指定相同的配置。您可能需要在mcpServers父键下添加服务器配置。
保存配置。
您将在MCP服务器列表中看到已添加的couchbase服务器。刷新以查看服务器是否已启用。
您现在可以在Cursor中使用Couchbase MCP服务器,使用自然语言对Couchbase集群执行查询并执行文档的CRUD操作。
有关MCP与Cursor集成的更多详细信息,请参阅官方Cursor MCP文档。
日志
在Cursor底部面板中,点击“输出”并从下拉菜单中选择“Cursor MCP”以查看服务器日志。这可以帮助诊断连接问题或其他与您的MCP服务器配置相关的问题。
</details> <details> <summary>Windsurf Editor</summary>按照以下步骤使用Couchbase MCP服务器与Windsurf Editor:
在您的机器上安装Windsurf Editor。
在Windsurf Editor中,导航到命令面板 > Windsurf MCP配置面板或Windsurf - 设置 > 高级 > 级联 > 模型上下文协议(MCP)服务器。有关更多配置详情,请参阅官方文档。
单击添加服务器,然后添加自定义服务器。在编辑器中打开的配置中,添加上面的Couchbase MCP服务器配置。
保存配置。
您将在高级设置下的MCP服务器列表中看到已添加的couchbase服务器。刷新以查看服务器是否已启用。
您现在可以在Windsurf Editor中使用Couchbase MCP服务器,使用自然语言对Couchbase集群执行查询并执行文档的CRUD操作。
有关MCP与Windsurf Editor集成的更多详细信息,请参阅官方Windsurf MCP文档。
</details>MCP服务器可以在可流式HTTP传输模式下运行,该模式允许多个客户端通过HTTP连接到同一个服务器实例。 在尝试以这种模式连接到MCP服务器之前,请检查您的MCP客户端是否支持可流式HTTP传输。
注意:此模式不包括授权支持。
默认情况下,MCP服务器将在端口8000上运行,但可以通过--port或CB_MCP_PORT环境变量进行配置。
uvx couchbase-mcp-server \
--connection-string='<couchbase_connection_string>' \
--username='<database_username>' \
--password='<database_password>' \
--read-only-query-mode=true \
--transport=http
服务器将在http://localhost:8000/mcp上可用。这可以在支持可流式HTTP传输模式的MCP客户端中使用,例如Cursor。
{
"mcpServers": {
"couchbase-http": {
"url": "http://localhost:8000/mcp"
}
}
}
可以选择在服务器发送事件(SSE)传输模式下运行MCP服务器。
默认情况下,MCP服务器将在端口8000上运行,但可以通过--port或CB_MCP_PORT环境变量进行配置。
uvx couchbase-mcp-server \
--connection-string='<couchbase_connection_string>' \
--username='<database_username>' \
--password='<database_password>' \
--read-only-query-mode=true \
--transport=sse
服务器将在http://localhost:8000/sse上可用。这可以在支持SSE传输模式的MCP客户端中使用,例如Cursor。
{
"mcpServers": {
"couchbase-sse": {
"url": "http://localhost:8000/sse"
}
}
}
MCP服务器也可以构建并作为Docker容器运行。预构建的镜像可以在DockerHub上找到。
另外,我们是Docker MCP目录的一部分。
docker build -t mcp/couchbase .
<details>
<summary>使用参数构建</summary>
如果您想使用提交哈希和构建时间的构建参数进行构建,可以使用:
docker build --build-arg GIT_COMMIT_HASH=$(git rev-parse HEAD) \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
-t mcp/couchbase .
或者,使用提供的构建脚本:
./build.sh
此脚本会自动:
latest,<short-commit>)验证镜像标签:
# 查看镜像中的git提交哈希
docker inspect --format='{{index .Config.Labels "org.opencontainers.image.revision"}}' mcp/couchbase:latest
# 查看所有元数据标签
docker inspect --format='{{json .Config.Labels}}' mcp/couchbase:latest
</details>
MCP服务器可以使用环境变量配置Couchbase设置。环境变量与配置部分中描述的一致。
docker run --rm -i \
-e CB_CONNECTION_STRING='<couchbase_connection_string>' \
-e CB_USERNAME='<database_user>' \
-e CB_PASSWORD='<database_password>' \
-e CB_MCP_TRANSPORT='<http|sse|stdio>' \
-e CB_MCP_READ_ONLY_QUERY_MODE='<true|false>' \
-e CB_MCP_PORT=9001 \
-p 9001:9001 \
mcp/couchbase
CB_MCP_PORT环境变量仅适用于http和sse等HTTP传输模式。
Docker镜像可以在stdio传输模式下使用以下配置。
{
"mcpServers": {
"couchbase-mcp-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CB_CONNECTION_STRING=<couchbase_connection_string>",
"-e",
"CB_USERNAME=<database_user>",
"-e",
"CB_PASSWORD=<database_password>",
"mcp/couchbase"
]
}
}
}
注意事项
couchbase_connection_string的值取决于Couchbase服务器是在同一主机机器上运行,还是在另一个Docker容器中,或者在远程主机上运行。如果您的Couchbase服务器在主机机器上运行,那么连接字符串可能是couchbase://host.docker.internal的形式。详情请参阅docker文档。--network=<your_network>选项指定容器的网络。您选择的网络取决于您的环境,默认是bridge。详情请参阅docker网络驱动程序。