首页/其他工具与集成/my-mcp-stdio-server

my-mcp-stdio-server

查看源码
2025-5-12
Words 1180Read Time 3 min
Score:85

基于Spring Boot的MCP服务器,提供天气查询工具,支持同步和异步操作模式。

Spring AI MCP Weather STDIO Server

这是一个 Spring Boot 启动项目,展示了如何使用国家气象局(weather.gov)API 构建一个提供天气相关工具的模型上下文协议(Model Context Protocol, MCP)服务器。该项目通过 STDIO 传输实现,展示了 Spring AI MCP Server Boot Starter 的功能。
更多信息,请参阅 MCP Server Boot Starter 参考文档。

先决条件

  • Java 17 或更高版本
  • Maven 3.6 或更高版本
  • 了解 Spring Boot 和 Spring AI 概念
  • (可选)Claude Desktop 用于 AI 助手集成

关于 Spring AI MCP Server Boot Starter

spring-ai-mcp-server-spring-boot-starter 提供了以下功能:
  • 自动配置 MCP 服务器组件
  • 支持同步和异步操作模式
  • STDIO 传输层实现
  • 通过 Spring bean 灵活注册工具
  • 变更通知功能

项目结构

构建与运行

服务器使用 STDIO 传输模式,通常由客户端自动启动。构建服务器 jar 文件:

工具实现

该项目展示了如何使用 Spring 的依赖注入和自动配置来实现和注册 MCP 工具:
自动配置会自动将这些工具注册到 MCP 服务器。你可以有多个生成 ToolCallbacks 列表的 bean,自动配置会将它们合并。

可用工具

1. 天气预报工具

2. 天气警报工具

客户端集成

Java 客户端示例

手动创建 MCP 客户端

ClientStdio.java 展示了如何手动实现 MCP 客户端。
为了获得更好的开发体验,可以考虑使用 MCP Client Boot Starters。这些启动器支持自动配置多个 STDIO 和/或 SSE 连接到 MCP 服务器。请参阅 starter-default-client 和 starter-webflux-client 项目以获取示例。

使用 MCP Client Boot Starter

使用 starter-default-client 连接到天气 starter-stdio-server
  1. 按照 starter-default-client 的 readme 说明构建 mcp-starter-default-client-0.0.1-SNAPSHOT.jar 客户端应用程序。
  1. 使用配置文件运行客户端:

Claude Desktop 集成

要与 Claude Desktop 集成,请将以下配置添加到 Claude Desktop 设置中:
/absolute/path/to/ 替换为实际构建的 jar 文件路径。

配置

应用属性

所有属性都以 spring.ai.mcp.server 为前缀:

关键配置说明

  1. STDIO 模式要求
      • 禁用 Web 应用类型 (spring.main.web-application-type=none)
      • 禁用 Spring 横幅 (spring.main.banner-mode=off)
      • 清除控制台日志模式 (logging.pattern.console=)
  1. 服务器类型
      • SYNC(默认):使用 McpSyncServer 进行简单的请求-响应模式
      • ASYNC:使用 McpAsyncServer 进行非阻塞操作,支持 Project Reactor

其他资源

上一篇
mcp-metricool
下一篇
browser-control-mcp