backend
FreeBackend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.
The English summary is being prepared. Showing the original description.
donut-mcp-server — structure, build, tests, Cursor/IDE configuration. Use when changing the Donut MCP server.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
A Model Context Protocol server for Donut.
Is in the mcp-server folder.
This is a TypeScript-based MCP server that demonstrates core MCP concepts by providing:
mcp-server/
src/ # Production source code
index.ts # boot: create context, start stdio
server.ts # assemble server, list tools, route calls
context.ts # read env, create DonutApi
api.ts # DonutApi factory
schemas.ts # tool input schemas (shared)
tools/index.ts # tool registry + handlers
types.ts # shared types
utils.ts # error + validation helpers
tests/ # Unit tests (separate from production code)
server.test.ts # Server and tools tests
utils.test.ts # Utility functions tests
vitest.config.ts # Test configuration
tsconfig.json # TypeScript configuration
package.json # Dependencies and scripts
Important: Tests are kept in a separate tests/ folder, not mixed with production code in the src/ folder. This maintains clean separation between production and test code, making the codebase more organized and maintainable.
Run this command to build the mcp server:
CURSOR_DEV=true nix develop -c pnpm mcp-server:bundle
Note: The E2E mcp_services.feature preparation task (bundleMcpServer) rebuilds the bundle from current source automatically before the client connects; the standalone build command above is for IDE/client use.
The MCP server has Vitest unit tests under tests/ (not mixed with src/). Style ("small test" practice — stable boundary, data over mocks, focused assertions, concise makeMe): the unit-testing skill.
CURSOR_DEV=true nix develop -c pnpm mcp-server:test
For dough-test-optimization, measure that command as the ordinary feedback
path. Obtain per-test Vitest durations with
CURSOR_DEV=true nix develop -c pnpm -C mcp-server exec vitest run --reporter=json;
the JSON run is profiling evidence and does not replace normal verification.
src/tests/**/*.test.ts (see vitest.config.ts)makeMe data. Mock only backend HTTP responses (external dependency), with makeMe for API-shaped payloads.Format the MCP server code with:
CURSOR_DEV=true nix develop -c pnpm mcp-server:format
The unit tests cover:
.agents/skills/linting_formating/SKILL.mdAdd the below command to your AI MCP Server configuration.
For Cursor:
{
"mcpServers": {
"donut": {
"disabled": false,
"timeout": 60,
"transportType": "stdio",
"command": "node",
"args": [
"<doughnut root folder>/mcp-server/dist/mcp-server.bundle.mjs"
],
"env": {
"DONUT_API_BASE_URL": "http://localhost:9081",
"DONUT_API_AUTH_TOKEN": "your-token-here"
}
}
}
}
For VS Code (you need to put the following content into ./.vscode/mcp.json):
{
"servers": {
"donut": {
"command": "node",
"args": [
"<doughnut root folder>/mcp-server/dist/mcp-server.bundle.mjs"
],
"env": {
"DONUT_API_BASE_URL": "http://localhost:9081",
"DONUT_API_AUTH_TOKEN": "your-token-here"
}
}
}
}
For IntelliJ IDE you need to go to the general settings/tools/GitHub Copilot/MCP and press configure:
```json
{
"servers": {
"donut": {
"disabled": false,
"timeout": 60,
"transportType": "stdio",
"command": "node",
"args": [
"<doughnut root folder>/mcp-server/dist/mcp-server.bundle.mjs"
],
"env": {
"DONUT_API_BASE_URL": "http://localhost:9081",
"DONUT_API_AUTH_TOKEN": "your-token-here"
}
}
}
}
list_note_candidates - List every note whose title or alias matches a query, with notebook and folder to tell candidates apartget_note_graph - Fetch graph context for a note by ID and token limitread_note - Read one note in full by ID: the user's note text (treated as evidence) with notebook, folder, and the whole notebook's accepted Git revision (null when none)No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Backend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.
The English summary is being prepared. Showing the original description.
Backend Java production code, Spring Boot controllers/services/repositories, controller return values, imports, schema ERD pointer. Use when editing backend production Java.
The English summary is being prepared. Showing the original description.
Backend Java tests, controller-level stable-boundary tests, JUnit, @Nested, MakeMe builders, @Transactional, parameterized tests. Use when writing or changing backend JUnit tests.
The English summary is being prepared. Showing the original description.
related to donut CLI. Use when working on donut-cli.
The English summary is being prepared. Showing the original description.
Set up and run the Donut dev environment on Cursor Cloud VM (no Nix). Use when working on Cloud VM, running tests on Cloud VM, or encountering command errors related to missing nix. Triggers on: cloud VM, cloud agent, no nix available, /workspace path.
The English summary is being prepared. Showing the original description.
Regenerate docs/database-erd.md from MySQL information_schema (Mermaid ERD: foreign keys and key columns). Use after Flyway schema changes, new migrations, or when the diagram is stale. Triggers on: database ERD, database-erd.md, export_database_erd, schema diagram, ER diagram after migration.
The English summary is being prepared. Showing the original description.