Skip to content

Commit b84418d

Browse files
authored
Added server description to dab.draft.schema (#3405)
## Why make this change? Closes #3282 The issue is that runtime MCP server description exists in code (`McpRuntimeOptions.Description`) but was missing from the JSON schema, so valid config using `runtime.mcp.description` could fail schema validation. This change adds the missing schema entry, so config and schema stay aligned. ## What is this change? Added `runtime.mcp.description` to `schemas/dab.draft.schema.json` under the `mcp` runtime properties: - `type: "string"` - description clarifying it is exposed as the MCP `instructions` field in initialize response No runtime/CLI code changes were needed because support already exists in config model, converter, CLI configure option, and MCP server response wiring. ## How was this tested? - [ ] Integration Tests - [x] Unit Tests Ran: - `dotnet test src/Service.Tests/Azure.DataApiBuilder.Service.Tests.csproj --filter "FullyQualifiedName~McpRuntimeOptionsSerializationTests" -v minimal` ## Sample Request(s) CLI example: ```bash dab configure --runtime.mcp.description "Use this MCP for product and inventory questions." ``` Config example: ```json { "runtime": { "mcp": { "enabled": true, "path": "/mcp", "description": "Use this MCP for product and inventory questions." } } } ```
1 parent fbe03e5 commit b84418d

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

schemas/dab.draft.schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,10 @@
280280
"description": "Allow enabling/disabling MCP requests for all entities.",
281281
"default": true
282282
},
283+
"description": {
284+
"type": "string",
285+
"description": "Description of the MCP server, exposed as the 'instructions' field in the MCP initialize response to provide behavioral context to MCP clients and agents."
286+
},
283287
"dml-tools": {
284288
"description": "Configuration for MCP Data Manipulation Language (DML) tools. Set to true/false to enable/disable all tools, or use an object to configure individual tools.",
285289
"oneOf": [

0 commit comments

Comments
 (0)