Token导航 LogoToken导航TokenDH.com
TA-Lib MCP Server logo
AI代理stdio官方级别未说明来源级核验

TA-Lib MCP Server

MCP Server

提供技术分析指标计算功能的MCP服务器和HTTP API,支持多种访问方式包括MCP协议、REST API和命令行工具。

工具数

18

提示词数

0

GitHub Stars

7

资源数

0
技术分析PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

phuihock

提供方

phuihock

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python -m mcp_talib.cli --mode mcp --transport stdio

详细介绍

TA Lib MCP服务器

技术分析指示用于模型上下文协议的MCP服务器和HTTP API。

快速开始

# Install dependencies
uv sync --dev

# Copy logging configuration
cp logging.conf.example logging.conf

# Run MCP server with STDIO transport (default)
uv run python -m mcp_talib.cli --mode mcp --transport stdio

# Run MCP server with HTTP transport
uv run python -m mcp_talib.cli --mode mcp --transport http --port 8000

# Run HTTP API server only
uv run python -m mcp_talib.cli --mode api --port 8001

# Run CLI tools directly
uv run python -m mcp_talib.cli_tools list
uv run python -m mcp_talib.cli_tools call sma --close '[1,2,3,4,5]' --timeperiod 3

建筑

该项目提供 三种独立的访问方法:

1.MCP服务器(--mode mcp)

  • 纯MCP协议实现,将所有TA-Lib指示符作为MCP工具公开
  • 支持STDIO和HTTP传输
  • 用于MCP客户端(Claude Desktop、MCP Inspector、MCP.js等)
  • 没有REST端点

使用STDIO跑步 (适用于克劳德桌面):

uv run python -m mcp_talib.cli --mode mcp --transport stdio

使用HTTP运行 (适用于MCP Inspector或web客户端):

uv run python -m mcp_talib.cli --mode mcp --transport http --port 8000
# Then connect MCP Inspector to http://localhost:8000/mcp

2.HTTP API服务器(--mode api)

  • 纯REST API,带有 /api/tools/* JSON端点
  • 用于对指示器进行程序化HTTP访问
  • 没有MCP协议,只需要干净的REST

运行HTTP API:

uv run python -m mcp_talib.cli --mode api --port 8001

请求示例:

curl -X POST http://localhost:8001/api/tools/sma \
  -H 'Content-Type: application/json' \
  -d '{"close": [1,2,3,4,5], "timeperiod": 3}'

3.CLI工具

通过Typer直接命令行访问所有指示器:

uv run python -m mcp_talib.cli_tools list
uv run python -m mcp_talib.cli_tools call sma --close '[1,2,3,4,5]' --timeperiod 3

特性

  • 所有TA库重叠研究:BBANDS、DEMA、EMA、HT_TRENDLINE、KAMA、MA、MAMA、MAVP、中点、中间价、SAR、SAREXT、SMA、T3、TEMA、TRIMA、WMA
  • 三种访问方式:MCP、HTTP-REST、CLI
  • 双重运输:用于MCP的STDIO和HTTP
  • 跨平台:适用于Linux、macOS、Windows
  • 综合测试:26+单元和集成测试
  • 错误处理:详细的错误消息和验证

日志记录配置

服务器需要 logging.conf 配置文件。复制示例:

cp logging.conf.example logging.conf

在中自定义日志记录级别、格式和输出文件 logging.conf。服务器登录到 console.log 以保持MCP协议的合规性。

客户端配置

Claude桌面集成

  1. 创建配置文件~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或适用于您操作系统的适当位置。
  1. 添加MCP服务器配置:
{
  "mcpServers": {
    "talib": {
      "command": "uv",
      "args": [
        "run",
        "python",
        "-m",
        "mcp_talib.cli",
        "--mode",
        "mcp",
        "--transport",
        "stdio"
      ],
      "cwd": "/path/to/mcp-talib"
    }
  }
}
  1. 重新启动克劳德桌面 加载TA Lib服务器。
  1. 验证安装 问克劳德:“你有什么技术分析工具?”

MCP检查器(HTTP)

对于HTTP传输,配置MCP检查器以连接到:

http://localhost:8000/mcp

使用HTTP运行MCP服务器:

uv run python -m mcp_talib.cli --mode mcp --transport http --port 8000

重要HTTP传输包括CORS中间件,以支持基于浏览器的MCP客户端,如MCP Inspector。如果您使用反向代理或需要限制访问,请更新 allow_origins 开始 transport/http.py.

MCP.js客户端示例

import { MCPServerClient } from '@modelcontextprotocol/client';

const client = new MCPServerClient({
  name: 'talib',
  command: 'uv',
  args: ['run', 'python', '-m', 'mcp_talib.cli', '--mode', 'mcp', '--transport', 'stdio'],
  cwd: process.cwd()
});

// List available tools
const tools = await client.listTools();
console.log('Available tools:', tools.map(t => t.name));

// Calculate SMA
const smaResult = await client.callTool('calculate_sma', {
  close_prices: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  timeperiod: 5
});
console.log('SMA result:', smaResult);

HTTP API客户端(Python)

import requests

# List available tools
response = requests.get('http://localhost:8001/api/tools')
tools = response.json()['tools']
print('Available tools:', tools)

# Calculate SMA
payload = {
    'close': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    'timeperiod': 5
}
response = requests.post('http://localhost:8001/api/tools/sma', json=payload)
result = response.json()
print('SMA result:', result['values'])

可用工具

服务器为所有TA-Lib重叠研究提供MCP工具和HTTP端点:

  • calculate_sma -简单移动平均线
  • calculate_ema -指数移动平均线
  • calculate_rsi -相对强度指数
  • calculate_bbands -布林带
  • calculate_dema -双指数移动平均线
  • calculate_ht_trendline -Hilbert变换趋势线
  • calculate_kama -考夫曼自适应移动平均线
  • calculate_ma -移动平均线(带类型)
  • calculate_mama -MESA自适应移动平均线
  • calculate_mavp -移动平均可变期
  • calculate_midpoint -中点
  • calculate_midprice -中点价格
  • calculate_sar -抛物线SAR
  • calculate_sarext -抛物线SAR扩展
  • calculate_t3 -T3移动平均线
  • calculate_tema -三重指数移动平均线
  • calculate_trima -三角移动平均线
  • calculate_wma -加权移动平均线

发展

# Run all tests
uv run pytest

# Run specific test file
uv run pytest tests/unit/test_sma.py -v

# Run with coverage
uv run pytest --cov=src/mcp_talib

# Format code
uv run black src/ tests/
uv run isort src/ tests/

# Lint code
uv run ruff check src/ tests/

TA Lib平台要求

该项目使用 ta-lib 需要本机TA-Lib C库的Python绑定。在CI或开发人员计算机上,必须在安装Python依赖项之前安装系统TA-Lib库。

链接和注释:

  • TA库(C库):https://ta-lib.org/(下载和构建说明)
  • ta-lib-python(python绑定):https://github.com/TA-Lib/ta-lib-python

示例(Ubuntu)CI步骤:

# Install build dependencies
sudo apt-get update && sudo apt-get install -y build-essential wget

# Download and build TA-Lib C library
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -xzf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure --prefix=/usr
make
sudo make install

# Then install Python package
pip install TA-Lib

如果您不想构建C库,请在可用的情况下使用预构建的轮子,或者在提供TA Lib的环境中运行测试(例如,许多linux CI映像)。

HTTP API和CLI

此项目公开了与HTTP JSON端点和Typed CLI(Typer)相同的MCP工具。

HTTP端点

POST /api/tools/{tool_name}

请求JSON: { "close": [..], ...params } (例如。, timeperiod)

响应JSON: { "success": true, "values": [...], "metadata": {...} }

示例:

curl -X POST http://localhost:8000/api/tools/sma \
  -H 'Content-Type: application/json' \
  -d '{"close": [1,2,3,4,5], "timeperiod": 3}'

MCP端点

MCP端点保持在 /mcp 用于MCP客户端(MCP检查器、MCP.js等)。HTTP API装载MCP应用程序,以便两个API共存。

CLI(打字机)

通过命令行访问工具 src/mcp_talib/cli_tools.py:

列出可用工具:

uv run python -m mcp_talib.cli_tools list

调用工具:

uv run python -m mcp_talib.cli_tools call sma --close '[1,2,3,4,5]' --timeperiod 3

实施说明

  • 使用Pydantic验证请求
  • 基础指标实现是唯一的真实来源(在MCP注册表中注册)
  • HTTP API和CLI调用相同的代码,因此结果完全匹配
  • 对于浏览器客户端,CORS已启用 mcp-session-id 在响应中暴露

许可证

麻省理工学院

目录标签

目录标签

技术分析PythonClaude本地部署金融计算数据分析量化交易MCP协议

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP