Substantive.DevTools.AspNetCore 9.17.34-build20260919r3
Substantive.DevTools.AspNetCore
Development and troubleshooting tools for an ASP.NET Core server: the DiagnosticController and DiagnosticODataController an API picks up as soon as it references this package, the middleware analysis logger, and the same diagnostics exposed as MCP tools for an agent connected to the API.
Installation
<PackageReference Include="Substantive.DevTools.AspNetCore" Version="$(UseBackendsVersion)" />
The controllers are discovered through the application part the Web SDK records for every referenced assembly that uses MVC; nothing has to be registered. They reveal paths, process details, and environment values, so reference the package only where that is acceptable.
Usage
Diagnostic endpoints
GET /Diagnostic/GetAppInfo, GET /Diagnostic/GetHeaders, GET /Diagnostic/GetForwardedHeadersInfo, POST /Diagnostic/SimulateLogging, the Throw* actions that exercise the exception handlers, and the streaming actions. Each action documents itself in the OpenAPI document.
MCP tools
DiagnosticMcpTools exposes the application info, the request headers, the forwarded-headers report, the logging simulation, and a deliberate failure as MCP tools, under the names in DiagnosticMcpToolNames. This package carries only the tool attributes (ModelContextProtocol.Core); the MCP server and its transport belong to the API:
<PackageReference Include="ModelContextProtocol.AspNetCore" Version="2.*" />
builder.Services.AddMcpServer()
.WithHttpTransport(options => options.Stateless = true)
.WithTools<DiagnosticMcpTools>();
var app = builder.Build();
app.MapMcp("/mcp");
The request-bound tools read the HTTP request that carried the tool call through IHttpContextAccessor, which AddAspNetCore registers; over a transport that runs outside an HTTP request they fail with a message that says so. Results are JSON text with the shapes of AppInfoResponse and ForwardedHeadersInfoResponse.
FAQs and Troubleshoots
- The MCP tools are listed but every call fails naming the HTTP request. The tools were registered on a transport without a request (stdio). Use the HTTP transport, or call the controller instead.
- A tool error arrives as a generic message. The MCP SDK forwards only an
McpExceptionmessage to the client; the tools throw that type on purpose. Any other exception is replaced with a generic error before it leaves the server.
Showing the top 20 packages that depend on Substantive.DevTools.AspNetCore.
| Packages | Downloads |
|---|---|
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
8 |
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
9 |
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
10 |
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
11 |
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
13 |
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
15 |
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
17 |
|
Substantive.AspNetCore
Substantive ASP.NET Core package.
|
34 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
8 |
|
Substantive.Foundation.Backends
A metapackage contains all Substantive backend building blocks.
|
9 |
.NET 10.0
- Substantive.ComponentModel.DataAnnotations (>= 9.17.34-build20260919R3)
- Asp.Versioning.Mvc (>= 10.2.1)
- Microsoft.AspNetCore.OData (>= 10.0.0-preview.2)
- Microsoft.EntityFrameworkCore.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DiagnosticAdapter (>= 5.0.0-preview.3.20215.2)
- Microsoft.Extensions.Telemetry.Abstractions (>= 10.10.0)
- ModelContextProtocol.Core (>= 2.2.0)