A Model Context Protocol (MCP) server that gives AI agents structured insight into the vertical slices of a Cratis-based application — the features, commands, queries, read models, and events that make up each slice.
Experimental: This project is in early development. Tools, APIs, and behavior can change without notice.
Vertical slice architecture is the house philosophy of the Cratis stack: with Arc (an opinionated CQRS framework for ASP.NET Core) and Chronicle (the Cratis event-sourcing database and processing runtime), everything for a behavior lives together, and you navigate by feature rather than by technical layer. The MCP server discovers those slices from your application's compiled assembly by looking for the familiar [Command], [ReadModel], and [EventType] artifacts, so an agent can reason about your application the way you have structured it.
This repository also contains an early-stage engine for setting up vertical slices with Chronicle from a declarative structure.
Everything Cratis publishes today is MIT licensed and free to use.
The Vertical Slices MCP server leverages Stdio and is packaged as a container. In your tool, configure it using that.
In VSCode you would do this by adding a tool to your agent.
This can done either by adding it to the global user settings or through an mcp.json file in
the .vscode folder of your project.
For the global user settings, you simply do the following:
"mcp": {
"servers": {
"VerticalSlices": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"cratis/vertical-slices-mcp"
]
}
}
}For a local mcp.json file, its almost the same:
{
"servers": {
"VerticalSlices": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"cratis/vertical-slices-mcp"
]
}
}
}You can see this in action in the mcp.json in this repository.
Note: The
cratis/vertical-slices-mcpis a multi CPU architecture image supporting both x64 and arm64 automatically.
Using VSCode, the mcp.json in the .vscode folder of this repository is automatically supported.
Open it and click the Start button:
During development, compile and click the Restart button when having the mcp.json open:

