使用说明
项目简介
本项目 'MCP-Server' 是一个基于 Model Context Protocol (MCP) 的轻量级服务器示例集合,旨在演示如何通过 MCP 协议向 LLM 客户端提供结构化的上下文信息和外部功能。它包含了天气服务和金融数据服务两个主要模块,以及一个天气演示服务,展示了 MCP 服务器的核心功能:资源管理、工具注册与执行 以及 Prompt 模板定义。
主要功能点
-
天气服务 (Weather Server):
- 天气警报 (Weather Alerts): 获取美国特定州的天气警报信息。
- 天气预报 (Weather Forecast): 获取指定地点的详细天气预报。
- Freshdesk 工单创建 (Freshdesk Integration): 在 Freshdesk 客户服务平台中创建支持工单。
-
金融模块 (Finance Module):
- 盘中市场数据 (Intraday Market Data): 使用 AlphaVantage API 获取股票市场盘中数据。
- 技术分析 (Technical Analysis):
- 计算移动平均线 (Moving Averages):支持短期和长期移动平均线计算。
- 计算相对强弱指数 (RSI):评估股票买卖超卖情况。
- 交易建议 (Trade Recommendations): 基于技术指标生成综合交易建议。
-
Prompt 模板 (Prompts): 金融模块预置了股票分析和比较、构建日内交易策略等 Prompt 模板,方便 LLM 客户端调用以进行更复杂的分析任务。
安装步骤
-
克隆仓库:
git clone https://github.com/akramsheriff5/MCP-Server.git cd MCP-Server -
设置 Python 虚拟环境:
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows -
安装通用依赖:
pip install -r requirements.txt -
安装金融模块依赖 (如果需要使用金融服务):
cd finance pip install -r requirements.txt cd .. # 返回项目根目录 -
配置 Freshdesk API 密钥 (可选): 如果需要使用 Freshdesk 工单创建工具,需要在项目根目录下创建 '.env' 文件,并添加 Freshdesk API 相关的环境变量。具体环境变量名称请参考 'main.py' 文件中 'os.getenv("FRESHDESK_API")' 和 'os.getenv('FRESHDESK_API_AUTH')' 的使用方式。注意:仓库中 'weather-demo.py' 文件硬编码了 Freshdesk API 密钥,正式环境请勿使用。
服务器配置
本仓库包含多个可独立运行的 MCP 服务器,以下是针对不同服务器的 MCP 客户端配置示例 (JSON 格式):
1. 天气服务器 (main.py):
{ "server_name": "weather-server", "command": "python", "args": ["main.py"] }
参数说明:
- 'server_name': 服务器名称,客户端用于识别和调用。可以自定义,例如 "weather-service"。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 命令参数,指定运行 'main.py' 文件。
2. 金融服务器 (finance/finance_server.py):
{ "server_name": "finance-server", "command": "python", "args": ["finance/finance_server.py"] }
参数说明:
- 'server_name': 服务器名称,例如 "stock-analyzer"。
- 'command': 启动命令,'python' 解释器。
- 'args': 命令参数,指定运行 'finance_server.py' 文件,注意路径。
3. 天气演示服务器 (weather-demo.py):
{ "server_name": "weather-demo-server", "command": "python", "args": ["weather-demo.py"] }
参数说明:
- 'server_name': 服务器名称,例如 "simple-weather-demo"。
- 'command': 启动命令,'python' 解释器。
- 'args': 命令参数,指定运行 'weather-demo.py' 文件。
将以上 JSON 配置信息添加到您的 MCP 客户端配置中,客户端即可连接并使用相应的 MCP 服务器提供的功能。 请根据实际需要选择启动和配置相应的服务器。
基本使用方法
-
启动 MCP 服务器: 根据上述 "服务器配置" 部分,选择需要的功能模块,配置 MCP 客户端并启动对应的服务器 (例如,运行 'python main.py' 启动天气服务器)。
-
MCP 客户端与服务器通信: MCP 客户端通过 JSON-RPC 协议与服务器进行通信。客户端可以发送请求调用服务器注册的工具 (Tools)、访问托管的资源 (Resources) 或请求渲染 Prompt 模板 (Prompts)。
-
调用工具 (Tools): 客户端可以请求服务器执行如 'get_alerts' (获取天气警报)、'calculate_moving_averages' (计算移动平均线) 或 'create_freshdesk_ticket' (创建 Freshdesk 工单) 等工具。调用工具时,客户端需要提供工具所需的参数。
-
访问资源 (Resources): 客户端可以访问服务器提供的资源,例如金融服务器提供的 'config://app' 资源,以获取配置信息。
-
使用 Prompt 模板 (Prompts): 客户端可以请求服务器渲染预定义的 Prompt 模板,例如 'analyze_ticker' (股票分析) 或 'compare_tickers' (股票比较),以生成用于 LLM 交互的 Prompt 内容。客户端可以根据需要传递参数给 Prompt 模板。
详细的 MCP 协议和客户端使用方法请参考 Model Context Protocol 的官方文档。 本示例仓库旨在帮助开发者快速理解和上手 MCP 服务器的开发和部署。
信息
分类
网页与API