Skip to content

Commit bb5a9e7

Browse files
authored
Release 0.4.0 (#45)
* Update README.md to enhance command formatting and clarify troubleshooting notes - Reformatted command examples for starting the MCP server to improve readability. - Updated troubleshooting instructions regarding log locations and the `uv` package manager. - Ensured consistent use of environment variable names throughout the document. * Add Docker.md for Couchbase MCP Server documentation on Dockerhub - Introduced a new documentation file, Docker.md, detailing the Couchbase MCP Server, its features, usage, and environment variable configurations. - Updated GitHub Actions workflow to reference the new Docker.md for the README file path instead of README.md. * Update version in pyproject.toml from "0.4.0rc1" to "0.4.0" for final release. * Update environment variable names in Docker.md and README.md for consistency - Changed `CB_READ_ONLY_QUERY_MODE` to `CB_MCP_READ_ONLY_QUERY_MODE` in Docker.md to align with recent naming conventions. - Improved formatting in README.md for the MCP server command example for better readability. * Enhance Docker.md with improved command options and environment variable descriptions - Added the `--rm` option to the Docker run command for automatic container removal after execution. - Updated the formatting of the environment variable table for better clarity and consistency, including bolding required fields and refining descriptions.
1 parent 1d3b17b commit bb5a9e7

File tree

4 files changed

+90
-6
lines changed

4 files changed

+90
-6
lines changed

.github/workflows/docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,4 @@ jobs:
6868
username: ${{ secrets.DOCKERHUB_USERNAME }}
6969
password: ${{ secrets.DOCKERHUB_TOKEN }}
7070
repository: ${{ env.IMAGE_NAME }}
71-
readme-filepath: ./README.md
71+
readme-filepath: ./DOCKER.md

DOCKER.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Couchbase MCP Server
2+
3+
Pre-built images for the [Couchbase](https://www.couchbase.com/) MCP Server.
4+
5+
A Model Context Protocol (MCP) server that allows AI agents to interact with Couchbase databases.
6+
7+
Github Repo: https://github.com/Couchbase-Ecosystem/mcp-server-couchbase
8+
9+
Dockerfile: https://github.com/Couchbase-Ecosystem/mcp-server-couchbase/blob/main/Dockerfile
10+
11+
## Features
12+
13+
- Get a list of all the scopes and collections in the specified bucket
14+
- Get the structure for a collection
15+
- Get a document by ID from a specified scope and collection
16+
- Upsert a document by ID to a specified scope and collection
17+
- Delete a document by ID from a specified scope and collection
18+
- Run a [SQL++ query](https://www.couchbase.com/sqlplusplus/) on a specified scope
19+
- There is an option in the MCP server, `CB_MCP_READ_ONLY_QUERY_MODE` that is set to true by default to disable running SQL++ queries that change the data or the underlying collection structure. Note that the documents can still be updated by ID.
20+
- Get the status of the MCP server
21+
- Check the cluster credentials by connecting to the cluster
22+
23+
## Usage
24+
25+
The Docker images can be used in the supported MCP clients such as Claude Desktop, Cursor, Windsurf, etc in combination with Docker.
26+
27+
### Configuration
28+
29+
Add the configuration specified below to the MCP configuration in your MCP client.
30+
31+
- Claude Desktop: https://modelcontextprotocol.io/quickstart/user
32+
- Cursor: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
33+
- Windsurf: https://docs.windsurf.com/windsurf/cascade/mcp#adding-a-new-mcp-plugin
34+
35+
```json
36+
{
37+
"mcpServers": {
38+
"couchbase": {
39+
"command": "docker",
40+
"args": [
41+
"run",
42+
"--rm",
43+
"-i",
44+
"-e",
45+
"CB_CONNECTION_STRING=<couchbase_connection_string>",
46+
"-e",
47+
"CB_USERNAME=<database_username>",
48+
"-e",
49+
"CB_PASSWORD=<database_password>",
50+
"-e",
51+
"CB_BUCKET_NAME=<bucket_name>",
52+
"couchbaseecosystem/mcp-server-couchbase:latest"
53+
]
54+
}
55+
}
56+
}
57+
```
58+
59+
### Environment Variables
60+
61+
The detailed explanation for the environment variables can be found on the [Github Repo](https://github.com/Couchbase-Ecosystem/mcp-server-couchbase?tab=readme-ov-file#additional-configuration-for-mcp-server).
62+
63+
| Variable | Description | Default |
64+
| ----------------------------- | ------------------------------------------- | ------------ |
65+
| `CB_CONNECTION_STRING` | Couchbase Connection string | **Required** |
66+
| `CB_USERNAME` | Database username | **Required** |
67+
| `CB_PASSWORD` | Database password | **Required** |
68+
| `CB_BUCKET_NAME` | Bucket to access | **Required** |
69+
| `CB_MCP_READ_ONLY_QUERY_MODE` | Prevent data modification queries via SQL++ | `true` |
70+
| `CB_MCP_TRANSPORT` | Transport mode (stdio/http/sse) | `stdio` |
71+
| `CB_MCP_HOST` | Server host (HTTP/SSE modes) | `127.0.0.1` |
72+
| `CB_MCP_PORT` | Server port (HTTP/SSE modes) | `8000` |

README.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,13 @@ Check if your [MCP client](https://modelcontextprotocol.io/clients) supports str
204204
By default, the MCP server will run on port 8000 but this can be configured using the `--port` or `CB_MCP_PORT` environment variable.
205205

206206
```bash
207-
uvx couchbase-mcp-server --connection-string='<couchbase_connection_string>' --username='<database_username>' --password='<database_password>' --bucket-name='<couchbase_bucket_to_use>' --read-only-query-mode=true --transport=streamable-http
207+
uvx couchbase-mcp-server \
208+
--connection-string='<couchbase_connection_string>' \
209+
--username='<database_username>' \
210+
--password='<database_password>' \
211+
--bucket-name='<couchbase_bucket_to_use>' \
212+
--read-only-query-mode=true \
213+
--transport=http
208214
```
209215

210216
The server will be available on http://localhost:8000/mcp. This can be used in MCP clients supporting streamable http transport mode such as Cursor.
@@ -232,7 +238,13 @@ There is an option to run the MCP server in [Server-Sent Events (SSE)](https://m
232238
By default, the MCP server will run on port 8000 but this can be configured using the `--port` or `CB_MCP_PORT` environment variable.
233239

234240
```bash
235-
uvx couchbase-mcp-server --connection-string='<couchbase_connection_string>' --username='<database_username>' --password='<database_password>' --bucket-name='<couchbase_bucket_to_use>' --read-only-query-mode=true --transport=sse
241+
uvx couchbase-mcp-server \
242+
--connection-string='<couchbase_connection_string>' \
243+
--username='<database_username>' \
244+
--password='<database_password>' \
245+
--bucket-name='<couchbase_bucket_to_use>' \
246+
--read-only-query-mode=true \
247+
--transport=sse
236248
```
237249

238250
The server will be available on http://localhost:8000/sse. This can be used in MCP clients supporting SSE transport mode such as Cursor.
@@ -366,8 +378,8 @@ The Couchbase MCP server can also be used as a managed server in your agentic ap
366378
- Verify that your Couchbase connection string, database username, password and bucket name are correct.
367379
- If using Couchbase Capella, ensure that the cluster is [accessible](https://docs.couchbase.com/cloud/clusters/allow-ip-address.html) from the machine where the MCP server is running.
368380
- Check that the database user has proper permissions to access the specified bucket.
369-
- Confirm that the uv package manager is properly installed and accessible. You may need to provide absolute path to uv/uvx in the `command` field in the configuration.
370-
- Check the logs for any errors or warnings that may indicate issues with the MCP server. The server logs are under the name, `mcp-server-couchbase.log`.
381+
- Confirm that the `uv` package manager is properly installed and accessible. You may need to provide absolute path to `uv`/`uvx` in the `command` field in the configuration.
382+
- Check the logs for any errors or warnings that may indicate issues with the MCP server. The location of the logs depend on your MCP client.
371383
- If you are observing issues running your MCP server from source after updating your local MCP server repository, try running `uv sync` to update the [dependencies](https://docs.astral.sh/uv/concepts/projects/sync/#syncing-the-environment).
372384

373385
---

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "couchbase-mcp-server"
3-
version = "0.4.0rc1"
3+
version = "0.4.0"
44
description = "Couchbase MCP Server - The Developer Data Platform for Critical Applications in Our AI World"
55
readme = "README.md"
66
requires-python = ">=3.10"

0 commit comments

Comments
 (0)