Skip to content

Commit e0ce503

Browse files
authored
Update Dockerfile and add server.json configuration (#69)
1 parent b2bb3a7 commit e0ce503

File tree

4 files changed

+259
-2
lines changed

4 files changed

+259
-2
lines changed

DOCKER.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ Dockerfile: https://github.com/Couchbase-Ecosystem/mcp-server-couchbase/blob/mai
2222
- 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.
2323
- Get the status of the MCP server
2424
- Check the cluster credentials by connecting to the cluster
25+
- List all indexes in the cluster with their definitions, with optional filtering by bucket, scope, collection and index name.
26+
- Get index recommendations from Couchbase Index Advisor for a given SQL++ query to optimize query performance
27+
- Get cluster health status and list of all running services
2528

2629
## Usage
2730

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ LABEL org.opencontainers.image.revision="${GIT_COMMIT_HASH}" \
2727
org.opencontainers.image.created="${BUILD_DATE}" \
2828
org.opencontainers.image.title="MCP Server Couchbase" \
2929
org.opencontainers.image.description="Model Context Protocol server for Couchbase" \
30-
org.opencontainers.image.source="https://github.com/couchbaselabs/mcp-server-couchbase"
30+
org.opencontainers.image.source="https://github.com/Couchbase-Ecosystem/mcp-server-couchbase"\
31+
io.modelcontextprotocol.server.name="io.github.Couchbase-Ecosystem/mcp-server-couchbase"
3132

3233
# Create non-root user
3334
RUN useradd --system --uid 1001 mcpuser

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ An [MCP](https://modelcontextprotocol.io/) server implementation of Couchbase th
2222
- 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.
2323
- Get the status of the MCP server
2424
- Check the cluster credentials by connecting to the cluster
25-
- List all indexes in the cluster with their definitions, with optional filtering by bucket, scope, and collection
25+
- List all indexes in the cluster with their definitions, with optional filtering by bucket, scope, collection and index name.
2626
- Get index recommendations from Couchbase Index Advisor for a given SQL++ query to optimize query performance
2727
- Get cluster health status and list of all running services
2828

server.json

Lines changed: 253 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,253 @@
1+
{
2+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
3+
"name": "io.github.Couchbase-Ecosystem/mcp-server-couchbase",
4+
"description": "Couchbase Model Context Protocol Server to interact with Couchbase clusters",
5+
"repository": {
6+
"url": "https://github.com/Couchbase-Ecosystem/mcp-server-couchbase",
7+
"source": "github"
8+
},
9+
"version": "0.5.0",
10+
"packages": [
11+
{
12+
"registryType": "pypi",
13+
"identifier": "couchbase-mcp-server",
14+
"version": "0.5.0",
15+
"transport": {
16+
"type": "stdio"
17+
},
18+
"environmentVariables": [
19+
{
20+
"name": "CB_CONNECTION_STRING",
21+
"description": "Couchbase connection string. Required for connecting to the cluster.",
22+
"isRequired": false,
23+
"format": "string",
24+
"isSecret": false
25+
},
26+
{
27+
"name": "CB_USERNAME",
28+
"description": "Couchbase database username. Required for basic authentication.",
29+
"isRequired": false,
30+
"format": "string",
31+
"isSecret": false
32+
},
33+
{
34+
"name": "CB_PASSWORD",
35+
"description": "Couchbase database password. Required for basic authentication.",
36+
"isRequired": false,
37+
"format": "string",
38+
"isSecret": true
39+
},
40+
{
41+
"name": "CB_CA_CERT_PATH",
42+
"description": "Couchbase CA certificate path. Required for TLS authentication in non Capella clusters.",
43+
"isRequired": false,
44+
"format": "string",
45+
"isSecret": false
46+
},
47+
{
48+
"name": "CB_CLIENT_CERT_PATH",
49+
"description": "Couchbase client certificate path. Required for mTLS authentication.",
50+
"isRequired": false,
51+
"format": "string",
52+
"isSecret": false
53+
},
54+
{
55+
"name": "CB_CLIENT_KEY_PATH",
56+
"description": "Couchbase client key path. Required for mTLS authentication.",
57+
"isRequired": false,
58+
"format": "string",
59+
"isSecret": false
60+
},
61+
{
62+
"name": "CB_MCP_READ_ONLY_QUERY_MODE",
63+
"description": "Couchbase read only query mode. Set to true to allow only read-only queries. Set to false to allow data modification queries.",
64+
"isRequired": false,
65+
"format": "boolean",
66+
"isSecret": false
67+
},
68+
{
69+
"name": "CB_MCP_TRANSPORT",
70+
"description": "Transport mode for the server (stdio, http or sse). Default is stdio",
71+
"isRequired": false,
72+
"format": "string",
73+
"isSecret": false
74+
},
75+
{
76+
"name": "CB_MCP_HOST",
77+
"description": "Host to run the MCP server on (default: 127.0.0.1). Used only for HTTP and SSE transport modes.",
78+
"isRequired": false,
79+
"format": "string",
80+
"isSecret": false
81+
},
82+
{
83+
"name": "CB_MCP_PORT",
84+
"description": "Port to run the MCP server on (default: 8000). Used only for HTTP and SSE transport modes.",
85+
"isRequired": false,
86+
"format": "number",
87+
"isSecret": false
88+
}
89+
],
90+
"packageArguments": [
91+
{
92+
"type": "named",
93+
"name": "--connection-string",
94+
"description": "Couchbase connection string. Required for connecting to the cluster.",
95+
"isRequired": false,
96+
"format": "string",
97+
"isSecret": false
98+
},
99+
{
100+
"type": "named",
101+
"name": "--username",
102+
"description": "Couchbase database username. Required for basic authentication.",
103+
"isRequired": false,
104+
"format": "string",
105+
"isSecret": false
106+
},
107+
{
108+
"type": "named",
109+
"name": "--password",
110+
"description": "Couchbase database password. Required for basic authentication.",
111+
"isRequired": false,
112+
"format": "string",
113+
"isSecret": true
114+
},
115+
{
116+
"type": "named",
117+
"name": "--ca-cert-path",
118+
"description": "Couchbase CA certificate path. Required for TLS authentication in non Capella clusters.",
119+
"isRequired": false,
120+
"format": "string",
121+
"isSecret": false
122+
},
123+
{
124+
"type": "named",
125+
"name": "--client-cert-path",
126+
"description": "Couchbase client certificate path. Required for mTLS authentication.",
127+
"isRequired": false,
128+
"format": "string",
129+
"isSecret": false
130+
},
131+
{
132+
"type": "named",
133+
"name": "--client-key-path",
134+
"description": "Couchbase client key path. Required for mTLS authentication.",
135+
"isRequired": false,
136+
"format": "string",
137+
"isSecret": false
138+
},
139+
{
140+
"type": "named",
141+
"name": "--read-only-query-mode",
142+
"description": "Couchbase read only query mode. Set to true to allow only read-only queries. Set to false to allow data modification queries.",
143+
"isRequired": false,
144+
"format": "boolean",
145+
"isSecret": false
146+
},
147+
{
148+
"type": "named",
149+
"name": "--transport",
150+
"description": "Transport mode for the server (stdio, http or sse). Default is stdio",
151+
"isRequired": false,
152+
"format": "string",
153+
"isSecret": false
154+
},
155+
{
156+
"type": "named",
157+
"name": "--host",
158+
"description": "Host to run the MCP server on (default: 127.0.0.1). Used only for HTTP and SSE transport modes.",
159+
"isRequired": false,
160+
"format": "string",
161+
"isSecret": false
162+
},
163+
{
164+
"type": "named",
165+
"name": "--port",
166+
"description": "Port to run the MCP server on (default: 8000). Used only for HTTP and SSE transport modes.",
167+
"isRequired": false,
168+
"format": "number",
169+
"isSecret": false
170+
}
171+
]
172+
},
173+
{
174+
"registryType": "oci",
175+
"identifier": "docker.io/couchbaseecosystem/mcp-server-couchbase:0.5.0",
176+
"transport": {
177+
"type": "stdio"
178+
},
179+
"environmentVariables": [
180+
{
181+
"name": "CB_CONNECTION_STRING",
182+
"description": "Couchbase connection string. Required for connecting to the cluster.",
183+
"isRequired": false,
184+
"format": "string",
185+
"isSecret": false
186+
},
187+
{
188+
"name": "CB_USERNAME",
189+
"description": "Couchbase database username. Required for basic authentication.",
190+
"isRequired": false,
191+
"format": "string",
192+
"isSecret": false
193+
},
194+
{
195+
"name": "CB_PASSWORD",
196+
"description": "Couchbase database password. Required for basic authentication.",
197+
"isRequired": false,
198+
"format": "string",
199+
"isSecret": true
200+
},
201+
{
202+
"name": "CB_CA_CERT_PATH",
203+
"description": "Couchbase CA certificate path. Required for TLS authentication in non Capella clusters.",
204+
"isRequired": false,
205+
"format": "string",
206+
"isSecret": false
207+
},
208+
{
209+
"name": "CB_CLIENT_CERT_PATH",
210+
"description": "Couchbase client certificate path. Required for mTLS authentication.",
211+
"isRequired": false,
212+
"format": "string",
213+
"isSecret": false
214+
},
215+
{
216+
"name": "CB_CLIENT_KEY_PATH",
217+
"description": "Couchbase client key path. Required for mTLS authentication.",
218+
"isRequired": false,
219+
"format": "string",
220+
"isSecret": false
221+
},
222+
{
223+
"name": "CB_MCP_READ_ONLY_QUERY_MODE",
224+
"description": "Couchbase read only query mode. Set to true to allow only read-only queries. Set to false to allow data modification queries.",
225+
"isRequired": false,
226+
"format": "boolean",
227+
"isSecret": false
228+
},
229+
{
230+
"name": "CB_MCP_TRANSPORT",
231+
"description": "Transport mode for the server (stdio, http or sse). Default is stdio",
232+
"isRequired": false,
233+
"format": "string",
234+
"isSecret": false
235+
},
236+
{
237+
"name": "CB_MCP_HOST",
238+
"description": "Host to run the MCP server on (default: 127.0.0.1). Used only for HTTP and SSE transport modes.",
239+
"isRequired": false,
240+
"format": "string",
241+
"isSecret": false
242+
},
243+
{
244+
"name": "CB_MCP_PORT",
245+
"description": "Port to run the MCP server on (default: 8000). Used only for HTTP and SSE transport modes.",
246+
"isRequired": false,
247+
"format": "number",
248+
"isSecret": false
249+
}
250+
]
251+
}
252+
]
253+
}

0 commit comments

Comments
 (0)