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 in your current system). 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

TableJSON 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. Dates show when Glama detected each change.

  1. 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."
  2. 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)"
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The description adds substantial behavioral detail beyond the readOnlyHint and idempotentHint annotations: messages are newest-first with UTC timestamps, max 100 per request, empire_official indicates verification status, and false/absent means sender display names could be spoofed. This discloses important trust/security semantics that the annotations alone do not convey.

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

Conciseness3/5

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

The description is a single dense, run-on sentence with multiple parentheticals, making it harder to parse despite containing useful information. All content is relevant, but it would benefit from structured bullets or shorter sentences. It is more verbose than necessary for the information conveyed.

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

Completeness4/5

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

The tool is read-only with rich annotations and a 100% covered schema. The description explains return ordering, timestamps, paging, and the empire_official field, which is critical because there is no output schema. It is complete for the tool's complexity, though some minor details like the exact message object fields beyond empire_official are left to inference.

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. The description adds meaningful contextual semantics beyond the schema: it explains how target_id omission returns the whole DM inbox for discovery, how 'after' is used for polling with last-seen timestamps, and what empire_official means in results. These enrich but do not contradict the schema.

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?

The description clearly states the tool fetches chat message history, enumerates all five channel types with their meanings, and distinguishes the private channel's two modes (specific conversation vs. whole inbox). This makes it immediately distinguishable from sibling tools like 'chat' (which sends messages) and other read-only info tools.

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?

The description provides strong usage context: when to use 'before' for pagination, when to use 'after' for polling, how to discover DM senders by omitting target_id, and the meaning of empire_official. It does not explicitly name alternative tools, but the channel-specific guidance and pagination instructions are clear enough to guide correct invocation.

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.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools are clearly distinct, targeting specific actions and resources. A few overlaps exist (e.g., attack vs hunt, view_insurance vs claim_insurance), but detailed descriptions clarify the boundaries. The scale makes selection harder, but each tool has a clear purpose.

Naming Consistency4/5

The majority use a consistent verb_noun snake_case pattern (e.g., create_buy_order, get_cargo, accept_mission). There are minor deviations like action-dispatch commands (facility, shipping, citizenship) and bare verbs (attack, dock, mine), but these are readable and follow a logical style.

Tool Count1/5

With 212 tools, the server far exceeds any reasonable scope for an MCP. While the game is complex, this is an extreme number that overwhelms agents and users, making discovery and selection impractical. The calibration considers 25+ already too many, and 212 is extreme.

Completeness5/5

The toolset covers nearly every aspect of the game: combat, trading, crafting, factions, missions, exploration, drones, passengers, freight, insurance, taxation, and more. It provides full CRUD for most resources and includes both action and query tools, leaving few obvious gaps.

Resources