Skip to main content
Glama

Persistent Project Context for xAI Grok

Structure-aware retrieval

faf_section
Read-onlyIdempotent

Phase III (FRC) — returns an EXACT, WHOLE .faf section by dotted path (e.g. "stack", "human_context"), structure preserved — the deterministic complement to blind chunking. Omit "section" to list every path.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYesRaw .faf YAML content.
sectionNoDotted path to retrieve (e.g. "stack.backend"). Omit to list all paths.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "content": {
      -      "items": {
      -        "properties": {
      -          "text": {
      -            "description": "Human-readable tool result.",
      -            "type": "string"
      -          },
      -          "type": {
      -            "const": "text",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type",
      -          "text"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "isError": {
      -      "description": "True when the tool failed.",
      -      "type": "boolean"
      -    }
      -  },
      -  "required": [
      -    "content",
      -    "isError"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "content": {
      +      "items": {
      +        "properties": {
      +          "text": {
      +            "description": "Human-readable tool result.",
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "text",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "text"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "isError": {
      +      "description": "True when the tool failed.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "content",
      +    "isError"
      +  ],
      +  "type": "object"
      +}
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations establish read-only, idempotent, non-destructive behavior. The description goes beyond that by disclosing the output is exact, whole, and structure-preserving, which directly affects how an agent interprets the response. This deterministic behavior is not visible in annotations, giving the agent additional critical context.

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 dense yet efficient, packing a lot of useful information into a single sentence with dash-separated clarifications. It is not overly verbose, though the 'Phase III (FRC)' phrase may add noise without additional context.

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?

Given the annotation coverage and the schema's description of parameters, the description provides sufficient information about what is returned and how the tool behaves. The absence of an output schema is mitigated by the explicit guarantee of returning a whole .faf section. Minor ambiguity remains around FRC terminology, but it does not prevent an agent from using the 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 high, with a brief description of both content and section. The description adds real value beyond the schema by providing concrete examples of dotted paths (stack, human_context, stack.backend) and by elaborating on the omit behavior for the section parameter, which is only tersely stated in 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 states a specific action (returns) and resource (a .faf section by dotted path), and explicitly describes the result's nature (exact, whole, structure preserved). It differentiates itself from blind chunking, positioning itself as the deterministic complement.

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 clearly indicates when to use this tool: for exact, structured retrieval rather than blind chunking. It also provides a specific usage rule for the optional section parameter (omitting it lists all paths) but does not articulate explicit 'when not to use' scenarios beyond the alternative complement.

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.3/5.0
Disambiguation2/5

Several faf_* tools overlap: faf_score, faf_validate, faf_analyze, and faf_gate all grade or gate content, while faf_get_tier and gf_analyze both address tier determination. Search and discovery also fragment into faf_collections_search, search_context, search_bfy_tag, list_tags, and tag_intel, making it easy for an agent to pick a nearly-equivalent tool.

Naming Consistency3/5

The set consistently uses snake_case and leans heavily on the faf_ domain prefix, but the style is not uniform: faf_score, faf_validate, and faf_estimate_tokens are action-based, while faf_memory, faf_section, and faf_gate are noun- or verb-like with less clear command intent. Overall still readable, but the pattern is mixed.

Tool Count3/5

19 tools is at the upper end of a reasonable number for a context/analysis system, especially with faf_ prefix family. However, some tools could be consolidated; faf_analyze overlaps faf_score+validate+get_tier, the several gone by explicit domain; several search/ag tools overlap, and the broad read-only surface leaves no obvious fns for create/update/delete operations.

Completeness2/5

This is a heavy read/analysis and scoring surface, but it lacks obvious write/update/delete primitives for persistent context entities. There are soul list/get and search tools, a faf generator, scoring/validation tools, and recommendations, but no create_soul, update_soul, delete_soul, or analogous persistent mutation operations for .faf/.fafm data. For 'persistent project context,' the set feels read-only and incomplete.