MCP server
This site hosts a Model Context Protocol server at /mcp, so an AI agent writing sortable-list,
kanban and drag-and-drop code with Bit.Bortable reads the library itself - its compiled API documentation,
its guide, its stylesheet and these demo pages - instead of guessing at an API it half remembers, or
borrowing one from SortableJS. Every tool is read-only.
Connect a client
The endpoint is plain Streamable HTTP, so any MCP client connects with a URL and nothing else. The same tools
are also served, version by version, through the bit platform's own server at
https://bitplatform.dev/mcp, next to the other bit libraries.
// .mcp.json (Claude Code, VS Code, and anything else reading this shape)
{
"mcpServers": {
"bortable": {
"type": "http",
"url": "https://bortable.bitplatform.dev/mcp"
}
}
}Tools
| Tool | What it answers |
|---|---|
SearchBortable |
Everything at once - the guide, every public type and member, the setup guides, the stylesheet's custom properties and classes and the demo's pages - each hit with the exact follow-up call. |
GetBortableSetupGuide |
The complete wiring for one render mode: server, wasm, auto, standalone-wasm or hybrid - AddBitBortableServices() in every project that renders a list, the stylesheet link and an interactive render mode. |
GetBortableGuideSection |
One section of the reference guide, or the index of sections. |
GetBortableApi |
One public type - Bortable<TItem>, BortableEventArgs<TItem>, BortablePull, BortableDirection, BitBortable - with every parameter, property, method or value, its real default and its documentation, or the index of types. |
GetBortableTheme |
The --bit-bortable-* custom properties - the accent and opacities declared on :root, and the colours the state rules read with a fallback - with their defaults and what each one paints, and the drag-state classes (bit-bortable-ghost, bit-bortable-chosen, bit-bortable-hidden, bit-bortable-swap-highlight, bit-bortable-selected and the rest) with the parameter that replaces each. |
GetBortableSourceFile |
One demo page, the library's component or its stylesheet verbatim - every page here is a working list, and a page's route works as its path - or the index of files. |
InspectBortableDrag |
Renders a real Bortable<string> for each list you describe as JSON, performs one drag through its own handlers - within a list, across lists, a clone, a swap or a multi-drag - and reports whether each step was accepted and why not, the lists before and after, and every event raised, in order, with its arguments. |
The guide, the API, the theme, a sample drag and the sources are also exposed as bortable://
resources, and three prompts - add-bortable-to-app, implement-bortable-feature and
debug-bortable-drag - walk an agent through the common jobs in the right order.
The same tools over plain HTTP
Every tool is also a GET under /api/mcp/...: open one in a browser tab to read
exactly what an agent is handed.
- /api/mcp/SearchBortable?query=drag handle
- /api/mcp/GetBortableApi?typeName=Bortable
- /api/mcp/GetBortableTheme?name=bit-bortable-ghost
- /api/mcp/InspectBortableDrag (runs the sample drag)
- /api/mcp/InspectBortableDrag?json={ ... "put": false ... } (a refused drop, explained)
- /api/mcp/GetBortableSourceFile?path=Demo/Client/Pages/Shared.razor