Skip to main content
Glama
Axiomatic-AI

axiomatic-mcp

Official
by Axiomatic-AI

AxKnowledgeBase_knowledge_graph_read

Run read-only Cypher queries against the knowledge graph to retrieve tabular data of entities, properties, and source papers. Use for comparing metrics or building dataframes by specifying aliased properties and required paper_id.

Instructions

Execute a read-only Cypher query against the knowledge graph and return the rows. Use this when the answer has to be a table of entities and their properties — comparing devices across metrics, building a dataframe, plotting — rather than the prose passages search_knowledge_base returns. Only MATCH/RETURN is permitted. Call get_knowledge_base_schema first to learn the available labels and property names.

Always alias individual properties in the RETURN clause; never return raw node or relationship objects (avoid RETURN n, write RETURN n.name AS name). For relationship queries, alias the source and target as from and to so the result renders as a graph.

Rows carry no provenance of their own, so every query must also return the paper each row came from. Entity, Statement and Passage nodes all carry doc_id, so the source is one index seek away — no need to walk the HAS_PASSAGE/HAS_STATEMENT/HAS_ENTITY chain: MATCH (e:Entity) WHERE e.name CONTAINS $term MATCH (p:Document {id: e.doc_id}) RETURN e.name AS name, p.id AS paper_id, p.title AS title Values returned without a paper_id (or doc_id) column are uncited and must not be presented as sourced results.

The whole result comes back in one response, so keep it small: return only the properties you need, add an explicit LIMIT (100 rows is usually plenty), and never select an embedding_* property or bulk Passage.text — long values are elided from the table, and the query is cheaper written narrowly than trimmed afterwards.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesA read-only Cypher MATCH/RETURN query, aliasing specific properties
paramsNoOptional query parameters, for safe value injection

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.20

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It states that only MATCH/RETURN is permitted, that rows carry no provenance and must include a paper_id/doc_id column, that the whole result comes back in one response, that long values are elided, and that embedding_* properties and bulk Passage.text should be avoided. It also warns that values without a paper_id are uncited and must not be presented as sourced. This is rich behavioral context beyond what any schema could convey.

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 every sentence earns its place: it covers purpose, usage, constraints, query patterns, provenance requirements, and performance guidance. It is front-loaded with the core purpose and the when-to-use statement, then moves into constraints and examples. It is somewhat dense and could be trimmed, but the density is justified given the complexity of the tool and the lack of annotations. The example query is valuable and not redundant.

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?

Given the tool's complexity (a raw Cypher query interface with no output schema and no annotations), the description is remarkably complete. It covers the query language constraints, the required aliasing pattern, the provenance requirement, the performance limits, and the relationship to sibling tools. An agent has everything it needs to invoke the tool correctly and interpret the results. The only minor gap is that it doesn't describe the exact response format, but the description explicitly says 'return the rows' and the example makes the shape clear.

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 schema already documents both parameters (query and params). The description adds significant meaning beyond the schema: it explains what a valid query looks like (MATCH/RETURN only, alias properties, alias from/to for relationships, include doc_id/paper_id), and it clarifies the purpose of params ('for safe value injection'). This goes beyond the baseline 3 because the description provides query-shaping rules that are essential for correct invocation.

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 verb ('Execute a read-only Cypher query'), a specific resource ('against the knowledge graph'), and the expected output ('return the rows'). It also explicitly contrasts with the sibling tool search_knowledge_base, which returns prose passages, making the distinction clear. The description is not a tautology and provides enough detail for an agent to know exactly what this tool does.

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?

The description explicitly says when to use this tool ('when the answer has to be a table of entities and their properties — comparing devices across metrics, building a dataframe, plotting') and contrasts it with the alternative ('rather than the prose passages search_knowledge_base returns'). It also provides a clear prerequisite: 'Call get_knowledge_base_schema first to learn the available labels and property names.' This is explicit when-to-use guidance with an alternative named.

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

Deploy Server

Other Tools