Skip to main content
Glama

Thesis

Espacio de trabajo de investigación por ticker autoalojado para inversores minoristas. Captura contenido desde cualquier lugar mediante la hoja de compartir de la PWA. El espacio de trabajo expone un servidor MCP para que tu propio agente (Claude, ChatGPT, Codex CLI) haga la síntesis. MVP de un solo usuario: tus datos permanecen en tu cuenta de Cloudflare.

Ayuda de investigación, no asesoramiento. El agente escribe; tú decides.

Arquitectura

┌─────────────────────────────────────────────────────────────┐
│  Browser / Mobile                                           │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  PWA  (Vite + React + Tailwind)                      │   │
│  │  - Web Share Target  - Workspace tabs                │   │
│  │  - Tiptap rich text  - Component renderer            │   │
│  └────────────────────┬─────────────────────────────────┘   │
└───────────────────────┼─────────────────────────────────────┘
                        │  /api/*  /mcp
┌───────────────────────▼─────────────────────────────────────┐
│  Cloudflare Worker  (Hono)                                  │
│  ┌───────────────────────────────┐  ┌──────────────────┐    │
│  │  Workspace Durable Object     │  │  WorkspaceAgent  │    │
│  │  SQLite + embedding BLOB      │  │  DO (Slice 4)    │    │
│  │  30 MCP tools                 │  │  nightly cron    │    │
│  └───────────────────────────────┘  └──────────────────┘    │
│  ┌───────────────────────────────────────────────────────┐   │
│  │  Data providers                                       │   │
│  │  Yahoo  Stooq  EDGAR  Finnhub  FRED                  │   │
│  └───────────────────────────────────────────────────────┘   │
│  ┌──────────────┐  ┌────────────┐  ┌──────────────────────┐  │
│  │  R2 (docs)   │  │  KV cache  │  │  CF AI Gateway       │  │
│  └──────────────┘  └────────────┘  └──────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

Future:
┌─────────────────────────┐
│  Auth app (Slice 5)     │
│  better-auth + Postgres  │
│  Docker → Fly.io        │
└─────────────────────────┘

Related MCP server: Signal8 MCP Server

Inicio rápido

git clone <repo> && cd invest
npm install
cp apps/worker/.dev.vars.example apps/worker/.dev.vars
# Edit apps/worker/.dev.vars — set THESIS_BEARER_TOKEN, optionally FINNHUB_API_KEY + FRED_API_KEY

# Terminal 1 — worker on :8787
npm run dev:worker

# Terminal 2 — PWA on :5173 (proxies /api and /mcp to :8787)
npm run dev:pwa

Abre http://localhost:5173. Añade un token de portador en Configuración (usa el valor de .dev.vars).

Conecta un agente (BYOA)

GET /api/mcp-info devuelve el endpoint de MCP, la lista de herramientas y las instrucciones de autenticación. La página de Configuración muestra la misma información con URL listas para copiar.

  • HTTP transmisible (preferido): POST /mcp, GET /mcp

  • SSE heredado: GET /mcp/sse, POST /mcp/messages

  • Autenticación: Authorization: Bearer <token> o ?token=<token>

Variables de entorno

Todos los secretos van en apps/worker/.dev.vars para el desarrollo local. Consulta apps/worker/.dev.vars.example.

Variable

Requerida

Notas

THESIS_BEARER_TOKEN

Secreto compartido para todas las solicitudes de API + MCP

FINNHUB_API_KEY

Opcional

Gratis en finnhub.io: habilita fundamentos, ganancias y noticias

FRED_API_KEY

Opcional

Gratis en fred.stlouisfed.org: habilita mosaicos macro

STOOQ_API_KEY

Opcional

Puerta de captcha 2025: omítela para usar el respaldo de Yahoo

ANTHROPIC_API_KEY

Slice 4

Requerida para ejecuciones nocturnas del agente integrado

CF_AIG_TOKEN

Slice 4

Token de Cloudflare AI Gateway

CF_ACCOUNT_ID

Slice 4

Tu ID de cuenta de CF

AGENT_MONTHLY_TOKEN_CAP

Opcional

Por defecto 200000 tokens/mes por espacio de trabajo

Slices entregados

Registro completo de decisiones e historial de slices: docs/roadmap/GRILL-ME.md

Slice

Descripción

Estado

W0–W5

Fundación, autoría, síntesis, lentes, evidencia, datos

Slice 0

Estabilización, documento de Stooq, reintento de EDGAR, theme-color

Slice 1

Primitiva de composición: layout_json + set_layout MCP

Slice 1.5

Mapa de slots completo + vocabulario de componentes extendido

🔄

Slice 2

Recuperación: embeddings (coseno BLOB), herramienta retrieve, backfill

Slice 3

Temporal: catch_up, reactivate_check, UI de Catch Up

Slice 4

Agente integrado: WorkspaceAgent DO, cron nocturno, AI Gateway

Slice 5

Autenticación: better-auth, aplicación de autenticación dockerizada

Diseñando

Slice 6

Superficie de chat

Diseñando

Slice 7

Nivel Vectorize entre tickers

Diseñando

Pruebas de humo

Las pruebas de humo categorizadas viven en smoke/.

# All Playwright specs (UI + E2E)
npm run smoke

# Individual shell scripts (worker API — no browser needed)
bash smoke/ingestion/capture.smoke.sh
bash smoke/claims/claims.smoke.sh
bash smoke/agent/agent.smoke.sh   # needs ANTHROPIC_API_KEY

Despliegue

Cloudflare Worker + PWA

# 1. Build PWA into apps/pwa/dist
npm run build:pwa

# 2. Set production secrets (one-time)
cd apps/worker
wrangler secret put THESIS_BEARER_TOKEN
wrangler secret put ANTHROPIC_API_KEY
wrangler secret put CF_AIG_TOKEN
wrangler secret put FINNHUB_API_KEY
wrangler secret put FRED_API_KEY

# 3. Deploy worker + PWA assets
wrangler deploy

El Worker sirve la PWA desde el mismo origen. /share-target, /mcp y /api/* son todos de primera parte.

Guía de despliegue completa, incluido el destino Docker de la aplicación de autenticación, DNS y comprobaciones de humo posteriores al despliegue: docs/deployment.md.

Pila tecnológica

Capa

Tecnología

Runtime de Worker

Cloudflare Workers + Durable Objects (SQLite)

Framework de API

Hono

MCP

JSON-RPC hecho a mano sobre HTTP + SSE (30 herramientas)

PWA

Vite 5 + React 18 + Tailwind 3

Texto enriquecido

Tiptap

Embeddings

Workers AI bge-small-en-v1.5 (384-dim, BLOB cosine)

Agente

Objeto Durable simple (WorkspaceAgent) + CF AI Gateway

Documentos

R2 + tabla de unión document_captures

Tipos compartidos

packages/shared (Zod)

Contribuciones

  1. Lee docs/STATUS.md — estado actual + plan a futuro

  2. Lee docs/architecture/v2-embedded-agent.md — diseño v2

  3. Ejecuta npm run typecheck antes de hacer push

  4. Añade cobertura de pruebas de humo para nuevos endpoints en smoke/

A
license - permissive license
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Enables financial research and analysis through AI agents that combine web search, content crawling, entity extraction, and deep research workflows. Supports extracting stock/fund entities with security codes and conducting structured financial investigations.
    9
    24
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to access stock prices, financial statements, earnings call transcripts, and fundamental data for 60,000+ public companies via 25 read-only tools.
    25
    2
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Bilaltariq98/invest'

If you have feedback or need assistance with the MCP directory API, please join our Discord server