Skip to main content
Glama
Tuguberk

openGlad

by Tuguberk
README.md
<p align="center">
  <img src="github/opengladlogo.png" alt="openGlad Logo" width="250" />
  <p align="center"><strong>The Loss-Prevention Friction Engine for Founders</strong></p>
  <p align="center">
    An AI-powered MCP server that stops you from building things nobody wants using clinical analytics, behavioral pattern scanning, and real-time market intelligence from Reddit, Hacker News, GitHub, and Polymarket.
  </p>
  <p align="center">
    <a href="#tools">Tools</a> β€’
    <a href="#quickstart">Quickstart</a> β€’
    <a href="#architecture">Architecture</a> β€’
    <a href="#deployment">Deployment</a>
  </p>
</p>

<p align="center">
  <img src="github/openGladDemo.gif" alt="openGlad Demo" style="max-width: 100%;" />
</p>

---

## What is openGlad?

openGlad is a **Model Context Protocol (MCP) server** that acts as the ultimate friction engine for startups. It provides AI agents (Claude, Cursor, Windsurf, Le Chat, etc.) with specialized tools to enforce loss-prevention *before* you write a single line of code:

- πŸ›‘ **Loss-Prevention Pipeline** β€” Runs behavioral pattern scans, 3-scenario failure predictions, and locks building until monetization is confirmed.
- πŸ” **Multi-Source Market Intelligence** β€” Aggregates real-time data from Reddit (11+ subreddits), Hacker News, GitHub, and Polymarket prediction markets to detect overcrowding and entry risks.
- βš”οΈ **Comparative Friction Analysis** β€” Runs parallel market intelligence on 2-3 ideas simultaneously and returns a ranked verdict on which one (if any) is worth pursuing.
- πŸ“Š **Startup Diagnostics** β€” Evaluates execution stability, revenue health, burnout risk, and distribution discipline.
- 🩺 **Clinical Triage** β€” Objective, data-driven assessments with zero motivational fluff.

> Think of it as an **anti-delusion engine for your startup** β€” designed to tell you 'no' before you waste months building the wrong thing.

## Architecture

```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   AI Client  β”‚  MCP    β”‚   openGlad Worker             β”‚
β”‚  (Claude,    │◄──────►│   (Cloudflare Edge)           β”‚
β”‚   Cursor,    β”‚         β”‚      Version 5.0              β”‚
β”‚   Windsurf)  β”‚         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β”‚ Parallel fetch (cached 1hr)
                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                   β”‚   Reddit    β”‚ β”‚  HN   β”‚ β”‚   GitHub   β”‚ β”‚ Polymarket  β”‚
                   β”‚ 11+ subs    β”‚ β”‚Algoliaβ”‚ β”‚ Public API β”‚ β”‚  Gamma API  β”‚
                   β”‚ + topic exp.β”‚ β”‚ free  β”‚ β”‚  no key    β”‚ β”‚   free      β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

**Tech Stack:**
- **Runtime**: Cloudflare Workers (edge-deployed, globally distributed)
- **Protocol**: MCP (Model Context Protocol) via Streamable HTTP
- **Market Data**: Reddit + Hacker News (Algolia) + GitHub + Polymarket (all free, no API keys)
- **Language**: TypeScript (Modular Architecture)

## Tools

### 🚧 Friction Engine (Loss Prevention)

| Tool | Description | Market Data |
|------|-------------|:-----------:|
| `run_the_bet` | Mega-pipeline combining Pattern Scan, Loss Simulation, and Revenue Gate. **Start here for new ideas.** | Reddit + HN + GitHub + Polymarket |
| `pattern_scan` | Detects behavioral risk patterns (overbuilding drift, monetization avoidance, prestige bias). | None |
| `loss_simulation` | Generates 3-scenario failure predictions (best, likely, worst) with quantified expected loss. | Reddit + HN + GitHub + Polymarket |
| `revenue_gate` | Locks building until clear monetization strategy is confirmed. Produces unlock tasks. | None |
| `compare_ideas` | Parallel multi-source analysis of 2-3 ideas with ranked comparison and single verdict. | Reddit + HN + GitHub + Polymarket |

### πŸ” Market Intelligence (Multi-Source)

| Tool | Description | Market Data |
|------|-------------|:-----------:|
| `analyze_market_trends` | Overcrowding & entry risk filter. Detects tarpit ideas and late entry risks. | Reddit + HN + GitHub + Polymarket |
| `scan_reddit_trends` | Broad trend scanner: sentiment, red flags, cautionary tales, and 6-12 month predictions. | Reddit + HN + GitHub + Polymarket |

**Data Sources:**

| Source | API | What it adds |
|--------|-----|-------------|
| Reddit | Public JSON (free, no key) | Community sentiment, 11 base subreddits + dynamic topic expansion |
| Hacker News | Algolia API (free, no key) | Technical founder signal β€” developer adoption, HN discussions |
| GitHub | Public Search API (free, no key) | Competitor repo activity, star velocity, open source adoption |
| Polymarket | Gamma API (free, no key) | Prediction market odds β€” real money bets on outcome probabilities |

Reddit subreddits (base): `r/Startup_Ideas` Β· `r/Business_Ideas` Β· `r/SaaS` Β· `r/SideProject` Β· `r/EntrepreneurRideAlong` Β· `r/IndieHackers` Β· `r/Futurology` Β· `r/Technology` Β· `r/AINewsAndTrends` Β· `r/Startups` Β· `r/Entrepreneur`

Dynamic expansion adds topic-specific subreddits (e.g. `r/MachineLearning` for AI queries, `r/CryptoCurrency` for crypto, `r/fintech` for finance).

### 🩺 Startup Diagnostics

| Tool | Description |
|------|-------------|
| `analyze_startup` | Smart triage router. Auto-detects ideas vs metrics and routes accordingly. |
| `analyze_execution_stability` | Assesses development velocity, engineering risks, and technical debt. |
| `analyze_revenue_health` | Evaluates MRR/ARR trajectory, financial risks, churn, and unit economics. |
| `analyze_burnout_risk` | Detects burnout signals from work patterns, cognitive load, and focus entropy. |
| `analyze_distribution_discipline` | Measures marketing risks, output consistency, and funnel efficiency. |
| `generate_full_diagnosis` | Comprehensive system scan across all diagnostic dimensions. |

### πŸ’¬ MCP Prompts

| Prompt | Description |
|--------|-------------|
| `run-the-bet` | Full loss-prevention pipeline for a new idea. |
| `market-check` | Market saturation and trend analysis combining broad scan + focused analysis. |
| `should-i-build` | Quick friction check: pattern scan + revenue gate to determine if building is allowed. |
| `analyze-startup` | Guided startup analysis β€” triage and routing for ideas or metrics. |

### πŸ“– MCP Resources

| Resource | URI | Description |
|----------|-----|-------------|
| Usage Guide | `openglad://guide` | Agent-readable guide with tool selection logic, recommended workflows, and usage tips. |

## Quickstart

### Connect to the hosted server

The MCP server is deployed and ready to use:

```
https://openglad.tuguberk.dev/mcp
```

#### Claude Desktop / Cursor / Windsurf / Any MCP Client

Add to your MCP client configuration:

```json
{
  "mcpServers": {
    "openGlad": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://openglad.tuguberk.dev/mcp"]
    }
  }
}
```

#### MCP Inspector (for testing)

```bash
npx @modelcontextprotocol/inspector@latest
# Enter URL: https://openglad.tuguberk.dev/mcp
```

### Example Prompts

Once connected, try these with your AI client:

```
"Run the bet on my startup idea: an AI-powered tool that generates investor pitch decks from a one-page brief"
```

```
"Compare these two ideas for me: (1) AI accounting SaaS for freelancers, (2) no-code internal tools builder"
```

```
"Run a full health diagnostic on my startup with these metrics: MRR $12k, churn 8%, 3 developers, shipping weekly"
```

```
"Is the micro-SaaS market oversaturated? Check trends across Reddit, HN, and GitHub."
```

## Deployment

### Prerequisites

- [Node.js](https://nodejs.org/) 18+
- [Cloudflare account](https://dash.cloudflare.com/)

### Deploy your own

```bash
# Clone and install
git clone https://github.com/tugberkakbulut/openGlad.git
cd openGlad
npm install

# Local development
npm run dev

# Deploy to Cloudflare
npx wrangler deploy
```

No API keys required β€” openGlad fetches all market data via free public APIs. Results are cached at the edge for 1 hour per query.

### Project Structure

```
openGlad/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   └── constants.ts       # Subreddits + dynamic topic expansion map
β”‚   β”œβ”€β”€ prompts/
β”‚   β”‚   └── index.ts           # LLM system prompts for all tools
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ aggregator.ts      # Multi-source fetcher + evidence envelope wrapper
β”‚   β”‚   β”œβ”€β”€ reddit.ts          # Reddit search + engagement ranking + dedup + retry
β”‚   β”‚   β”œβ”€β”€ hackernews.ts      # HN Algolia API integration
β”‚   β”‚   β”œβ”€β”€ polymarket.ts      # Polymarket Gamma API integration
β”‚   β”‚   └── github.ts          # GitHub public search API integration
β”‚   β”œβ”€β”€ tools/
β”‚   β”‚   β”œβ”€β”€ friction.ts        # Friction engine tools (run_the_bet, compare_ideas, etc.)
β”‚   β”‚   └── diagnostics.ts     # Diagnostic tools (execution, revenue, burnout, distribution)
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ dedupe.ts          # Jaccard N-gram deduplication + per-author caps + engagement scoring
β”‚   β”‚   └── helpers.ts         # Evidence envelope response builder
β”‚   └── index.ts               # Server entry point, prompts, resources & tool registration
β”œβ”€β”€ wrangler.jsonc              # Cloudflare Worker configuration
β”œβ”€β”€ package.json
└── tsconfig.json
```

## How It Works

### Friction Engine Flow (Loss-Prevention)

1. **User asks** β†’ *"I want to build an AI resume builder"*
2. **AI client** β†’ Calls `run_the_bet` or `analyze_startup`
3. **openGlad Worker** β†’ Fetches from 4 sources in parallel: Reddit (11+ subreddits), HackerNews, GitHub, Polymarket (all cached 1hr at edge)
4. **Deduplication & Ranking** β†’ Jaccard similarity removes cross-source duplicates; per-author cap (max 3) prevents single-voice dominance; engagement scoring weights freshness + score + activity
5. **Pattern Scan** β†’ Identifies behavioral risks (overbuilding, monetization avoidance)
6. **Loss Simulation** β†’ Maps out 3 failure scenarios with quantified expected loss grounded in real market signals
7. **Revenue Gate** β†’ Locks building until monetization is proven
8. **User receives** β†’ A brutal reality check: blind spots, failure modes, and whether they're allowed to build

### compare_ideas Flow

1. **User provides** β†’ 2-3 startup idea descriptions
2. **Parallel fetch** β†’ Market context fetched for all ideas simultaneously
3. **Comparative analysis** β†’ Each idea gets a compressed friction block (pattern risk, market signal, expected loss, gate status)
4. **Ranked verdict** β†’ Single recommendation on which idea (if any) to pursue

## Built With

- **[Cloudflare Workers](https://workers.cloudflare.com/)** β€” Serverless edge computing
- **[Model Context Protocol](https://modelcontextprotocol.io/)** β€” Standard protocol for AI tool integration
- **[Cloudflare Agents SDK](https://developers.cloudflare.com/agents/)** β€” MCP server framework
- **[Reddit Public JSON API](https://www.reddit.com/dev/api/)** β€” Community market intelligence
- **[Hacker News Algolia API](https://hn.algolia.com/api)** β€” Developer community signals
- **[GitHub REST API](https://docs.github.com/en/rest)** β€” Open source adoption & competitor activity
- **[Polymarket Gamma API](https://docs.polymarket.com/)** β€” Prediction market odds

## Inspiration

Multi-source aggregation, Jaccard deduplication, engagement-based ranking, thin-source retry, and evidence envelope patterns are inspired by [mvanhorn/last30days-skill](https://github.com/mvanhorn/last30days-skill) (MIT).

## License

MIT