patternfetch

oken-compact crypto / Resumos de estado de mercado para agentes de trading de IA — velas compactas + padrões detectados + suporte/resistência + RSI/EMA interpretados em uma única chamada, em vez de OHLCV bruto.

Documentação

patternfetch

patternfetch é uma API de dados de mercado para agentes de IA que cobre ações dos EUA, ETFs e criptomoedas spot. Uma única chamada com um ticker e um período retorna um relatório compacto de estado de mercado: candles compactos, padrões de gráfico e candlestick detectados, níveis de suporte e resistência, regime de mercado e indicadores interpretados (RSI, EMA). Cada padrão detectado carrega sua taxa de acerto histórica testada em backtest e seu lift em relação à linha de base sem padrão do mesmo mercado, para que um agente possa distinguir um padrão que carrega informação de um que não carrega. Seis ferramentas — brief, multi, delta, analogs, scan, capabilities — acessíveis via REST e MCP, com OAuth em um clique, cobrança por crédito via Stripe ou x402 USDC na Base, um endpoint de demonstração sem chave e $3 de crédito inicial no cadastro. Dados de mercado impessoais, não são conselhos de investimento.

npm patternfetch MCP server license

Por que é menor: para BTC/USDT 4h (120 candles), um dump OHLCV bruto é de ~3.260 tokens de apenas números que o modelo ainda precisa analisar; a análise interpretada do patternfetch é de ~1.323 tokens, já decidida. Reproduza (sem necessidade de conta).

  • Cobertura: ações dos EUA e ETFs (ajustados por splits e dividendos, atrasados/EOD, via Yahoo), cripto spot (tempo real, via Binance).
  • Períodos: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w.
  • Acesso: REST em patternfetch.com/v1/*, MCP em patternfetch.com/mcp (Streamable HTTP), além de uma ponte local stdio (patternfetch-mcp).

Por que taxas de base e lift

Um detector que apenas reporta double_top, confidence 0.92 não diz a um agente se esse padrão já significou algo. O patternfetch anexa um bloco evidence a cada padrão detectado:

{
  "name": "double_top",
  "confidence": 0.92,
  "evidence": {
    "scope": "US stocks & ETFs",
    "tf": "1d",
    "band": "0.75-1.00",
    "horizon": 10,
    "n": 7508,
    "hitRate": 0.431,
    "ci95": 0.011,
    "lift": {
      "baseline": 0.419979,
      "baselineN": 46038,
      "lift": 0.011021,
      "ci95": 0.012075,
      "informative": false,
      "reading": "indistinguishable-from-baseline"
    }
  }
}

hitRate é a taxa direcional bruta realizável: a fração de ocorrências históricas não sobrepostas desse padrão, naquele período e faixa de confiança, cujo retorno de fechamento a fechamento nas próximas horizon barras foi na direção esperada. A janela futura começa na detecção, portanto não há lookahead. Stops, taxas ou slippage não são modelados.

lift compara essa taxa de acerto com a linha de base do mesmo mercado sem padrão presente. Muitos padrões retornam indistinguishable-from-baseline — esse é o resultado honesto, e reportá-lo é o objetivo. Um agente pode filtrar por informative em vez de confiar em um score geométrico de confiança.

Calibração. Em 105 categorias auditadas, 3 ficam fora do intervalo de confiança — menos do que os ~5,3 que o acaso sozinho prevê em 105 comparações. Para ações dos EUA, é 0 de 60. Método e tabelas completas: patternfetch.com/pattern-base-rates-study. A medição é reproduzível com a ferramenta open-source honest-signals.

Início rápido

Sem chave necessária — o endpoint de demonstração é público:

curl -X POST https://patternfetch.com/v1/demo \
  -H 'content-type: application/json' \
  -d '{"ticker":"AAPL","timeframe":"1d"}'

Com uma chave (autoatendimento, $3 de crédito inicial):

curl -X POST https://patternfetch.com/v1/keys -d '{"email":"you@example.com"}'

curl -X POST https://patternfetch.com/v1/brief \
  -H 'authorization: Bearer pf_...' \
  -H 'content-type: application/json' \
  -d '{"ticker":"BTC/USDT","timeframe":"4h"}'

Cliente JavaScript:

npm install patternfetch
import { Patternfetch } from 'patternfetch';

const { key } = await new Patternfetch().createKey('you@example.com');
const pf = new Patternfetch({ apiKey: key });

const brief = await pf.brief({ ticker: 'AAPL', timeframe: '1d' });

console.log(brief.analysis.nl);
// "AAPL: uptrend (strong), +0.14% last 1d, RSI 71.66 (overbought),
//  bearish_engulfing (conf 1, hist 41% over 10b, lift -0.7pp vs 42% base (within noise))."

for (const p of brief.analysis.patterns) {
  if (p.evidence?.lift.informative) console.log(p.name, p.evidence.hitRate, p.evidence.lift.lift);
}

Ferramentas

Seis ferramentas, o mesmo conjunto via MCP (patternfetch_*) e REST (POST /v1/*).

FerramentaO que retornaQuando um agente a chama
briefRelatório de estado de mercado para um ticker + período: candles compactos, padrões com taxa de base e lift, suporte/resistência, regime, RSI/EMA, resumo em uma linha.O padrão. Precisa do quadro técnico atual de um mercado sem despejar OHLCV bruto no contexto.
multiUm resumo por período (padrão 1h, 4h, 1d) além de uma leitura de alinhamento entre períodos que detalha concordância ou divergência, ex.: 1h up / 4h up / 1d down.Quer saber se um setup é confirmado ou contradito entre horizontes, sem três chamadas separadas de brief.
deltaApenas o que mudou desde o último resumo para aquele ticker + período — inversões de tendência, novos padrões, mudanças de estado do RSI. Retorna changed: false quando nada material mudou.Faz polling repetido do mesmo mercado. Chame brief uma vez, depois delta em cada polling posterior para manter o custo de tokens próximo de zero.
analogsJanelas históricas cuja forma se assemelha à ação de preço atual, com a distribuição completa do que veio depois: taxa de vitória, mediana, média, mín., máx. e n em um horizonte futuro fixo.Quer a distribuição de resultados históricos para um setup, em vez de uma estimativa pontual. Não é uma previsão, nem um backtest de estratégia.
scanScreener sobre um universo curado de large caps líquidas dos EUA, ETFs de núcleo e setoriais e principais pares de cripto. Filtre por classe de ativo, regime, padrão e taxa de base mínima; linhas retornam classificadas por taxa de base com IC de 95%. Pré-computado diariamente.Precisa encontrar candidatos no mercado, em vez de analisar um ticker que já nomeou. Alimente a lista curta em brief.
capabilitiesAtivos suportados, períodos, endpoints, limites e preços. Sem entrada.Primeiro, antes de confiar em qualquer suposição sobre cobertura.

Métodos do cliente

MétodoEndpoint
brief({ticker, timeframe, limit?, fields?, market?})POST /v1/brief
multi({ticker, timeframes?, limit?, market?})POST /v1/multi
delta({ticker, timeframe, limit?})POST /v1/delta
analogs({ticker, timeframe, window?, horizon?})POST /v1/analogs
scan({assetClass?, regime?, pattern?, tf?, minBaseRate?, limit?})POST /v1/scan
candles({ticker, timeframe})POST /v1/candles
platforms()GET /v1/platforms
createKey(email)POST /v1/keys

MCP

patternfetch é um servidor MCP remoto (Streamable HTTP) em https://patternfetch.com/mcp. Ferramentas: patternfetch_brief, patternfetch_multi, patternfetch_delta, patternfetch_analogs, patternfetch_scan, patternfetch_capabilities. Descoberta (initialize, tools/list) é gratuita — sem chave. Apenas tools/call precisa de autenticação.

OAuth em um clique (nada para colar) — no Claude Code, Claude Desktop, Cursor ou Smithery, adicione a URL e autorize uma vez; uma chave de nível gratuito é criada para você:

claude mcp add --transport http patternfetch https://patternfetch.com/mcp

No claude.ai: Personalizar → Conectores → Adicionar conector personalizado → https://patternfetch.com/mcp → Autorizar.

Ou com uma chave Bearer — adicione à sua configuração MCP:

{
  "mcpServers": {
    "patternfetch": {
      "url": "https://patternfetch.com/mcp",
      "headers": { "Authorization": "Bearer pf_..." }
    }
  }
}

Obtenha uma chave gratuita (pequeno crédito inicial) em https://patternfetch.com/v1/keys.

Ponte local stdio

Prefere um servidor stdio local (Claude Desktop, sandboxes, sem HTTP de entrada)? Este pacote inclui patternfetch-mcp, uma ponte stdio↔HTTP sem dependências que expõe as mesmas ferramentas e encaminha chamadas para patternfetch.com:

{
  "mcpServers": {
    "patternfetch": {
      "command": "npx",
      "args": ["-y", "patternfetch-mcp"],
      "env": { "PATTERNFETCH_API_KEY": "pf_..." }
    }
  }
}

tools/list funciona sem chave e recorre ao snapshot embutido (mcp-tools.json) quando o remoto está inacessível, então a introspecção sempre funciona. Chamadas de ferramenta usam PATTERNFETCH_API_KEY, OAuth ou x402. Substitua o endpoint com PATTERNFETCH_MCP_URL.

Atualize o snapshot do servidor ao vivo:

curl -s -X POST https://patternfetch.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Preços

$3 de crédito inicial no cadastro, pelo menos $0,50 utilizáveis imediatamente sem cartão. Depois, pague por chamada com crédito, recarregado via Stripe ou x402 USDC na Base. Plano Studio: $19/mês incluindo $25 de uso.

ChamadaPreço
/v1/brief$0,010
/v1/multi$0,025
/v1/delta$0,008 ($0,001 quando nada mudou)
/v1/candles$0,005
/v1/analogs$0,050
/v1/scan$0,020

Valores ao vivo: GET /v1/platforms.

Legal

patternfetch fornece dados de mercado impessoais e sinais algorítmicos apenas para fins informativos. NÃO é aconselhamento de investimento, financeiro, legal ou fiscal, e não é uma recomendação para comprar, vender ou manter qualquer título ou criptoativo. As saídas não são personalizadas para você. As taxas de base são frequências direcionais brutas sem stops, taxas ou slippage; desempenho passado e análogos históricos não garantem resultados futuros. Mercados são voláteis — você pode perder todo o capital. Faça sua própria pesquisa. Veja patternfetch.com/disclaimer, /methodology e /terms.