Skip to content

[Enh]: Include server-level description value #3015

@JerryNixon

Description

@JerryNixon

What?

Add a server-level description to Data API Builder so the SQL MCP Server can expose semantic guidance to MCP clients via the MCP initialize response.

Why?

Provide semantic guidance that will augment agent instructions or even provide agent instructions on the use of the server. MCP clients and agents need high-level behavioral context for the server, not just per-tool metadata. The MCP protocol exposes this through the top-level instructions field of the initialize response; DAB should surface a configurable value there.

Example value

Descriptions are drafted and provided by the user and cannot be inferred by the engine any other way.

"This MCP provides access to the Products database and should be used to answer product-related or inventory-related questions from the user."

How?

Configuration file

Add an optional description field under the existing MCP runtime configuration:

{
  "runtime": {
    "mcp": {
      "description": "text"
    }
  }
}

Command line

Extend dab configure to include the new configuration value:

dab configure --mcp-description "text"

Implementation

Add description to the MCP-related runtime configuration model (e.g., RuntimeConfig / McpOptions in the main config file, such as dab-config.json’s backing C# type). In the MCP server implementation (e.g., the class that handles MCP initialize, such as McpServer or equivalent), wire the config into the response:

var instructions = _runtimeConfig.Mcp?.Description;
var initializeResult = new InitializeResult
{
    Instructions = string.IsNullOrWhiteSpace(instructions) ? null : instructions,
    // ...existing fields...
};

Checklist

  • Add runtime.mcp.description configuration field
  • Add --mcp-description option to dab configure
  • Ensure hot reload supports runtime.mcp.description
  • Inject resolved value into initialize.instructions
  • Add minimal unit tests (config load, hot reload, initialize payload)
  • Update documentation (hand-off to @JerryNixon)

Metadata

Metadata

Assignees

Projects

Status

Review In Progress

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions