jOOQ MCP 服务器
一个模型上下文协议(MCP)服务器,为AI模型提供访问jOOQ文档的功能。这个Spring Boot应用程序利用Spring AI将jOOQ文档作为MCP工具暴露出来,使AI系统能够查询和检索有关jOOQ功能、SQL示例和最佳实践的信息。
特点/特性
MCP服务器提供以下工具:
- 搜索文档在jOOQ文档中搜索特定主题
- 获取SQL示例获取针对特定操作的SQL查询构建示例
- 获取代码生成指南检索 jOOQ 代码生成文档
- 获取数据库支持获取特定于数据库的支持信息
- 获取QueryDSL引用获取特定语句类型的查询DSL参考
- 获取高级功能访问高级 jOOQ 功能的文档
入门指南
先决条件
- Java 21 或更高版本
- Maven 3.6及以上版本
运行应用程序
- 克隆仓库:
git clone
cd jooq-mcp- 构建项目:
./mvnw clean install- 运行应用程序:
./mvnw spring-boot:runMCP服务器将启动并可供MCP客户端连接。
Docker 部署
- 构建JAR文件:
./mvnw clean package- 构建Docker镜像:
docker build -t jooq-mcp .- 运行Docker容器:
docker run -p 8080:8080 jooq-mcpFly.io 部署
此应用程序已配置为在 Fly.io 上部署:
- 安装Fly CLI并进行身份验证:
brew install flyctl # or your preferred installation method
fly auth login- 部署应用程序:
./mvnw clean package
fly deploy该应用程序包含健康检查功能,用于 /actuator/health 并且配置了自动扩展功能。
与MCP客户端一起使用
这台服务器可以与任何兼容MCP的人工智能客户端一起使用。服务器提供了工具,使人工智能模型能够:
- 按关键字搜索 jOOQ 文档
- 检索特定的SQL示例和代码片段
- 访问数据库特定的配置信息
- 获取代码生成设置的指导
- 查找有关高级 jOOQ 功能的信息
配置
该应用程序可以通过以下方式配置: 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=10MB示例用法
当连接到MCP客户端时,您可以提出诸如以下问题:
- “如何在 jOOQ 中创建 SELECT 语句?”
- “给我举一些jOOQ INSERT操作的例子”
- “jOOQ支持哪些数据库?”
- “我如何配置 jOOQ 代码生成?”
- “我如何在jOOQ中使用事务?”
服务器将获取相关文档,并提供包含代码示例的详细答案。
建筑学
该应用程序包括:
- Jooq文档服务主要服务类,包含带有@Tool注解的方法以实现MCP集成
- 本地Jooq文档服务提供本地文档索引和基于TF-IDF评分的全文搜索功能
- 倒排索引实现了带有相关性评分的高级全文搜索功能
- Jooq文档爬虫爬取并获取jOOQ文档以进行本地存储
- Jooq文档获取器负责解析和提取文档内容
- McpConfiguration 翻译为中文是“MCP配置”MCP工具注册的Spring配置
- 缓存基于缓存的咖啡因技术以提升性能
主要特点
- 本地文档存储文档本地存储在
src/main/resources/docs/以便更快访问 - 全文搜索使用TF-IDF评分进行高级搜索,以提高相关性
- 高效的索引内存中的倒排索引,用于快速文档检索
- 代码示例提取代码示例的自动提取与分类
测试
运行测试套件:
./mvnw test发展
该应用程序使用:
- Spring Boot 3.5.4
- 支持MCP服务器的Spring AI 1.0.0
- 用于HTML解析的JSoup
- 用于缓存的咖啡因(或:缓存加速的咖啡因,但此表达不常见,通常“caffeine”在此语境下可能指一种缓存系统或工具名,若直接翻译可能产生歧义,具体需根据上下文确定)
要添加新工具,请创建带有注解的方法 @Tool 在……中 JooqDocumentationService 班级。
