Token导航 LogoToken导航TokenDH.com
Springboot MCP Server logo
AI代理stdio官方级别未说明来源级核验

Springboot MCP Server

MCP Server

一个基于SpringBoot和SpringAI构建的模型上下文协议服务器,通过标准化协议接口提供AI驱动的工具和资源。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
代码生成数据验证JavaDocker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

BillFarber

提供方

BillFarber

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 8080:8080 epic-mcp-server:latest

详细介绍

SpringBoot MCP服务器

使用SpringBoot和SpringAI构建的模型上下文协议(MCP)服务器,通过标准化的协议接口提供AI驱动的工具和资源。

特性

  • MCP协议合规性:全面实施模型上下文协议规范
  • AI驱动的工具:使用SpringAI进行文本生成和数据分析
  • RESTful API:基于HTTP的MCP通信
  • 可扩展架构:易于添加新工具和资源
  • 生产就绪:基于SpringBoot最佳实践构建

可用工具

1.文本生成(generate_text)

根据提示使用AI生成文本内容。

参数:

  • prompt (string,必填):用于生成内容的文本提示
  • maxTokens (整数,可选):要生成的最大令牌数(默认值:100)

2.光学代码生成器(optic_code_generator)

生成用于数据转换的光学代码片段——灵感来自Rush的许多才能。

参数:

  • schema (字符串,可选):在光学代码中使用的模式名称(默认值:“schema”)
  • view (字符串,可选):在光学代码中使用的视图名称(默认值:“view”)

3.光学代码验证器(verify_optic_code)

验证光学代码的语法和逻辑正确性(叛逆随机验证)。

参数:

  • optic_code (字符串,必填):用于验证语法和有效性的光学代码

4.MarkLogic文档助手(marklogic_docs)

帮助您了解MarkLogic文档和指导。

参数:

  • prompt (string,必填):描述MarkLogic帮助您所需内容的用户提示

可用资源

  • mcp://server/info:服务器信息和功能
  • mcp://tools/examples:如何使用可用工具的示例

先决条件

  • Java 17或更高版本
  • 8.5级或更高

入门指南

1.克隆和构建

./gradlew build

2.配置AI(可选)

要启用AI功能,您有几个配置Azure OpenAI凭据的选项:

选项A:使用.env文件(建议用于开发)

创建一个 .env 项目根目录中的文件:

# Azure OpenAI Configuration - Keep this file secret!
AZURE_OPENAI_API_KEY=your-azure-openai-api-key
AZURE_OPENAI_ENDPOINT=https://your-resource-name.openai.azure.com/
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-35-turbo

重要提示:.env git会自动忽略该文件,并且不会将其提交到版本控制中。

选项B:使用环境变量

export AZURE_OPENAI_API_KEY=your-azure-openai-api-key
export AZURE_OPENAI_ENDPOINT=https://your-resource-name.openai.azure.com/
export AZURE_OPENAI_DEPLOYMENT_NAME=gpt-35-turbo

选项C:直接配置(不建议用于生产)

直接在中设置您的凭据 src/main/resources/application.properties:

spring.ai.azure.openai.api-key=your-azure-openai-api-key
spring.ai.azure.openai.endpoint=https://your-resource-name.openai.azure.com/
spring.ai.azure.openai.chat.options.deployment-name=gpt-35-turbo
spring.ai.azure.openai.chat.options.model=gpt-3.5-turbo

3.运行服务器

./gradlew bootRun

服务器将于启动 http://localhost:8080

4.测试服务器

检查服务器运行状况:

curl -s http://localhost:8080/mcp/health | jq .

获取服务器功能:

curl -s http://localhost:8080/mcp/capabilities | jq .

Docker部署

MCP服务器可以使用Docker轻松容器化和部署。该构建使用Spring Boot的Cloud Native Buildpack来优化生产就绪的映像。

1.构建Docker镜像

使用Gradle构建Docker镜像 bootBuildImage 任务:

./gradlew clean bootBuildImage

这将创建一个名为的Docker镜像 epic-mcp-server:latest (约293MB)针对x86_64架构进行了优化。

2.从Docker Compose开始

使用Docker Compose启动容器化MCP服务器:

docker compose up

或者在后台运行:

docker compose up -d

服务器将在以下时间可用 http://localhost:8080

3.测试容器化服务器

容器运行后,使用以下curl命令测试MCP服务器:

检查服务器运行状况

curl -s http://localhost:8080/mcp/health

列出可用工具

curl -H "Content-Type: application/json" \
     -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
     http://localhost:8080/mcp

测试文本生成工具

curl -H "Content-Type: application/json" \
     -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"generate_text","arguments":{"prompt":"Write a haiku about Docker containers","maxTokens":50}}}' \
     http://localhost:8080/mcp

测试光学代码生成器

curl -H "Content-Type: application/json" \
     -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"optic_code_generator","arguments":{"prompt":"Create optic code to read user profiles from the database"}}}' \
     http://localhost:8080/mcp

4.停止集装箱

要停止Docker容器:

docker compose down

5.替代Docker命令

你也可以直接用Docker运行镜像:

# Run the container directly
docker run -p 8080:8080 epic-mcp-server:latest

# Run in the background
docker run -d -p 8080:8080 --name epic-mcp-server epic-mcp-server:latest

# Stop the container
docker stop epic-mcp-server
docker rm epic-mcp-server

当前状态

MCP服务器工作:服务器实现完整的MCP协议,并响应所有工具调用 ✅ 模拟AI响应:工具在未配置AI时提供模拟响应 ⚠️ Azure OpenAI集成:目前提供模拟响应(SpringAI自动配置需要调试)

测试

服务器完全可以进行MCP协议测试。所有工具都适用于模拟响应。MCP工具调用

列出可用工具

curl -s -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "tools/list",
    "params": {}
  }' | jq .

测试文本生成工具

curl -s -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "2",
    "method": "tools/call",
    "params": {
      "name": "generate_text",
      "arguments": {
        "prompt": "Write a haiku about coding",
        "maxTokens": 50
      }
    }
  }' | jq .

列出可用资源

curl -s -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "3",
    "method": "resources/list",
    "params": {}
  }' | jq .

阅读资源

curl -s -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "4",
    "method": "resources/read",
    "params": {
      "uri": "mcp://tools/examples"
    }
  }' | jq .

初始化MCP连接

curl -s -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "initialize",
    "params": {}
  }' | jq .

MCP客户端集成

初始化连接

POST /mcp
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "initialize",
  "params": {}
}

列出可用工具

POST /mcp
{
  "jsonrpc": "2.0",
  "id": "2",
  "method": "tools/list",
  "params": {}
}

调用工具

POST /mcp
{
  "jsonrpc": "2.0",
  "id": "3",
  "method": "tools/call",
  "params": {
    "name": "generate_text",
    "arguments": {
      "prompt": "Write a haiku about programming",
      "maxTokens": 50
    }
  }
}

列出资源

POST /mcp
{
  "jsonrpc": "2.0",
  "id": "4",
  "method": "resources/list",
  "params": {}
}

阅读资源

POST /mcp
{
  "jsonrpc": "2.0",
  "id": "5",
  "method": "resources/read",
  "params": {
    "uri": "mcp://server/info"
  }
}

发展

添加新工具

  1. 更新 listTools() 方法in McpService 包括你的新工具
  2. 在中为您的工具添加案例 callTool() 方法
  3. 将工具逻辑实现为私有方法

添加新资源

  1. 更新 listResources() 方法in McpService
  2. 在中为您的资源添加案例 readResource() 方法
  3. 实现资源读取逻辑

运行测试

./gradlew test

项目结构

src/
├── main/
│   ├── java/com/example/mcpserver/
│   │   ├── controller/          # REST API controllers
│   │   ├── model/              # MCP protocol models
│   │   ├── service/            # Business logic
│   │   └── McpServerApplication.java
│   └── resources/
│       └── application.properties
└── test/
    └── java/com/example/mcpserver/
        └── McpServerApplicationTests.java

配置

中的关键配置选项 application.properties:

  • server.port:服务器端口(默认值:8080)
  • spring.ai.azure.openai.api-key:用于AI功能的Azure OpenAI API密钥
  • spring.ai.azure.openai.endpoint:Azure OpenAI服务端点
  • spring.ai.azure.openai.chat.options.deployment-name:您的部署名称
  • spring.ai.azure.openai.chat.options.model:要使用的AI模型
  • 调试日志级别

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 提交拉取请求

许可证

该项目根据MIT许可证获得许可。

了解更多

目录标签

目录标签

代码生成数据验证JavaDockerAI工具本地部署协议服务器文本生成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP