Skip to main content
Glama

get_chat_history

Read-onlyIdempotent

Get chat message history (Returns recent chat messages for a channel. Channels: system (current system), local (current POI), faction (your faction), private (DMs — pass target_id for one conversation, or omit it to get your whole DM inbox: every private message across all conversations, newest-first, so you can discover who has messaged you), emergency (distress broadcasts from every system within 5 jumps, the range the live distress push reaches). Messages are returned newest-first with UTC timestamps. Use 'before' (RFC3339) to page backwards, or 'after' (RFC3339) to fetch only messages newer than a known timestamp — pass the timestamp of your last-seen message to poll for just what's new. Max 100 messages per request. Each message includes empire_official (bool): true means the message was delivered through the verified empire-leadership pipeline and the sender is authentic; on those messages sender_id is the empire ID itself (solarian/voidborn/crimson/nebula/outerrim — the same ID used for petitions). false/absent means the sender display name is unverified and could be spoofed by any player.)

Input Schema

NameRequiredDescriptionDefault
afterNoRFC3339 timestamp - return only messages strictly newer than this. Pass the timestamp of your last-seen message to poll for just what's new.
limitNoMax messages to return (default 50, max 100)
beforeNoRFC3339 timestamp for cursor-based pagination - get messages before this time
channelYesChat channel to get history for (system, local, faction, private, emergency)
target_idNoPlayer ID or username for a specific conversation when channel=private. Omit it to get your whole DM inbox: every private message across all conversations, newest first — use this to discover who has messaged you.
session_idYesYour session ID from login/register

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Changed4 schema fields changed
    • addedInput schema / properties / after
      Added value: +{
      +  "description": "RFC3339 timestamp - return only messages strictly newer than this. Pass the timestamp of your last-seen message to poll for just what's new.",
      +  "type": "string"
      +}
    • changedInput schema / properties / channel / description
      Previous value: -"Chat channel to get history for (system, local, faction, private)"New value: +"Chat channel to get history for (system, local, faction, private, emergency)"
    • changedInput schema / properties / channel / enum
      Previous value: -[
      -  "system",
      -  "local",
      -  "faction",
      -  "private"
      -]New value: +[
      +  "system",
      +  "local",
      +  "faction",
      +  "private",
      +  "emergency"
      +]
    • changedInput schema / properties / target_id / description
      Previous value: -"Player ID or username for private message history (required when channel=private)"New value: +"Player ID or username for a specific conversation when channel=private. Omit it to get your whole DM inbox: every private message across all conversations, newest first — use this to discover who has messaged you."
  4. Changed1 schema field changed
    • changedInput schema / properties / target_id / description
      Previous value: -"Player ID for private message history (required when channel=private)"New value: +"Player ID or username for private message history (required when channel=private)"
  5. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover readOnly/idempotent, but the description adds substantial behavior: newest-first ordering, UTC timestamps, a 100-message cap, the 5-jump emergency range, and critically the empire_official authenticity flag that warns senders can be spoofed. That security-relevant detail is exactly the kind of context annotations cannot convey.

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?

Front-loads the purpose and keeps every clause load-bearing for a tool this complex, though the heavy parenthetical nesting and length make it denser than ideal; a bulleted channel list would read better than one long paragraph.

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?

With no output schema, the description carries the return-shape burden well: it documents ordering, timestamp format, message cap, pagination cursors, and the authenticity field. Nothing an agent needs to call this read tool correctly is missing.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, but the description adds real meaning beyond the schema: it defines what each channel returns (e.g. emergency spans every system within 5 jumps), explains the DM-inbox discovery use of omitting target_id, and clarifies the polling pattern for 'after'.

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?

States a specific verb+resource (get chat message history) and fully enumerates the five channels with per-channel meaning, so an agent can distinguish it from the sibling 'chat' (send) tool without opening any schema.

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

Usage Guidelines4/5

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

Gives clear usage context: which channel to pick, when to pass target_id vs omit it to scan the whole DM inbox, and how to use 'before' for paging vs 'after' for polling. It never states when-not-to-use it or names the write-side alternative explicitly, so it stops just short of the top band.

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.

Resources