Skip to main content
Glama
FlowState by DialectForge

FlowState by DialectForge

Official

search

Read-onlyIdempotent

Find stored todos, decisions, changes, learnings, problems, and solutions by keyword or meaning; retrieve quoted answers with record IDs or list newest records.

Instructions

Find stored todos, decisions, changes, learnings, problems and solutions. query: ranked matches. query + answer=true: a short quoted answer with record ids, or says FlowState has nothing. query="D12": decision 12 in full. No query: the newest records. Read-only. Overview: start_here. Returns {results, count} or {answer, sources}.

Input Schema

NameRequiredDescriptionDefault
modeNoauto, keyword or meaning.auto
limitNoDefault 10, max 50.
queryNoWords, or a question when answer=true. Omit to list newest.
answerNotrue = answer the query, quoting records.
projectNoOmit to search every project.
since_hoursNoNo query only: from the last N hours.
content_typesNoOnly these record types. Omit for all.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv2.4.3
    • changedInput schema / properties / limit / description
      Previous value: -"Max results: default 10, max 50 (answer=true: 5, max 10)."New value: +"Default 10, max 50."
    • changedInput schema / properties / mode / description
      Previous value: -"auto (meaning too if a local model exists), keyword or meaning."New value: +"auto, keyword or meaning."
    • changedInput schema / properties / project / description
      Previous value: -"Project name or id. Omit to search every project."New value: +"Omit to search every project."
    • changedInput schema / properties / query / description
      Previous value: -"Words to find, or a question with answer=true. Omit to list the newest."New value: +"Words, or a question when answer=true. Omit to list newest."
  2. Changed11 schema fields changedv2.1.0
    • addedInput schema / properties / answer
      Added value: +{
      +  "description": "true = answer the query, quoting records.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / content_types / description
      Previous value: -"Filter: todo, decision, change, learning, problem, solution"New value: +"Only these record types. Omit for all."
    • addedInput schema / properties / content_types / items / enum
      Added value: +[
      +  "todo",
      +  "decision",
      +  "change",
      +  "learning",
      +  "problem",
      +  "solution"
      +]
    • removedInput schema / properties / limit / default
      Removed value: -10
    • addedInput schema / properties / limit / description
      Added value: +"Max results: default 10, max 50 (answer=true: 5, max 10)."
    • addedInput schema / properties / mode / description
      Added value: +"auto (meaning too if a local model exists), keyword or meaning."
    • changedInput schema / properties / project / description
      Previous value: -"Project name or id (optional)"New value: +"Project name or id. Omit to search every project."
    • removedInput schema / properties / project_id
      Removed value: -{
      -  "type": "integer"
      -}
    • addedInput schema / properties / query / description
      Added value: +"Words to find, or a question with answer=true. Omit to list the newest."
    • addedInput schema / properties / since_hours
      Added value: +{
      +  "description": "No query only: from the last N hours.",
      +  "type": "integer"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and closed-world behavior, so the description gets less credit for repeating 'Read-only.' It still adds meaningful behavioral detail beyond annotations: answer mode may return a short quoted answer with record IDs or state that FlowState has nothing, and the tool returns either {results, count} or {answer, sources}.

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

Conciseness5/5

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

The description is dense and front-loaded, moving directly from the resource scope to the main parameter combinations and return shapes. Every sentence carries operational meaning, and nothing is padded.

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?

For a 7-parameter read-only search tool with no output schema, the description covers the key call patterns, fallback answer behavior, direct lookup behavior, and return shapes. The main remaining gap is that the mode enum (auto, keyword, meaning) is not explained beyond the schema's minimal labels.

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 description coverage is 100%, so the baseline is 3. The description nonetheless adds semantic detail not fully captured by the schema, especially that query="D12" returns decision 12 in full and that query plus answer=true produces a quoted answer with record IDs. It does not explain the mode=auto/keyword/meaning distinctions, so it is not a 5.

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 set: it finds stored todos, decisions, changes, learnings, problems, and solutions. It also distinguishes the tool's query, answer, direct-lookup, and newest-record modes, and points to start_here for overview use, so the agent can identify what this tool does and how it differs from sibling 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?

It gives clear conditional usage guidance: a bare query returns ranked matches, adding answer=true produces a quoted answer, query="D12" retrieves decision 12 in full, and omitting query returns newest records. It also routes overview needs to start_here. It lacks explicit when-not-to-use guidance against the manage_* siblings, which keeps it below a 5.

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