3分钟教你开发一个自己的MCP服务

该文章已生成可运行项目,

你是否想让自己的AI助手拥有专属的“工具箱”?MCP(Model Context Protocol)就是让AI和你的服务无缝对接的桥梁!本教程将手把手教你用Spring Boot开发一个简单的MCP服务,只需3分钟,轻松上手!

如果还不了解MCP是什么的可以看下之前的文章
通俗易懂介绍MCP是什么,MCP的使用

1. 环境准备

  • JDK 17 及以上
  • Maven 3.6 及以上
  • 推荐使用IDEA、VSCode等IDE

2. 快速创建项目

1)克隆项目

git clone https://github.com/beilingai/simple-mcp-server.git
cd simple-mcp-server

2)编译并运行

mvn clean package
java -jar target/mcp-server-1.0-SNAPSHOT.jar

服务默认启动在 8080 端口。

3. 代码简介

添加 MCP SDK 依赖

<!-- Model Context Protocol SDK,核心MCP功能 -->
<dependency>
	<groupId>io.modelcontextprotocol.sdk</groupId>
	<artifactId>mcp</artifactId>
	<version>0.9.0</version>
</dependency>

<!-- MCP Spring WebMVC集成,支持Spring MVC框架 -->
<dependency>
	<groupId>io.modelcontextprotocol.sdk</groupId>
	<artifactId>mcp-spring-webmvc</artifactId>
	<version>0.9.0</version>
</dependency>

添加MCP 配置类:

@Configuration
public class McpConfig {

    @Bean
    WebMvcSseServerTransportProvider webMvcSseServerTransportProvider(ObjectMapper mapper) {
        return new WebMvcSseServerTransportProvider(mapper, "/mcp/message");
    }

    @Bean
    RouterFunction<ServerResponse> mcpRouterFunction(WebMvcSseServerTransportProvider transportProvider) {
        return transportProvider.getRouterFunction();
    }

}

创建MCP服务器:

McpSyncServer server = McpServer.sync(transportProvider)
		.serverInfo("double-color-ball-mcp-server", "1.0.0")
		.capabilities(McpSchema.ServerCapabilities.builder()
				.tools(true)
				.resources(true, true)
				.prompts(true)
				.logging()
				.build())
		.build();

实现一个工具:

private McpServerFeatures.SyncToolSpecification getDoubleColorBallNumbers() {
    // 1. 定义工具描述和参数
    String desc = "生成真实随机的双色球号码";
    String schema = "{...}"; // 参数定义(略)

    // 2. 实现工具逻辑
    return new McpServerFeatures.SyncToolSpecification(
        new McpSchema.Tool("double-color-ball-numbers", desc, schema),
        (exchange, arguments) -> {
            String content = generateDoubleColorBallContent(count);
            return new McpSchema.CallToolResult(
                List.of(new McpSchema.TextContent(content)), false
            );
        }
    );
}

将工具添加到MCP服务器:

server.addTool(getDoubleColorBallNumbers());

4. 在AI助手中调用MCP

Cherry Studio 中调用示例

Cherry Studio 的安装请参考:Cherry Studio下载和安装教程

  1. 打开设置,添加MCP服务器:http://localhost:8080/sse

image-20250422234011162

  1. 在聊天窗口输入:请帮我生成3组双色球号码,选择上面添加的MCP服务器。可以看到调用了我们的 MCP 工具生成了双色球号码

image-20250422234547183

Cursor 中调用示例

  1. 打开设置,添加MCP服务器:
    image-20250422235151285

如果有多个MCP服务器用逗号隔开
image-20250422235319687

{
   "mcpServers": {
      "double-color-ball-mcp-server": {
         "url": "http://localhost:8080/sse"
      }
   }
}
  1. 在聊天窗口输入:请帮我生成3组双色球号码。选择Agent

image-20250422234846552

可以看到调用了我们的 MCP 工具

image-20250422233529712

至此,我们已经了解了MCP的基本概念和使用,以及如何开发一个简单的MCP服务。


🔥《零基础AI实战系列教程更新中》🚀
✅ 已更新:AI实践虚拟化平台安装
✅ 已更新:Docker Desktop 安装
✅ 已更新:Ollama安装教程
✅ 已更新:DeepSeek私有化部署
✅ 已更新:Dify私有化部署
✅ 已更新:Dify接入大模型
✅ 已更新:Dify + DeepSeek搭建本地私有化知识库
✅ 已更新:Dify应用类型的选择
✅ 已更新:Dify升级指南
✅ 已更新:Dify节点的详细介绍(上)
✅ 已更新:Dify节点的详细介绍(中)
✅ 已更新:Dify节点的详细介绍(下)
✅ 已更新:RagFlow本地部署和使用
✅ 已更新:基于大模型的智能问数NL2SQL
✅ 已更新:用通俗易懂的话告诉你MCP是什么,MCP的使用
✅ 已更新:MCP接入方式介绍
✅ 已更新:3分钟教你开发一个自己的MCP服务


👉 关注公众号"北灵聊AI",一个专注于技术的博主

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值