Skip to main content
Glama

mureo_state_get

Fetch the strategy state from STATE.json: campaign data, sync timestamp, and action log. Returns server_now as authoritative current time, with optional action-log filtering to pending items.

Instructions

Read STATE.json and return its parsed v2 document: version, last_synced_at, platforms (per-platform campaigns), legacy v1 campaigns, and action_log. Returns an empty default doc when the file is absent. The response also carries server_now — the server's clock as ISO 8601 with UTC offset (e.g. 2026-07-28T10:12:33+09:00). It is the authoritative current date: every OTHER date in the document (last_synced_at, reports.*.period, action_log timestamps) is history and must never be read as 'today'. server_now is a response field only — do not write it back into STATE.json. action_log scopes the returned log to cut context cost: all (default) returns the full history unchanged; pending returns only entries with an OPEN observation_due — past-due ones you still owe an outcome evaluation, and future-due ones still under observation — dropping plain log entries and entries a later rollback (rollback_of) or evaluation record (evaluation_of) already closed; none omits the log entirely. Each pending entry carries an index field (its position in the FULL log) so you can close it after evaluating — append an entry with evaluation_of: <index> — without ever loading the whole history. When filtered (pending / none) the response carries action_log_scope (the mode) and action_log_total (the full pre-filter entry count) so the log you were shown is never mistaken for the complete history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoOptional path to the file. Defaults to STRATEGY.md / STATE.json in the MCP server's current working directory. Paths outside cwd are refused.
action_logNoScope of the returned action_log. ``all`` (default) = the full history, byte-identical to the legacy behaviour. ``pending`` = only entries with an open ``observation_due`` (past-due + future-due), for the daily-check evidence loop. ``none`` = omit the log. Filtered responses add ``action_log_scope`` + ``action_log_total`` markers.
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses critical behaviors: the empty default doc when the file is absent, server_now as the authoritative clock and the warning not to write it back, the precise semantics of each action_log scope, and the inclusion of action_log_scope/action_log_total markers. This is exemplary transparency.

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?

The description is long but front-loaded with the core purpose. Every sentence provides necessary context (server_now semantics, log filtering, markers). It is somewhat dense and partially repeats schema details, but remains efficient for the complexity involved. A 4 is appropriate.

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 must explain return values. It covers all major fields (version, last_synced_at, platforms, legacy campaigns, action_log, server_now) and edge cases (absent file, filtered log markers). It also explains the index field and how to close pending entries. This is fully complete for a read tool.

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 semantic detail beyond the schema: it explains the 'byte-identical' legacy behavior of 'all', clarifies what 'pending' includes (past-due and future-due), and describes the index field for closing entries. This extra context earns a 4.

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 opens with a specific verb and resource: 'Read STATE.json and return its parsed v2 document' and enumerates the exact contents (version, last_synced_at, platforms, legacy v1 campaigns, action_log). This clearly distinguishes it from sibling mutation tools like mureo_state_upsert_campaign and mureo_state_action_log_append.

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 clear context for when to use the action_log filter, stating 'pending' is 'for the daily-check evidence loop.' However, it does not explicitly contrast this tool with alternatives or state when not to use it, so it falls short of an explicit when/when-not directive.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server