翻译mcp服务器
使用Spring Boot和Spring AI构建的模型上下文协议(MCP)服务器,使用 当地Ollama的一个例子。
概述
此项目实现了一个公开翻译工具的MCP服务器。它利用Spring AI的MCP支持,并使用 translategemma 通过Ollama进行高质量翻译。
需求
- Java 25:该项目配置为使用Java 25。
- 奥拉玛:本地Ollama实例必须正在运行。
- translategemma模型:您需要提取用于翻译的特定模型。
- Gradle:用作构建工具(包括包装器)。
设置
- 安装Ollama:按照以下说明操作 ollama.com.
- 拉动翻译模型:
ollama pull translategemma:latest- 验证Ollama:确保Olama正在运行
http://localhost:11434.
构建并运行
构建项目
./gradlew build运行服务器
./gradlew bootRun注意:应用程序需要 --enable-native-access=ALL-UNNAMED,已在中预先配置 build.gradle.
清理建筑
./gradlew clean测试
运行所有测试
./gradlew test运行特定的测试类
./gradlew test --tests "OllamaChatClientServiceTest"测试类型
- 单元测试 (
OllamaChatClientServiceTest,TranslateToolTest):使用Mockito来模拟依赖关系。无需外部服务即可运行。 - 集成测试 (
TranslationIntegrationTest):需要一个正在运行的Ollama实例translategemma:latest模型。
配置
应用程序通过以下方式配置 src/main/resources/application.yml关键配置包括:
- 来源基地 URL:
http://localhost:11434 - 模型:
translategemma:latest(通过配置spring.ai.ollama.chat.model) - 服务器端口:
8080 - 日志记录:详细日志
com.gmail.arthurstrokovMCP协议在以下位置启用DEBUG水平。 - 提示模板:通过配置翻译提示
app.prompt.translate财产。
环境变量
目前,该应用程序依赖于 application.yml。您可以使用标准的Spring Boot环境覆盖这些 变量(如果需要):
SPRING_AI_OLLAMA_BASE_URL:Ollama的基本URL。SPRING_AI_OLLAMA_CHAT_MODEL:使用Olama模型。
项目结构
src/main/java/.../configuration/:ChatClient和MCP工具的Spring配置。src/main/java/.../service/:核心翻译逻辑(OllamaChatClientService实现ChatClientService).src/main/java/.../tool/:MCP工具定义使用@Tool注释。src/main/resources/:配置文件,包括提示模板。src/test/java/.../:单元测试(基于Mockito)和集成测试(@SpringBootTest).
MCP工具
服务器公开了以下工具:
translate:翻译提供的文本。
- 参数: text (待翻译文本)。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
