Skip to main content
Glama

Enter Golemreach

golemreach_connect

Pass the sessionId returned by golemreach_connect with EVERY tool call, including after reconnecting. Keep it private: it grants control of your character. If you have no sessionId yet, call golemreach_connect once.

Join the game. This is always your first call. It registers an account, creates a character and walks it into the world in one step, then returns your first look at the world and opens the live view.

Call it again later only if you were disconnected; it remembers your character between runs, so a second call resumes the same character rather than making a new one (pass fresh:true if you really want a new account).

RETURNS: your character, its next goal (in the tutorial) or the options open to you (after it), the threats in sight and the standard world view, plus a watch link the person you are chatting with can open.

The player wants you to play THEIR character? Ask for a claim code and pass it as claimCode.

COMMON FAILURE: a character name collision — names are unique across the whole server, so pass a different name.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "golemreach_connect"
  }
}

Input Schema

NameRequiredDescriptionDefault
linkNoHosted connector only: ask to sign in and link a play.golemreach.com account, so the same character follows the player to any chat.
nameNoName for a new character. Must be unique server-wide. Omit for a generated one, or to resume.
freshNoIgnore any remembered account and register a brand new one.
tokenNoAn existing account token, if you already have one (local bridge only).
vocationNoClass for a NEW character; ignored when resuming. vanguard = most health and melee damage, no real magic, the easy start. outrider = ranged, self-sufficient. ashcaller = huge fire damage, dies quickly. rootspeaker = healing and nature. Default vanguard, the forgiving choice for a first character. (The older ids knight, paladin, sorcerer and druid still work.)
agentNameNoLabel for your account and for spectators watching the world.
claimCodeNoA claim code the player gave you (they make it on play.golemreach.com, Settings, "Generate a claim code"). Connects you to THEIR account and plays their character (pick one with name). Single-use, lasts 15 minutes.
serverUrlNoBase URL of the game server, e.g. "http://localhost:7171". Defaults to GOLEMREACH_URL. Ignored on the hosted connector.
sessionIdNoPass the sessionId returned by golemreach_connect with EVERY tool call, including after reconnecting. Keep it private: it grants control of your character. If you have no sessionId yet, call golemreach_connect once.
characterIdNoAn existing character id on that account, e.g. "ch4".
characterNameNoSame as name (older spelling).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / claimCode
      Added value: +{
      +  "description": "A claim code the player gave you (they make it on play.golemreach.com, Settings, \"Generate a claim code\"). Connects you to THEIR account and plays their character (pick one with name). Single-use, lasts 15 minutes.",
      +  "type": "string"
      +}
  2. Changed7 schema fields changed
    • changedInput schema / properties / characterName / description
      Previous value: -"Name for a new character. Must be unique server-wide. Omit to get a generated one, or to resume an existing character."New value: +"Same as name (older spelling)."
    • addedInput schema / properties / link
      Added value: +{
      +  "description": "Hosted connector only: ask to sign in and link a play.golemreach.com account, so the same character follows the player to any chat.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / name
      Added value: +{
      +  "description": "Name for a new character. Must be unique server-wide. Omit for a generated one, or to resume.",
      +  "type": "string"
      +}
    • changedInput schema / properties / serverUrl / description
      Previous value: -"Base URL of the game server, e.g. \"http://localhost:7171\". Defaults to GOLEMREACH_URL or http://localhost:7171."New value: +"Base URL of the game server, e.g. \"http://localhost:7171\". Defaults to GOLEMREACH_URL. Ignored on the hosted connector."
    • changedInput schema / properties / token / description
      Previous value: -"An existing account token, if you already have one."New value: +"An existing account token, if you already have one (local bridge only)."
    • changedInput schema / properties / vocation / description
      Previous value: -"Class for a NEW character; ignored when resuming. knight = most health and melee damage, no real magic, the easy start. paladin = ranged, self-sufficient. sorcerer = huge damage, dies instantly. druid = healing and ice. Default knight, which is the forgiving choice for a first character."New value: +"Class for a NEW character; ignored when resuming. vanguard = most health and melee damage, no real magic, the easy start. outrider = ranged, self-sufficient. ashcaller = huge fire damage, dies quickly. rootspeaker = healing and nature. Default vanguard, the forgiving choice for a first character. (The older ids knight, paladin, sorcerer and druid still work.)"
    • changedInput schema / properties / vocation / enum
      Previous value: -[
      -  "knight",
      -  "paladin",
      -  "sorcerer",
      -  "druid"
      -]New value: +[
      +  "vanguard",
      +  "outrider",
      +  "ashcaller",
      +  "rootspeaker",
      +  "knight",
      +  "paladin",
      +  "sorcerer",
      +  "druid"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / sessionId
      Added value: +{
      +  "description": "Pass the sessionId returned by golemreach_connect with EVERY tool call, including after reconnecting. Keep it private: it grants control of your character. If you have no sessionId yet, call golemreach_connect once.",
      +  "pattern": "^gs_[A-Za-z0-9_-]{43}$",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses account and character creation, cross-run persistence and resume behavior, live-view opening, sessionId's control-granting sensitivity, return contents, and a likely name-collision failure. This is consistent with readOnlyHint=false and openWorldHint=true and gives the agent a clear operational model.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short paragraphs and labeled RETURNS and COMMON FAILURE sections make the long description easy to scan, and most content is operationally useful. It could be tighter: the sessionId preamble duplicates the schema and delays the core purpose, while several parameter details are repeated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a stateful 11-parameter onboarding tool with no output schema, it covers initialization, reconnection, persistence, session security, return contents, player-owned accounts, and a common failure. Together with the fully documented schema, this leaves no material gap likely to prevent correct selection or invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The 100%-covered schema already supplies nearly all of this detail, including sessionId handling, fresh, claimCode, and name uniqueness. The description adds modest recovery and workflow context, such as choosing another name after a collision and asking the player for a claim code, but substantial new parameter meaning is limited.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Join the game" is followed by concrete effects: registering an account, creating a character, entering the world, returning the first view, and opening the live view. "Always your first call" and the reconnect-only rule distinguish it from golemreach_frame, golemreach_look, and golemreach_play without requiring their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to call once at the start, call again only after disconnection, use fresh:true only for a genuinely new account, and use claimCode when playing the player's character. These concrete when and when-not rules cover the main invocation branches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.