Skip to main content
Glama

Lattice: CVE, MITRE ATT&CK and detection graph for security agents

Describe the graph

graph_meta
Read-onlyIdempotent

Describe the graph this server reads, without looking up any fact in it.

    Returns the snapshot id and creation time, the schema version with notable schema changes, the node labels (types), the relationship verbs, the contributing sources, and the path templates that graph_path accepts.

    When to call it: once at the start of a session, to learn the valid values for the label argument of graph_lookup, graph_search and graph_neighbors, the verb values for graph_neighbors and the template names for graph_path; and when you report a finding, to cite the snapshot id it came from.

    What it is not for: it returns no CVEs, techniques, groups or detections. Use graph_lookup to find those. It takes no arguments, only reads, and gives the same answer to every caller of a snapshot.
    

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "graph_meta"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds value the annotations cannot: there is no output schema, yet the description enumerates the returned payload (snapshot id, creation time, schema version with notable changes, node labels, relationship verbs, sources, path templates) and states the result is a stable snapshot answer identical for every caller.

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?

It is front-loaded with the core purpose, then organized into returned content, when-to-call, and what-it-is-not-for blocks, each labeled. Every sentence carries distinct information; there is no restating of the title or filler.

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?

For a no-argument, annotated, output-schema-less meta tool, the description covers purpose, output contents, call timing, stability semantics and sibling routing. Nothing an agent needs in order to invoke it correctly or interpret its result 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?

With zero parameters there are no argument semantics to explain, so the baseline applies. The description still adds downstream context by naming which sibling arguments the returned values populate, which helps an agent plan a session rather than just call this tool.

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?

"Describe the graph this server reads, without looking up any fact in it" gives a specific verb and resource plus an explicit negative boundary. It immediately distinguishes itself from graph_lookup, graph_search and graph_node, which do return facts, so an agent can pick the right tool without opening a schema.

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

Usage Guidelines5/5

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

It states exactly when to call (once at session start, and again when citing a snapshot id in a finding), what each returned value is for (valid label values for graph_lookup/graph_search/graph_neighbors, verb values for graph_neighbors, template names for graph_path), and a "what it is not for" exclusion pointing at graph_lookup. When, when-not and alternatives are all present.

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