# MCP SERVER **Repository Path**: obslight/mcp-server ## Basic Information - **Project Name**: MCP SERVER - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-03 - **Last Updated**: 2025-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MCP演示项目 - Java版 这是一个完整的MCP(Model Context Protocol)演示项目的Java实现,展示如何使用Java创建MCP服务器和客户端。 ## 📁 项目结构 ``` mcp-demo-java/ ├── src/main/java/com/mcp/demo/ │ ├── MCPDemoApp.java # 主程序 - 交互式演示 │ ├── model/ │ │ └── WeatherData.java # 天气数据模型 │ └── server/ │ ├── WeatherService.java # 真实天气API服务 │ └── MockWeatherService.java # 模拟天气服务(演示用) ├── pom.xml # Maven配置文件 └── README.md # 本文件 ``` ## 🚀 快速开始 ### 环境要求 - JDK 17 或更高版本 - Maven 3.6+ ### 1. 编译项目 ```powershell cd d:\亚为\mcp-demo-java mvn clean package ``` ### 2. 运行演示 #### 方式1: 快速演示(推荐) ```powershell java -jar target/mcp-demo-java-1.0.0.jar --quick ``` #### 方式2: 完整交互模式 ```powershell java -jar target/mcp-demo-java-1.0.0.jar ``` #### 方式3: 使用Maven直接运行 ```powershell # 快速演示 mvn exec:java -Dexec.mainClass="com.mcp.demo.MCPDemoApp" -Dexec.args="--quick" # 交互模式 mvn exec:java -Dexec.mainClass="com.mcp.demo.MCPDemoApp" ``` ## 💡 使用示例 ### 示例对话 ``` 👤 你: 北京今天天气怎么样? 🔧 [MCP调用] 工具: queryWeather 📋 [参数] city='Beijing' 🤖 AI助手回复: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📍 北京, CN 🌡️ 温度: 15.0°C 💧 湿度: 45% 🌬️ 风速: 3.4 m/s 🌤️ 天气: 晴天 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 💡 建议: 天气适宜,适合户外活动 ``` ## 🎯 MCP调用提示词 ### 基础查询 - `北京今天天气怎么样?` - `查询上海的温度` - `深圳现在冷不冷?` ### 智能决策 - `我明天要去北京出差,需要带什么衣服?` - `上海今天适合跑步吗?` - `深圳现在适合户外活动吗?` ### 对比查询 - `北京和上海哪个城市更热?` - `深圳和杭州的天气有什么区别?` ## 🔧 配置真实API(可选) ### 1. 添加环境变量配置 在 `src/main/resources/` 创建 `.env` 文件: ```properties OPENWEATHER_API_KEY=你的OpenWeather-API-Key OPENAI_API_KEY=你的OpenAI-API-Key OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-4o ``` ### 2. 获取API Key - **OpenWeather API**: https://openweathermap.org/api (免费注册) - **OpenAI API**: https://platform.openai.com/api-keys ## 📚 核心类说明 ### MCPDemoApp 主演示程序,提供两种运行模式: - **快速演示**: 自动运行3个预设问题 - **交互模式**: 支持自由提问 ### WeatherData 天气数据模型类,包含: - 数据字段: 城市、温度、湿度、风速等 - 格式化方法: `format()` 美化输出 - 建议生成: `getSuggestion()` 根据温度给建议 ### MockWeatherService 模拟天气服务,无需API Key即可演示: - 支持城市: 北京、上海、深圳、杭州 - 随机生成合理的天气数据 - 模拟网络延迟 ### WeatherService 真实天气API服务: - 调用OpenWeather API - 支持查询全球城市天气 - 需要配置API Key ## 🎓 技术栈 - **Java 17**: 现代Java特性 - **Maven**: 项目管理和构建 - **OkHttp**: HTTP客户端 - **Gson**: JSON解析 - **Lombok**: 简化代码 - **SLF4J**: 日志框架 ## 🌟 项目特点 - ✅ **开箱即用** - 无需API Key即可演示 - ✅ **可视化流程** - 清晰展示MCP调用过程 - ✅ **模拟数据** - 内置模拟服务,快速体验 - ✅ **真实API** - 支持接入真实天气服务 - ✅ **跨平台** - Java标准库,支持Windows/Mac/Linux - ✅ **易扩展** - 清晰的分层架构 ## 📖 学习路径 1. **运行演示** - 了解MCP基本工作流程 2. **阅读代码** - 理解各个类的职责 3. **修改模拟数据** - 添加更多城市 4. **接入真实API** - 配置环境变量 5. **扩展功能** - 添加更多MCP工具 ## 🔍 常见问题 ### Q: 编译失败怎么办? A: 确保安装了JDK 17+和Maven 3.6+,运行 `mvn -v` 检查版本 ### Q: 如何添加更多城市? A: 编辑 `MockWeatherService.java` 的 `initMockData()` 方法 ### Q: 如何使用DeepSeek? A: 修改 `.env` 文件中的配置: ```properties OPENAI_BASE_URL=https://api.deepseek.com OPENAI_MODEL=deepseek-chat ``` ## 📝 许可证 MIT License --- **Happy Coding! 🎉**