MCP:基于Java SDK 实现一个 Mcp Server

在上一篇文章中介绍了 Java SDK Client 源码,并实现一个 Mcp Client 调用现成的 @modelcontextprotocol/server-filesystem,本文将实现一个 Mcp Server。

什么 Mcp Server

Mcp Server 是一个轻量级程序,每个程序都通过标准化的 Model Context Protocol 公开特定功能。可以向Mcp Client 三项核心能力 tools、resources 以及 templates。

Mcp Server 三项核心能力

能力 说明
tools 工具,提供给应用使用
resources 资源,提供数据,提供给大模型使用,比如数据库、文件等
templates 模版,提供给用户使用

Mcp Server 提供通信方式

  • stdio
  • sse

Java SDK 源码

  • transport 通信协议
    • HttpServletSseServerTransport sse方式
    • StdioServerTransport 本地标准方式
  • Mcp Server Mcp server 通用接口 内部 AsyncSpec 和 SyncSpec 类分别创建异步和同步 Mcp Server
  • McpAsyncServer 创建异步 mcp server
  • McpSyncServer 创建同步 mcp server
  • McpServerFeatures Mcp Server 特性定义,比如服务器的版本、能力、工具、提示词等管理
相关推荐
赴前尘7 小时前
golang 查看指定版本库所依赖库的版本
开发语言·后端·golang
Marktowin13 小时前
Mybatis-Plus更新操作时的一个坑
java·后端
赵文宇13 小时前
CNCF Dragonfly 毕业啦!基于P2P的镜像和文件分发系统快速入门,在线体验
后端
程序员爱钓鱼13 小时前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
Libby博仙14 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
源代码•宸14 小时前
Golang原理剖析(Map 源码梳理)
经验分享·后端·算法·leetcode·golang·map
小周在成长14 小时前
动态SQL与MyBatis动态SQL最佳实践
后端
瓦尔登湖懒羊羊15 小时前
TCP的自我介绍
后端
小周在成长15 小时前
MyBatis 动态SQL学习
后端