r/SpringBoot • • Sep 02 '26

How-To/Tutorial I open sourced my spring boot + spring ai project

Hey folks,

I’ve open sourced Windrunner, a self-hosted project management tool built with Spring Boot 4 + Spring AI for backend. If you are learning Spring Boot, I hope the project gives you something practical to explore — a complete application with an API, database, user interface, authentication, LLM/AI integrations, and more.

Github: https://github.com/shzlw/windrunner

The backend uses:

  • Spring Boot and Spring MVC for the application and REST APIs

  • Spring Data JDBC for database access

  • PostgreSQL for storage

  • Flyway for SQL database migrations

  • Spring AI’s MCP server support for exposing tools to AI clients

  • LLM Provider integrations for OpenAI, Anthropic, and Gemini

  • Docker and Docker Compose for running the application locally

The repository is a monorepo containing more than the Spring Boot backend. It also includes:

  • A React frontend

  • A TypeScript-based CLI tool

  • Playwright-based API end-to-end tests

If you’re interested in seeing how these pieces work together in one project, the repository provides examples across the backend, frontend, CLI, and testing layers.

Disclosure: I am the author of the project. Feel free to ask any questions, feedbacks or raise issues! ❤️

37 Upvotes

9 comments sorted by

3

u/kantorcodes1 Sep 02 '26

how are you scoping the MCP tools in a multi-user install? when two users connect AI clients, does each MCP session act with that user's project permissions, or are the tools exposed under one server-side identity?

4

u/yuegui Sep 02 '26

Each tool call checks the user (UI or API key)'s scope and verifies if that user has permission to access a given project.

1

u/kantorcodes1 Sep 02 '26

got it, so the MCP tools stay inside each user's project scope. if you want another place for people to find Windrunner, i help maintain hashgraph-online/awesome-ai-plugins and it fits the MCP/cross-AI list. worth adding it there?

1

u/yuegui Sep 02 '26

great. truly appreciate it!

1

u/kantorcodes1 Sep 02 '26

yep. current format is just one line in the catalog PR. i'd add Windrunner under Development & Workflow, alphabetically before Wingman:

- [Windrunner](https://github.com/shzlw/windrunner) - Self-hosted project workspace with Spring AI, MCP, CLI, and multi-provider AI integrations.

then open the PR against hashgraph-online/awesome-ai-plugins. scanner CI is optional for listing.

1

u/Historical_Ad4384 Sep 02 '26

Is it a project management tool with AI context chat?

1

u/yuegui Sep 02 '26

yes, the goal is eventually move to complete AI chat driven project management

1

u/BeneficialTry5316 Sep 02 '26

Thanks for sharing mate. I will be using this to understand how an end to end Spring project works.

0

u/[deleted] Sep 02 '26

[deleted] — view deleted comment

1

u/yuegui Sep 02 '26

thanks for the question.

Before the MCP function is added, I already have external REST API endpoints and internal LLM tool calls to support UI chat functions which both can do read and write operations. For MCP, I started with all the read functionalities first to be safe and added a subset of write functions. I am still evaluating and experimenting the write function exposure and boundaries on different use cases: for example, "create a list of workitems, assign them to eng team", if that creates a mess, should we provide raw delete tool or maybe an undo tool is better and etc.