You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
. Create a user called `mcp` with a strong password:
63
+
+
64
+
[,bash]
65
+
----
66
+
rpk acl user create mcp --password <your-secure-password>
67
+
----
68
+
+
69
+
Save the password securely. You need it later when configuring the MCP server.
70
+
71
+
. Grant the `mcp` user permissions to produce and consume from the `events` topic:
72
+
+
73
+
[,bash]
74
+
----
75
+
rpk acl create --allow-principal User:mcp --operation all --topic events
76
+
----
61
77
--
62
78
63
79
Data Plane API::
@@ -121,11 +137,43 @@ curl -X POST "https://<dataplane-api-url>/v1/topics" \
121
137
-H "Authorization: Bearer <token>" \
122
138
-H "Content-Type: application/json" \
123
139
-d '{
124
-
"topic": {
125
-
"name": "events",
126
-
"partition_count": 3,
127
-
"replication_factor": 3
128
-
}
140
+
"name": "events",
141
+
"partition_count": 3,
142
+
"replication_factor": 3
143
+
}'
144
+
----
145
+
146
+
. Make a request to link:/api/doc/cloud-dataplane/operation/operation-userservice_createuser[`POST /v1/users`] to create a user called `mcp`:
147
+
+
148
+
[,bash]
149
+
----
150
+
curl -X POST "https://<dataplane-api-url>/v1/users" \
151
+
-H "Authorization: Bearer <token>" \
152
+
-H "Content-Type: application/json" \
153
+
-d '{
154
+
"name": "mcp",
155
+
"password": "<your-secure-password>",
156
+
"mechanism": "SASL_MECHANISM_SCRAM_SHA_256"
157
+
}'
158
+
----
159
+
+
160
+
Save the password securely. You need it later when configuring the MCP server.
161
+
162
+
. Make a request to link:/api/doc/cloud-dataplane/operation/operation-aclservice_createacl[`POST /v1/acls`] to grant the `mcp` user permissions to produce and consume from the `events` topic:
163
+
+
164
+
[,bash]
165
+
----
166
+
curl -X POST "https://<dataplane-api-url>/v1/acls" \
@@ -169,7 +217,9 @@ The template populates the configuration with YAML for the tool definition.
169
217
170
218
. From the *Template* dropdown, select *Redpanda Output*.
171
219
+
172
-
The template populates the configuration for publishing to Redpanda. Authentication is handled automatically by the MCP server's service account.
220
+
The template populates the configuration for publishing to Redpanda and a section for adding the required secrets is displayed.
221
+
222
+
. Enter the values for the `mcp` user's credentials in the *Add Required Secrets* section.
173
223
174
224
. Click *Lint* to check the configuration. You should see no errors.
175
225
@@ -186,27 +236,37 @@ It may take a few seconds to start. The status changes from *Starting* to *Runni
186
236
Data Plane API::
187
237
+
188
238
--
189
-
. Create a service account using the link:/api/doc/cloud-controlplane/operation/operation-serviceaccountservice_createserviceaccount[Control Plane API]:
239
+
. Create a secret for the username:
190
240
+
191
241
[,bash]
192
242
----
193
-
curl -X POST "https://api.redpanda.com/v1/service-accounts" \
243
+
curl -X POST "https://<dataplane-api-url>/v1/secrets" \
194
244
-H "Authorization: Bearer <token>" \
195
245
-H "Content-Type: application/json" \
196
246
-d '{
197
-
"service_account": {
198
-
"name": "mcp-server-demo",
199
-
"description": "Service account for MCP server demo"
200
-
}
247
+
"id": "MCP_USERNAME",
248
+
"scopes": ["SCOPE_MCP_SERVER"],
249
+
"secret_data": "bWNw"
201
250
}'
202
251
----
203
252
+
204
-
The response includes `client_id` and `client_secret`. Save these values.
205
-
206
-
. Store the service account credentials in the xref:develop:connect/configuration/secret-management.adoc[Secrets Store]:
253
+
The `secret_data` value `bWNw` is the base64-encoded string `mcp`.
207
254
+
208
-
* Create secret `REDPANDA_SA_CLIENT_ID` with the service account `client_id`.
209
-
* Create secret `REDPANDA_SA_CLIENT_SECRET` with the service account `client_secret`.
255
+
Create a secret for the password:
256
+
+
257
+
[,bash]
258
+
----
259
+
curl -X POST "https://<dataplane-api-url>/v1/secrets" \
260
+
-H "Authorization: Bearer <token>" \
261
+
-H "Content-Type: application/json" \
262
+
-d '{
263
+
"id": "MCP_PASSWORD",
264
+
"scopes": ["SCOPE_MCP_SERVER"],
265
+
"secret_data": "<base64-encoded-password>"
266
+
}'
267
+
----
268
+
+
269
+
Replace `<base64-encoded-password>` with your password encoded in base64. You can encode it with: `echo -n '<your-secure-password>' | base64`.
210
270
211
271
. Using the Data Plane API URL from the previous section, make a request to link:/api/doc/cloud-dataplane/operation/operation-mcpserverservice_createmcpserver[`POST /v1/redpanda-connect/mcp-servers`] to create the MCP server:
212
272
+
@@ -216,30 +276,24 @@ curl -X POST "https://<dataplane-api-url>/v1/redpanda-connect/mcp-servers" \
216
276
-H "Authorization: Bearer <token>" \
217
277
-H "Content-Type: application/json" \
218
278
-d '{
219
-
"mcp_server": {
220
-
"display_name": "event-data-generator",
221
-
"description": "Generates fake user event data and publishes it to Redpanda topics",
0 commit comments