An MCP server that provides access to the jOOQ documentation
A Model Context Protocol (MCP) server that provides AI models with access to jOOQ documentation. This Spring Boot application uses Spring AI to expose jOOQ documentation as MCP tools, allowing AI systems to query and retrieve information about jOOQ features, SQL examples, and best practices.
The MCP server provides the following tools:
Clone the repository:
git clone <repository-url>
cd jooq-mcpBuild the project:
./mvnw clean installRun the application:
./mvnw spring-boot:runThe MCP server will start and be available for connections from MCP clients.
Build the JAR file:
./mvnw clean packageBuild the Docker image:
docker build -t jooq-mcp .Run the Docker container:
docker run -p 8080:8080 jooq-mcpThis application is configured for deployment on Fly.io:
Install Fly CLI and authenticate:
brew install flyctl # or your preferred installation method
fly auth loginDeploy the application:
./mvnw clean package
fly deployThe application includes health checks at /actuator/health and is configured with auto-scaling.
This server can be used with any MCP-compatible AI client. The server exposes tools that allow AI models to:
The application can be configured via application.properties:
# MCP Server Configuration
spring.ai.mcp.server.name=jooq-documentation-mcp
spring.ai.mcp.server.version=1.0.0
spring.ai.mcp.server.type=SYNC
spring.ai.mcp.server.capabilities.tool=true
# Cache Configuration
spring.cache.type=caffeine
spring.cache.caffeine.spec=maximumSize=100,expireAfterWrite=1h
# jOOQ Documentation Crawler Configuration
jooq.documentation.crawler.max-depth=4
jooq.documentation.crawler.max-urls-per-section=100
jooq.documentation.crawler.timeout-ms=10000
jooq.documentation.crawler.cache-duration-hours=24
# Server Configuration - SSE Buffer Settings
server.tomcat.max-http-response-header-size=64KB
server.tomcat.max-swallow-size=10MBWhen connected to an MCP client, you can ask questions like:
The server will fetch the relevant documentation and provide detailed answers with code examples.
The application consists of:
src/main/resources/docs/ for faster accessRun the test suite:
./mvnw testThe application uses:
To add new tools, create methods annotated with @Tool in the JooqDocumentationService class.