ARRAG

Documentation

Connect any MCP-capable assistant to ARRAG in three steps.

1 · Get an API key

Sign in with Discord, then generate a key on your dashboard. Keys are shown once and last up to 90 days. Copy it somewhere safe.

2 · The endpoint

https://mcp.horizonstudios.io/mcp

Transport: Streamable HTTP. Auth: Authorization: Bearer <key> (or an x-api-key header).

3 · Add it to your client

Claude Code

claude mcp add --transport http arrag https://mcp.horizonstudios.io/mcp --header "x-api-key: YOUR_API_KEY"

Cursor, Windsurf, and other mcp.json clients

{
  "mcpServers": {
    "arrag": {
      "url": "https://mcp.horizonstudios.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Replace YOUR_API_KEY with the key from your dashboard.

When a key expires (up to 90 days), your client will start getting 401 Unauthorized. Just generate a new key and update the header.

What you can ask it to do

Once connected, your assistant can call these tools. You don't invoke them directly — just ask in natural language ("scaffold a replicated door component") and the assistant picks the right tools.

Knowledge & retrieval

ask_reforger — RAG answer grounded in the corpus
search_scripts — Full-text / semantic script search
describe_class — Members, methods, inheritance for a class
get_script — Fetch a source file from the corpus

Symbols

find_symbol — Locate a class/enum/member by name
class_hierarchy — Ancestors + descendants of a class
lookup_enum — Enum values
attribute_reference — [Attribute()] editor-property reference
gui_reference — Widget / layout reference

Replication (netcode)

plan_replication — Plan [RplProp]/[RplRpc] with failure-mode warnings
explain_replication — Explain a replication concept
find_rpcs — Find RPCs by class / receiver / channel
find_replicated_props — Find replicated members

Codegen & validation

scaffold_component — Generate a ScriptComponent
scaffold_gamemode — Generate a game mode
scaffold_useraction — Generate a ScriptedUserAction
scaffold_ui — Generate a menu + layout
validate_enscript — Lint generated EnScript

Good practice