天气与股票数据服务

一个基于Spring Boot的MCP服务器,提供实时天气和股票价格数据获取功能,支持SSE数据流。

  • by AshishKumarKarn
  • Java
  • 云端部署
  • 1 星标
  • 更新于
在 GitHub 查看 ashishkumarkarn/mcp-weather-server

使用说明

MCP气象服务器

这个项目是一个使用Spring Boot用Java实现的MCP(模型上下文协议)服务器。它提供实时天气和股票价格数据。

建筑

  • Web MVC服务器配置:主分支使用Spring Web MVC来处理HTTP请求。
  • WebFlux MVC配置:The webflux-transport 该分支使用Spring WebFlux进行反应式、非阻塞的请求处理。
    • 这两种配置都是单独维护的,以进行灵活性和性能测试。

特性

  • 天气信息检索
  • 使用Ninja API实时获取股票价格
  • 流数据的SSE(服务器发送事件)支持
  • localhost:8081/sse连接的sse端点

使用的技术

  • Java 24
  • Spring Boot(Web MVC和WebFlux)
  • 等级8.14.3

API股价

使用以下工具实时获取股票价格 API忍者 服务。您必须为此服务提供一个API密钥。

设置API密钥

通过以下方式之一设置Ninja API密钥:

  • 作为环境变量:
    export API_NINJA_KEY=your_api_key_here
    
  • 或在 src/main/resources/application.properties:
    api.ninja.key=your_api_key_here
    

如何构建

./gradlew build

如何跑步

./gradlew bootRun

分支

  • main:Web MVC配置
  • webflux-transport:WebFlux配置

VSCode的MCP配置json

Spring webflux的webflux传输分支配置(反应式SSE)

{
"servers": {
    "my-mcp-server-488ad34d": {
      "url": "http://localhost:8081/sse",
      "type": "sse"
    }
  },
"inputs": []
}

Spring MVC主分支的配置(服务器发送事件)

{
"servers": {
    "my-mcp-server-488ad34d": {
      "url": "http://localhost:8081/sse",
      "type": "http"
    }
  },
"inputs": []
}

MCP提示示例

1. Fetch the current weather in New York City.
2. Get details coordinates for Samastipur.
3. What is the current stock price of Apple ?