当前位置: 首页 > news >正文

纯Java实现STDIO通信的MCP Server与客户端验证

在 MCP 协议中通过 STDIO(标准输入/输出)通信 是一种进程间通信(IPC)方式,服务器与客户端通过标准输入(stdin)和标准输出(stdout)交换数据。

关于STDIO 详细介绍以及如何基于Spring Boot项目实现 STDIO 的MCP服务器 以及如何调用和验证服务器可以参考:

基于Spring Boot实现STDIO通信的MCP Server与验证

Spring Boot 实现MCP Server相对来说更为简单,本篇介绍在不使用Spring Boot的状况下,如何实现实现 STDIO 的MCP服务器以及调用验证。

实例说明

本篇和Spring Boot篇类似,实现一个简单加法的 Tool。

简单起见,仅演示MCP的Tool的功能,为了更简单,该工具实现的功能只是一个简单的加法运算。

在实际的应用中,大模型已经具备了加法等功能,MCP的Tool的功能是为了补全不具备的功能,比如实时查询天气预报,获取内容数据等。

  • 开发工具: VS Code

项目创建

创建一个mcp-pure-java 的项目目录,增加一个 pom.xml 文件,然后创建 src 及相关的子目录,创建完成的项目结构如下:

依赖导入

这里主要导入的是io.modelcontextprotocol.sdk.mcp

        <dependency><groupId>io.modelcontextprotocol.sdk</groupId><artifactId>mcp</artifactId></dependency>

目前的最新版本是0.9.0, 使用dependencyManagement进行管理。

<dependencyManagement><dependencies><dependency><groupId>io.modelcontextprotocol.sdk</groupId><artifactId>mcp-bom</artifactId><version>0.9.0</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

创建服务器文件

这里添加一个Main 的类,该类有一个主入口main() 方法,简单起见,该演示所有的代码都放在主函数体中。

代码实现服务器的步骤主要有:

  1. 创建服务传输程序
  2. 创建一个工具
  3. 创建同步服务器

完整的代码如下所示:

/*** Description:* Author: XM* Date: 2025-05-03*/
package com.osxm.ai.mcp.purejava;import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.modelcontextprotocol.server.McpServer;
import io.modelcontextprotocol
http://www.xdnf.cn/news/270397.html

相关文章:

  • 【Java】2025 年 Java 学习路线:从入门到精通
  • 【进阶】C# 委托(Delegate)知识点总结归纳
  • Spring事务管理
  • [计算机网络]数据链路层
  • 1993年地级市民国铁路开通数据(地级市工具变量)
  • Servlet (一)
  • 大数据技术:从趋势到变革的全景探索
  • Servlet+tomcat
  • 链表的回文结构题解
  • Linux 的 epoll 与 Windows 的 IOCP 详解
  • Mybatis学习(上)
  • 04 基于 STM32 的时钟展示程序
  • 《算法导论(第4版)》阅读笔记:p4-p5
  • HTML与CSS实现风车旋转图形的代码技术详解
  • Webug4.0靶场通关笔记10- 第14关链接注入
  • 深度学习助力校园学生自杀预防
  • wsl2 中使用串口
  • 【信息系统项目管理师】【论文】项目背景示例
  • 66. Java 嵌套类
  • 二叉树最近公共祖先(后序遍历,回溯算法)
  • 强化学习--4.策略梯度方法(蒙特卡罗)
  • 数字信号处理学习笔记--Chapter 0 数字信号处理概述
  • Python 部分内置函数及其用法详解
  • HTML打印设置成白色,但是打印出来的是灰色的解决方案
  • mcp+llm+rag
  • 隐藏元素的多种方式
  • TFT(薄膜晶体管)和LCD(液晶显示器)区别
  • zabbix 重置登录密码
  • 【文献阅读】全球干旱地区植被突变的普遍性和驱动因素
  • 陶瓷陶器缺陷检测VOC+YOLO格式938张2类别