Lattice
Server Details
Read-only cyber knowledge graph for AI agents: CVEs, ATT&CK, detections, with each link's source.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool targets a distinct operation: exact-id lookup, prefix listing, single-node properties, neighbor traversal, multi-hop templates, graph metadata, and licence notices. The descriptions explicitly state 'when to call' and 'what it is not for', making boundaries between graph_lookup/graph_search and graph_node/graph_neighbors crystal clear.
All tools share a consistent graph_ prefix and snake_case form (graph_lookup, graph_search, graph_node, graph_neighbors, graph_path, graph_meta, graph_notices). The name stems mix verbs (lookup, search) and nouns (node, neighbors, path) but the pattern is still highly predictable.
Seven tools is well-scoped for a read-only graph query server, with each tool earning its place and no redundant or filler operations.
The surface covers the full read lifecycle for a knowledge graph: metadata, id lookup, prefix search, node detail, traversal, canned multi-hop paths, and licence notices. No write operations exist, which is appropriate for a read-only snapshot server; only a dedicated pagination/bulk helper is notably absent, which cursors already handle.
Available Tools
7 toolsgraph_lookupLook up an idARead-onlyIdempotentInspect
Find nodes by exact external id, e.g. CVE-2021-44228, T1059.001, CWE-79. Returns each match with its source (a CVE has a kev node if CISA lists it as exploited, and an nvd node) and a uid for graph_node and graph_neighbors. An empty items list means the graph has no such id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exact external id, for example CVE-2021-44228, T1059.001 or CWE-79. Case-insensitive; prefixes and free text do not match (use graph_search for a prefix). | |
| label | No | Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds real behavioral value beyond that: it explains the result shape (each match with its source, kev/nvd nodes for CVEs, a uid usable with graph_node/graph_neighbors) and defines the empty-items case as 'no such id' rather than an error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences: the lookup rule and examples come first, followed by the return semantics and the empty-result edge case. No filler, and every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry return semantics — and it does explain match structure, source nodes, the uid chaining into graph_node/graph_neighbors, and the empty-list meaning. The label filter is left entirely to the schema, which is a minor gap given the otherwise strong coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both the id format (case-insensitive, no prefixes) and the label semantics (valid labels from graph_meta, unknown labels refused) are fully documented in the schema. The description adds no parameter meaning beyond what the schema already states, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find nodes by exact external id') and grounds it with three concrete id examples (CVE-2021-44228, T1059.001, CWE-79). It does not itself differentiate from siblings like graph_search or graph_node, though that distinction lives in the schema rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'exact' — the reader infers this is not for prefix/free-text lookups, but the explicit 'use graph_search for a prefix' routing lives in the schema's id description, not the tool description. The empty-result note is helpful context but is not when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_metaDescribe the graphARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description adds instead of repeats: it takes no arguments, returns no CVE/technique/group/detection data, and yields the same answer to every caller of a given snapshot. It stops short of stating whether there is any cost, caching, or staleness caveat beyond the snapshot framing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core definition, then uses labeled blocks ('When to call it', 'What it is not for') so an agent can scan the trigger and the exclusion without reading the enumeration of return fields. No sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the return-value burden itself and does so fully: it names every field returned and the downstream arguments those fields populate. Nothing an agent needs before calling it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description usefully reinforces this ('takes no arguments') and redirects the agent to the metadata it exposes rather than implying any input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Describe the graph this server reads') and enumerates exactly what it returns: snapshot id and creation time, schema version, node labels, relationship verbs, contributing sources, and path templates. It is immediately distinguishable from siblings like graph_lookup, which return actual facts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('once at the start of a session'), names the concrete downstream uses (valid label values for graph_lookup/graph_search/graph_neighbors, verb values for graph_neighbors, template names for graph_path, snapshot citation when reporting), and an explicit 'What it is not for' exclusion routing fact-seekers to graph_lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_neighborsList linked nodesARead-onlyIdempotentInspect
Directly connected nodes with each link's verb, source, confidence and whether it is declared or inferred. Declared and cross-source links come first. If the answer has truncated: true, pass its next_cursor as cursor to continue.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | The uid of the node whose links to list, from graph_lookup, graph_search or graph_node. | |
| verb | No | Optional upper-case relationship verb to keep, for example EXPLOITS, DETECTS or USES. The valid verbs are listed by graph_meta. | |
| label | No | Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones. | |
| limit | No | Maximum links to return. The server clamps it to its own maximum; the answer reports applied_limit and limit_clamped. | |
| cursor | No | Continuation token: pass the next_cursor from a previous answer that had truncated: true to get the next page. Omit it for the first page. | |
| direction | No | Which links to follow: out (from this node), in (to this node) or both. | both |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: result ordering (declared and cross-source links first) and the truncation/next_cursor continuation protocol. It omits detail on confidence semantics and result size behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no waste, and the most important content (what is returned and in what order) is front-loaded before the pagination mechanics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully names the returned fields and the truncation contract, which is what an agent needs to page correctly. Remaining gaps, such as confidence scale or whether duplicate links can appear, are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents uid, verb, label, limit, cursor and direction. The description restates the cursor/truncated relationship and the returned fields but adds no filter syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'directly connected nodes' with each link's verb, source, confidence and declared/inferred status. It is clear this is a single-hop neighbor listing rather than a search or path tool. It does not, however, explicitly name a sibling to contrast against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the resource itself (list links for a node). There is no statement of when to prefer this over graph_path or graph_search, nor any prerequisite guidance beyond the uid source noted in the schema. The pagination instruction is operational rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_nodeRead a nodeARead-onlyIdempotentInspect
One node's properties (long text is clipped). uid comes from graph_lookup or graph_search. On a kev node: date_added, due_date, known_ransomware_use (Known or Unknown; Unknown means not recorded), required_action, vendor_project, product. On an nvd node: description and metadata (cvss_score, affected_products). A cvss_score of 0 means not scored yet.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | The uid of a node, as returned by graph_lookup, graph_search or graph_neighbors. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is the truncation disclosure ('long text is clipped') and the field-level semantics for kev and nvd nodes. The clipping note in particular is a behavioral trait an agent cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and the truncation caveat, then the uid provenance, then field semantics. The node-type field enumeration is dense but each item earns its place given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the burden of describing returns and does so for kev and nvd node types, including the important 'cvss_score of 0 means not scored' edge case. It is not exhaustive about other possible node types, which is the main gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage and a single required uid parameter, the schema already documents the argument fully, including its origin. The description repeats the same sourcing information and adds no format or syntax detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States clearly that it returns one node's properties, with the node identified by uid, which is a specific resource and implicitly a read verb. It does not explicitly differentiate itself from siblings like graph_neighbors or graph_meta, which also return node-adjacent data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent where uid comes from (graph_lookup or graph_search), which is useful prerequisite context, but gives no guidance on when to prefer graph_node over graph_neighbors or graph_meta, nor any when-not condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_noticesGet licence noticesARead-onlyIdempotentInspect
Return the licence and attribution notices for the data sources behind an answer.
Other tools list notice ids with their answers. Pass those ids here to get, for each notice, its title, what it applies to, the obligation it places on you (for example attribution wording or a share-alike condition) and the notice text. Long texts are cut and flagged text_truncated, with text_url pointing to the full text.
When to call it: before you quote, republish or build on anything the graph returned, and then quote what the obligation requires. Unknown ids are reported in unknown rather than failing.
What it is not for: it returns no security facts, and it is source licence information, not legal advice. It only reads and gives the same answer each time for a snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Notice ids to fetch, as listed in the notice list of other answers, at most 10 per call. Omit to get the notices the server holds (up to 10). Ids it does not know come back in the unknown list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, it discloses truncation behavior (long texts cut, flagged text_truncated, text_url for the full text), the graceful handling of unknown ids (reported in unknown rather than failing), and deterministic snapshot reads. These are exactly the behaviours an agent cannot infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well front-loaded: the core action leads, then call timing, then exclusions. The "What it is not for" paragraph is slightly padded with the legal-advice caveat, but every part still carries selection-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden and delivers: it enumerates the returned fields (title, what it applies to, the obligation, the notice text) and the truncation metadata. Nothing needed to call or interpret the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the ids parameter, the 10-per-call cap and the unknown-id behaviour are already documented in the schema. The description adds a little framing (ids come from other answers) but largely restates the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Return the licence and attribution notices for the data sources behind an answer") and explicitly positions itself against the other graph_* siblings by noting that they list notice ids while this tool resolves them. An agent can select it without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ("before you quote, republish or build on anything the graph returned") and explicit non-uses ("returns no security facts", "not legal advice"). It also documents the intended call chain from the notice ids emitted by other tools, which is the key routing fact.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_pathAnswer a multi-hop questionARead-onlyIdempotentInspect
Answer a fixed multi-hop question from an external id. Templates: cve-context (start: CVE), cve-to-defense (start: CVE), technique-coverage (start: Technique), weakness-chain (start: Weakness), actor-ttps (start: ThreatActor/Malware/Campaign). cve-to-defense gives the techniques a CVE enables and the detections and procedures for them.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | External id to start from; it must be of a kind the template starts from (see the template list in the tool description). | |
| label | No | Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones. | |
| template | Yes | Name of the path template, one of: cve-context, cve-to-defense, technique-coverage, weakness-chain, actor-ttps. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds template semantics and one concrete output shape for cve-to-defense, but says nothing about latency, result size, or how the multi-hop answer is structured beyond that one template.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose followed by a compact template enumeration; every clause carries information. The trailing sentence singling out cve-to-defense is slightly uneven in weight but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should carry more of the return-shape burden; it only fully describes one of five templates' outputs. For a multi-hop traversal tool with three parameters this is adequate but leaves meaningful gaps for four of the five modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description genuinely adds meaning the schema lacks: which node kind each template starts from, and what cve-to-defense returns. This is required reading because the schema's 'id' description defers the template/start-kind mapping to the tool description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Answer a fixed multi-hop question from an external id', and enumerates the five templates with their entry node kinds. It is clearly distinguished in spirit from single-hop siblings like graph_lookup or graph_neighbors, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The template list with start-node kinds gives real selection guidance for choosing between the five modes, and the 'fixed' wording implies predefined questions. There is still no stated when-not-to-use or routing to sibling tools such as graph_lookup for single-hop facts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_searchSearch ids by prefixARead-onlyIdempotentInspect
List nodes whose external id starts with a prefix (e.g. CVE-2024-1, T105). Ids only, not free text. If the answer has truncated: true, pass its next_cursor as cursor to continue; a list without truncated is complete.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones. | |
| limit | No | Maximum items to return. The server clamps it to its own maximum; the answer reports applied_limit and limit_clamped. | |
| cursor | No | Continuation token: pass the next_cursor from a previous answer that had truncated: true to get the next page. Omit it for the first page. | |
| id_prefix | Yes | Start of an external id, at least a few characters, for example CVE-2024-1 or T105. Not free text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds return-behavior semantics that annotations can't: the meaning of 'truncated: true' and that its next_cursor must be passed back, and that a result without truncated is complete. That is genuine value, though it doesn't cover rate limits or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences: what it returns, what it is not, and how to paginate. Front-loaded purpose with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains the truncated/next_cursor contract, which is the key thing an agent needs to loop correctly. It stops short of naming the returned id field or showing a full envelope, so a small gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so label, limit, cursor, and id_prefix are already documented in the schema, including the graph_meta cross-reference and clamping behaviour. The description largely restates the cursor/id_prefix semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List nodes whose external id starts with a prefix') with concrete id examples, and explicitly bounds the scope with 'Ids only, not free text.' This clearly separates it from sibling search/lookup tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the triggering condition (prefix of an external id) plus an explicit exclusion ('not free text'), and explains when to use the cursor. It doesn't name an alternative sibling for the free-text case, which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Changed
graph_lookup2 fields changed- added
Input schema / properties / id / descriptionAdded value: +"Exact external id, for example CVE-2021-44228, T1059.001 or CWE-79. Case-insensitive; prefixes and free text do not match (use graph_search for a prefix)." - added
Input schema / properties / label / descriptionAdded value: +"Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones."
- Changed
graph_neighbors6 fields changed- added
Input schema / properties / cursor / descriptionAdded value: +"Continuation token: pass the next_cursor from a previous answer that had truncated: true to get the next page. Omit it for the first page." - added
Input schema / properties / direction / descriptionAdded value: +"Which links to follow: out (from this node), in (to this node) or both." - added
Input schema / properties / label / descriptionAdded value: +"Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum links to return. The server clamps it to its own maximum; the answer reports applied_limit and limit_clamped." - added
Input schema / properties / uid / descriptionAdded value: +"The uid of the node whose links to list, from graph_lookup, graph_search or graph_node." - added
Input schema / properties / verb / descriptionAdded value: +"Optional upper-case relationship verb to keep, for example EXPLOITS, DETECTS or USES. The valid verbs are listed by graph_meta."
- Changed
graph_node1 field changed- added
Input schema / properties / uid / descriptionAdded value: +"The uid of a node, as returned by graph_lookup, graph_search or graph_neighbors."
- Changed
graph_notices1 field changed- added
Input schema / properties / ids / descriptionAdded value: +"Notice ids to fetch, as listed in the notice list of other answers, at most 10 per call. Omit to get the notices the server holds (up to 10). Ids it does not know come back in the unknown list."
- Changed
graph_path3 fields changed- added
Input schema / properties / id / descriptionAdded value: +"External id to start from; it must be of a kind the template starts from (see the template list in the tool description)." - added
Input schema / properties / label / descriptionAdded value: +"Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones." - added
Input schema / properties / template / descriptionAdded value: +"Name of the path template, one of: cve-context, cve-to-defense, technique-coverage, weakness-chain, actor-ttps."
- Changed
graph_search4 fields changed- added
Input schema / properties / cursor / descriptionAdded value: +"Continuation token: pass the next_cursor from a previous answer that had truncated: true to get the next page. Omit it for the first page." - added
Input schema / properties / id_prefix / descriptionAdded value: +"Start of an external id, at least a few characters, for example CVE-2024-1 or T105. Not free text." - added
Input schema / properties / label / descriptionAdded value: +"Optional node label (type) to restrict the answer to, for example CVE, Technique or Detection. The valid labels are listed by graph_meta; an unknown label is refused with the valid ones." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum items to return. The server clamps it to its own maximum; the answer reports applied_limit and limit_clamped."
7 tool updates
- First observed
graph_lookup - First observed
graph_meta - First observed
graph_neighbors - First observed
graph_node - First observed
graph_notices - First observed
graph_path - First observed
graph_search
Publisher details
- Operator
- NamiQ · Publisher source
- Operator website
- https://namiq.io · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://namiq.io/lattice/docs · Publisher source
- Trust center
- Not available
- Restrictions
- Calling tools needs an API key sent in the X-API-Key header (a trial key is issued at sign-up in the Lattice Analyst); initialize and tools/list work without a key. Keys are rate limited per hour and per day, and the service is in private beta under the Lattice beta terms. · Publisher source
Related MCP Connectors
Read-only CVE intelligence, remediation playbooks, and agent setup guides. Not a scanner.
Knowledge graph for AI agents. Query concepts, walk edges, get advisories.
Live threat intel for agents: incidents, actors, CVEs with KEV/EPSS, ransomware leak-site victims.
Public data intelligence for AI agents — CVE, compliance, patents, contracts, domains.
Related MCP Servers
- FlicenseAqualityBmaintenanceEnables querying MITRE ATT&CK and D3FEND data efficiently, providing techniques, detections, mitigations, actors, and countermeasures with token-aware summaries and paginated graph traversal.10-
- FlicenseNot gradedqualityCmaintenanceLets AI agents query a computerized system inventory as a knowledge graph using Cypher, enabling blast radius, data lineage, regulation checks, and change impact assessments while preventing hallucinated regulatory claims.-
- AlicenseNot gradedqualityAmaintenanceRead-only CVE intelligence, remediation playbooks, and agent setup guides. Not a scanner.2Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to query a temporal knowledge graph derived from a beads issue tracker via read-only Cypher queries, exposing current rules, supersession chains, and provenance without LLM API keys.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.