MCP Hub
Back to servers

UnknownCheats MCP

Enables programmatic interaction with the UnknownCheats forum by bypassing Cloudflare protection using a headed Chrome browser. Supports searching forums, reading threaded discussions with pagination, extracting code blocks in multiple languages, and maintaining persistent authenticated sessions.

glama
Stars
4
Forks
1
Updated
Apr 4, 2026
Validated
Apr 5, 2026

mcp-unknowncheat

An MCP (Model Context Protocol) server for programmatically interacting with the UnknownCheats forum. Bypasses Cloudflare protection using a real Chrome instance and provides structured data extraction via Cheerio.

Features

  • Cloudflare bypass — Uses puppeteer-real-browser with a headed Chrome instance to solve Turnstile challenges automatically
  • Cookie persistence — Session cookies saved to cookies.json and reused across restarts
  • Auto-recovery — Detects detached frame / browser crash errors and relaunches automatically
  • 5 MCP tools — Login, search, thread reading, pagination, and code extraction

Tools

ToolDescriptionParameters
check_loginCheck if the browser session is logged in
loginAuto-fill credentials and log inusername, password
search_forumSearch UC or browse a subforumquery, subforum?
get_threadFetch thread posts with paginationurl, fetch_all_pages?
extract_codeExtract C++/C#/Python/Lua code blocksurl

Stack

Requirements

  • Bun v1.0+
  • Google Chrome installed (required by puppeteer-real-browser)

Installation

git clone https://github.com/amaralkaff/mcp-unknowncheat.git
cd mcp-unknowncheat
bun install

Setup with Claude Code

claude mcp add uc-mcp bun -- run "/path/to/mcp-unknowncheat/src/index.ts"

Setup with Claude Desktop

Add to %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "uc-mcp": {
      "command": "bun",
      "args": ["run", "/path/to/mcp-unknowncheat/src/index.ts"]
    }
  }
}

Usage

On first run, Chrome opens in headed mode. Log in manually or use the login tool:

login({ username: "your_username", password: "your_password" })

Cookies are saved automatically. Subsequent runs reuse the session.

Examples

# Check login status
check_login()

# Browse the Apex Legends subforum
search_forum({ subforum: "apex-legends" })

# Search across all forums
search_forum({ query: "pubg offsets" })

# Get a thread (single page)
get_thread({ url: "https://www.unknowncheats.me/forum/..." })

# Get all pages of a thread
get_thread({ url: "https://www.unknowncheats.me/forum/...", fetch_all_pages: true })

# Extract code blocks with language detection
extract_code({ url: "https://www.unknowncheats.me/forum/..." })

Project Structure

src/
├── index.ts          # MCP server entry + tool registration
├── browser.ts        # Chrome lifecycle, Cloudflare bypass, cookie persistence
├── types.ts          # Shared TypeScript interfaces
├── tools/
│   ├── check-login.ts
│   ├── login.ts
│   ├── search-forum.ts
│   ├── get-thread.ts
│   ├── extract-code.ts
│   └── debug-page.ts
└── parsers/
    ├── thread.ts         # Post extraction, pagination
    ├── search-results.ts # Search result parsing
    ├── code-blocks.ts    # Code extraction + language detection
    └── tags.ts           # Thread tag detection ([Source], [Release], etc.)

Notes

  • All logging uses console.error()console.log() is reserved for the MCP stdio transport
  • Thread pagination capped at 50 pages by default for fetch_all_pages
  • Language detection supports: C++, C#, Python, Lua

Reviews

No reviews yet

Sign in to write a review