股票市场数据服务器

一个基于Finnhub API提供股票市场数据和分析工具的机器对话协议(MCP)服务器。

  • by sverze
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 sverze/stock-market-mcp-server

使用说明

股票市场MCP服务器

一种机器对话协议(MCP)服务器,使用Finnhub API提供股票市场数据和分析工具。

特性

  • 股票代码查找
  • 实时股票价格
  • 基本财务指标
  • 市场和公司新闻
  • 历史价格数据(蜡烛)
  • 常见分析任务的预构建提示

先决条件

  • Python 3.8或更高版本
  • 紫外线 -快速Python包安装程序和解析器
  • Finnhub API密钥(在 finnhub.io)
  • Claude Desktop(用于与Claude一起使用MCP服务器)

安装说明

1.克隆存储库

git clone https://github.com/yourusername/stock-market-mcp-server.git
cd stock-market-mcp-server

2.设置紫外线环境

uv是一个快速、可靠的Python包安装程序和虚拟环境管理器。以下是如何设置您的环境:

# Install uv if you don't have it already
pip install uv

# Create a virtual environment
uv venv

# Activate the virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
# .venv\Scripts\activate

# Install dependencies
uv add -r requirements.txt

3.配置环境变量

创建一个 .env.local 使用Finnhub API密钥在项目根目录中创建文件:

FINNHUB_API_KEY=your_api_key_here

替换 your_api_key_here 使用您的实际Finnhub API密钥。

运行MCP服务器

要启动MCP服务器,请执行以下操作:

uv run stock-market-server.py

默认情况下,服务器在stdio模式下运行,这意味着它从标准输入读取并写入标准输出。

与Claude Desktop一起使用

要将此MCP服务器与Claude Desktop一起使用:

  1. 启动克劳德桌面
  2. 前往“设置”>“开发人员”
  3. 启用“开发人员模式”
  4. 点击“添加工具”
  5. 选择“本地MCP服务器”
  6. 配置工具:
    • 名称:股票市场
    • 命令:Python可执行文件和脚本的完整路径
      • 例子: /Users/username/.venv/bin/python /Users/username/stock-market-mcp-server/stock-market-server.py
    • 工作目录:项目目录的完整路径
  7. 点击“保存”

现在,你可以在与克劳德的对话中使用股市工具了!

或者,您可以手动将该工具添加到Claude Desktop工具列表中。 您可以在Claude Desktop的安装目录中找到配置文件。在MacBook Pro上, 它位于 ~/Library/Application\ Support/Claude/claude_desktop_config.json. 将以下JSON添加到 tools array,请注意修改路径以适应您的环境:

"stock-market": {
   "command": "uv",
   "args": [
     "--directory",
     "<YOUR_PATH_GOES_HERE>/stock-market-mcp-server",
     "run",
     "stock_market_server.py"
   ]
 }

与股票市场客户一起使用

要将MCP服务器与股票市场客户端一起使用,请执行以下步骤:

  1. 您将需要一个Anthropic API密钥。你可以在以下网址免费获得一个 Anthropic.
  2. 更新 .env 使用API密钥提交。 ANTHROPIC_API_KEY=your_api_key_here
  3. 使用以下命令启动MCP客户端: uv run stock_market_client.py

可用工具

MCP服务器提供以下工具:

  • get_stock_symbol_lookup:按公司名称搜索股票代码
  • get_stock_price:获取股票的最新价格
  • get_basic_financials:获取公司的关键财务指标
  • get_market_news:按类别获取最新市场新闻
  • get_company_news:获取特定公司在特定日期范围内的新闻
  • get_stock_candles:获取股票的历史价格数据

可用提示

服务器包括这些预构建的提示:

  • stock_analysis:分析股票的潜在投资
  • market_overview:获取全面的市场概览
  • stock_price_history:分析历史价格走势
  • company_news_analysis:分析新闻及其对股价的影响

示例使用提示

以下是一些如何与Claude一起使用这些工具的示例:

  1. 查找股票代码: “你能查一下苹果的股票代码吗?”

  2. 获取当前股价: “AAPL目前的价格是多少?”

  3. 使用提示: “我想把特斯拉股票作为一项潜在的投资进行分析。”

  4. 组合多种工具: “给我一个市场概述,包括苹果、微软和特斯拉的最新消息和当前价格。”

故障排除

  • API关键问题:请确保您的Finnhub API密钥在 .env.local 文件
  • 未找到模块错误:确保您已激活虚拟环境并安装了所有依赖项
  • 连接问题:检查您的互联网连接和Finnhub API状态

许可证

MIT许可证