Skip to main content
Glama
yalcin

ta-lib-mcp

by yalcin
README.md
# ta-lib-mcp

Read-only Python MCP server for TA-Lib indicator discovery and computation.

## What It Exposes

- `talib_list_indicators`: list available indicators with group, category, and search filters.
- `talib_get_indicator_info`: inspect one indicator's inputs, outputs, parameters, and category.
- `talib_compute_indicator`: compute an indicator from numeric OHLCV-like arrays.
- `talib_list_categories`: list indicator categories (Trend, Momentum, Volume, etc.) with descriptions.
- `talib_get_version_info`: report MCP, Python, and TA-Lib versions.

## Requirements

- Python 3.13+
- `mcp[cli]`
- Optional: `TA-Lib` (`pip install "ta-lib-mcp-server[talib]"`)

If TA-Lib is missing, the server still starts and returns actionable errors for TA-Lib tools.

## Install

```bash
pip install -e ".[dev,talib]"
```

## Run

```bash
ta-lib-mcp
```

## MCP Client Configuration

### Claude Desktop

```json
{
  "mcpServers": {
    "ta-lib": {
      "command": "ta-lib-mcp",
      "env": {
        "TALIB_MCP_LOG_LEVEL": "INFO"
      }
    }
  }
}
```

### Codex

```toml
[mcp_servers.talib]
command = "ta-lib-mcp"
args = []

[mcp_servers.talib.env]
TALIB_MCP_LOG_LEVEL = "INFO"
```

### Gemini CLI

```json
{
  "mcpServers": {
    "ta-lib": {
      "command": "ta-lib-mcp",
      "env": {
        "TALIB_MCP_LOG_LEVEL": "INFO"
      }
    }
  }
}
```

## Development

```bash
pip install -e ".[dev,talib]"
pytest
ruff check src tests
ruff format src tests
mypy src
```

## Engineering Rules

- Read-only server behavior only; no stateful or exchange-connected operations.
- External MCP tool inputs are validated in `src/ta_lib_mcp/validators.py`.
- Do not use `eval` or `exec`.

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: computing an indicator, getting metadata, listing categories, listing indicators, and version info. There is no overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent 'talib_verb_noun' pattern in snake_case, making them predictable and easy to understand.

Tool Count5/5

With 5 tools covering discovery, metadata, computation, and version info, the set is well-scoped and efficiently supports the TA-Lib domain.

Completeness5/5

The set provides complete coverage: you can discover indicators, get detailed info, and compute them. No obvious gaps for typical usage.

Maintenance

ActivityInactive
ResponsivenessNo issues