Skip to content

Refactor MCP to allow post-startup hydration of config file #3012

@RubenCerna2079

Description

@RubenCerna2079

Currently DAB is not able to run MCP if it is started without a config file which is added later on. In order to fix this issue, the way the MCP service is added needs to be changed.

The files that need to be changed are:

  • Startup.cs: All places where the MCP services are only added if the MCP property is enabled need to always be started, no matter if it is enabled or disabled (This will also help with allowing it to be hot-reloadable). In the section that sets the MCP endpoint it needs to be changed so that it always uses the default endpoint, similarly to how it is done in GraphQL. Lastly, in the PerformOnConfigChangeAsync function the Dependency Injection for MCP services need to be manually triggered, which will then populate all its services only when the config file is set, similar to how it is done for REST and GraphQL.
  • PathRewriteMiddleware.cs: In the InvokeAsync function we need to change the path the user uses if it is different from the default, similarly to how we do it with GraphQL.

Metadata

Metadata

Type

Projects

Status

Todo

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions