1. Conduid
  2. Communication
  3. Chat Royale
MCP server · Communication

Chat Royale

A Clash Royale agent, powered by a custom built Clash Royale MCP server. Enables the agent to fetch accurate data from the Clash Royale servers..

Unclaimed last commit 6 months ago comms
46Fair

Scored 18 hours ago · breakdown

About Chat Royale

Chat Royale is an MCP server published by Baighasan in the Communication category: a Clash Royale agent, powered by a custom built Clash Royale MCP server. Enables the agent to fetch accurate data from the Clash Royale servers..

The repository has 2 stars and 0 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/Baighasan/Chat-Royale

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Chat Royale

Powered by Claude · Grounded in docs

I know everything about Chat Royale. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 18 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

Chat Royale

AI-powered Clash Royale agent using Gemini 2.0 with MCP tools for real-time game data access.

Full Technical Deep Dive

I recently wrote a technical breakdown on the architecture, my building process and other cool things about this project. You can read it on my websites here:

Full Technical Deep Dive

Architecture

Three containerized services:

MCP Server (src/mcp/) - Python FastMCP server exposing Clash Royale API tools:

  • Players, Clans, Cards, Rankings

Backend API (src/backend/) - Node.js/Express server:

  • Integrates Gemini with MCP client via @modelcontextprotocol/sdk
  • Standard JSON request/response (no streaming)
  • Tool execution handled internally with iterative Gemini calls

Frontend (src/frontend/) - React/TypeScript UI:

  • Simple chat interface with markdown support
  • Standard HTTP requests to backend API

How It Works

  1. User sends message to frontend
  2. Frontend posts to backend /api/chat
  3. Backend connects to MCP server and discovers tools
  4. Gemini processes message with available tools
  5. If tools needed: backend executes via MCP, feeds results back to OpenAI
  6. Final response returned as JSON to frontend

Deployment

Production: AWS Lightsail with Cloudflare CDN

CI/CD: GitHub Actions auto-deploy on main branch push/merge

# Deploy
docker-compose -f docker-compose.prod.yml up -d --build

Development

# Environment setup
# Backend: src/backend/.env - GEMINI_API_KEY
# MCP: src/mcp/.env - CR_API_KEY

# Run all services
docker-compose up -d

Tech Stack

  • MCP Server: Python 3.12, FastMCP, Clash Royale API
  • Backend: Node.js, Express, TypeScript, Gemini SDK
  • Frontend: React, TypeScript, Vite, TailwindCSS
  • Deployment: Docker, AWS Lightsail, Cloudflare, GitHub Actions

README fetched from the repository 18 hours ago. The original is authoritative.

Questions

About Chat Royale

How do I install Chat Royale?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Chat Royale safe to use with an AI agent?

Its trust score is 46 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Chat Royale still maintained?

The last commit was 6 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.