金融技术分析服务器

一个提供股票和加密货币技术分析数据的开源服务器,包含本地缓存、模块化设计和情感分析功能。

  • by alejandroclaro
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 alejandroclaro/technical-analysis-mcp

使用说明

MCP服务器技术分析

:望远镜:概述

技术分析MCP服务器是一个尖端项目,旨在提供 用于获取和计算股票技术分析数据的强大工具 以及加密货币。

:图钉:目的

与其他MCP和Alpha Vantage等昂贵的服务不同,该项目提供了 利用免费信息源和 数学计算,提供一流的工具和功能,而无需 高昂的价格标签。

它不会就此止步。此项目包括一个缓存和本地数据库,用于 存储以前获取的数据,确保闪电般快速地访问信息 没有重复的互联网请求。这意味着您可以在以下情况下获得所需的数据 你需要它,没有等待或达到速率限制。

这还不是全部。我们还纳入了非技术指标,如 情绪和其他来自免费信息来源的信号,给予 您将全面了解市场格局。

:闪光:特征

  • 全面的数据获取:实时检索详细的财务信息 特定金融工具或公司的描述性信息。
  • 本地数据库和缓存:将以前获取的数据存储在本地以避免 重复的互联网请求。
  • 模块化设计:组织成模块化工具。
  • 结构化数据:使用结构化的应对措施来提高可预测性和 LLM处理。
  • 错误处理:错误将作为结构化对象返回,而不是 提出例外情况。
  • 类型提示:广泛使用类型提示,以更好地理解LLM 以及处理。
  • 输入验证:在处理之前验证输入并处理边缘 案件优雅。
  • 情绪与信号分析:纳入非技术指标,如 情绪和其他来自免费信息来源的信号。

:火箭:开始

您可以通过uv或本地在客户端中使用此MCP服务器 发展。

通过紫外线

{
  "mcpServers": {
    "ta": {
      "command": "uvx",
      "args": ["technical-analysis-mcp"]
    }
  }
}

本地开发

{
  "mcpServers": {
    "ta": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/Technical-analysis-mcp",
        "server"
      ]
    }
  }
}

:chart_with_upwards_trend:MCP工具

此MCP服务器中提供以下工具:

工具名称 描述
ticker_information 检索特定金融工具或公司的详细财务、元数据和实时描述性信息。
asset_price_history 获取全面的历史定价信息,包括OHLC价格、交易量、股息和股票分割。
sma 计算简单移动平均线(SMA)技术指标,用于趋势分析和支撑/阻力位。
rsi 计算相对强弱指数(RSI)动量振荡器,以识别超买/超卖情况。

:计算机:交互式REPL

此项目包括一个REPL(读取-评估-打印循环)客户端,允许您 直接与MCP服务器交互以进行测试和探索。

启动REPL

uv run repl

启动后,您将看到一个提示: mcp>

基本REPL命令

  • help 或 ? -列出所有可用命令
  • get_instructions -查看服务器说明和功能
  • list_tools -显示所有可用的MCP工具
  • get_tool_description <tool_name> -获取有关的详细信息 专用工具
  • call_tool <tool_name> <json_args> -使用参数执行工具
  • history -显示命令历史记录
  • exit, quit,或 Ctrl+D -退出REPL

示例用法

mcp> list_tools
- ticker_information
- asset_price_history
- sma
- rsi

mcp> call_tool ticker_information '{"ticker": "AAPL"}'
{"symbol": "AAPL", "name": "Apple Inc.", ...}

:white_check_mark:执行状态

  • 核心数据获取工具:
    • [X] 票务信息检索(公司详细信息、行业、市值等)
    • [X] 历史价格数据(OHLC、交易量、股息、拆分)
  • 趋势指标
    • [X] SMA(简单移动平均线)
    • []EMA(指数移动平均线)
    • []WMA(加权移动平均线)
    • []DEMA(双指数移动平均线)
    • []TEMA(三重指数移动平均线)
    • []TRIMA(三角移动平均线)
    • []考夫曼自适应移动平均线
    • []T3(三重指数移动平均线–T3)
    • []ADX(平均方向移动指数)
    • []ADXR(平均方向移动指数评级)
    • []阿罗恩
    • []AROONOSC
    • []SAR(抛物线SAR)
  • 动量指标
    • [X] 怀尔德RSI(相对强弱指数)
    • []基于EMA的RSI(相对强弱指数)
    • []妈妈(动量)
    • []CMO(Chande动量振荡器)
    • []ROC(变化率)
    • []ROCR(变化率比率)
    • []货币流量指数
    • []TRIX
    • []ULTOSC(终极振荡器)
    • []威尔(威廉姆斯%R)
  • 振荡器
    • []MACD(移动平均线收敛/发散)
    • []MACDEXT
    • []股票(随机振荡器)
    • []股票(快速随机)
    • []斯托克西
  • 波动性指标
    • []ATR(平均真实范围)
    • []NATR(归一化平均真实范围)
    • []BBANDS(布林带)
    • []带宽
  • 音量指示器
  • []OBV(平衡交易量)
    • []AD(累积/分配线)
    • []ADOSC(累积/分配振荡器)
    • []VWAP(成交量加权平均价格)
  • 情绪和信号分析:
    • []免费提供的非技术指标
  • 性能优化:
    • []缓存策略和速率限制
  • 基础设施:
    • [X] 使用Pydantic模型的结构化数据响应
    • [X] 全面的错误处理
    • [X] 在整个代码库中键入提示
    • [X] 使用枚举和约束进行输入验证
    • [X] 模块化设计,关注点分开

:锤子:开发

安装

开始使用技术分析MCP服务器轻而易举。只管跟随 这些简单的步骤:

  1. 克隆存储库:

    git clone https://github.com/yourusername/technical-analysis-mcp.git
    cd technical-analysis-mcp
    
  2. 使用uv安装依赖项:

    uv sync
    uv pip install -e .
    

运行测试

要运行单元测试,请使用以下命令:

uv run pytest

要运行覆盖率测试,请使用:

uv run pytest --cov=src/technical_analysis_mcp --cov-report=markdown

这将生成Markdown格式的覆盖率报告并在终端中显示。

装订和格式化

# To run basic linting, use:
uv run ruff check

# To run type checking, use:
uv run pyright

# To run markdown linting, use:
uv run pymarkdown scan .

发展提示

添加新工具时,请遵循现有模式:

  1. 在中创建Pydantic数据结构 src/technical_analysis_mcp/models/
  2. 在中实现工具逻辑 src/technical_analysis_mcp/tools/
  3. 在中注册工具 src/technical_analysis_mcp/server/server.py
  4. 在中编写综合测试 tests/tools/, tests/models/, tests/servers/等等
  5. 用新的工具信息更新此README

:礼物:贡献

我们欢迎对技术分析MCP服务器的贡献!无论你是 无论是经验丰富的开发人员还是刚刚起步的开发人员,我们都非常感谢您的帮助。请 遵循以下准则:

  1. 克隆该仓库 并为您的功能或错误修复创建一个新的分支。
  2. 提交您的更改 以下是清晰简洁的提交消息 约定式提交 规范。
  3. 推动您的更改 到你的叉子上并提交一个pull请求。

:speech_balloon:支持

如需支持,请在GitHub存储库上打开问题或联系 维护人员直接。我们是来帮忙的!

:clap:致谢

非常感谢这个项目的所有贡献者和支持者。你的 帮助和反馈是无价的!