Skip to main content
Glama

quipu_project

Destructive

Project a knowledge graph and run graph algorithms like PageRank, community detection, stats, components, or shortest paths, optionally restricted by node type or predicate.

Instructions

Project the knowledge graph and run a graph algorithm over it: stats (node/edge counts), in_degree (most-referenced entities), pagerank/ppr (global or personalized PageRank from seed entities), components (weakly-connected components), louvain (modularity community detection), or shortest_path. Optionally restrict the projection to a node type or predicate. Read-only by default; louvain with persist:true writes quipu:memberOfCommunity facts (superseding any prior derivation).

Input Schema

NameRequiredDescriptionDefault
toNoTarget entity IRI for shortest_path
fromNoSource entity IRI for shortest_path
typeNoRestrict the projection to nodes of this rdf:type IRI
graphNoProject ONE named graph's own facts instead of ROOT (quipu-tz5) — cheap against a small derived layer even when the episode log is large
limitNoMax results for in_degree/pagerank (default: 20)
seedsNoSeed entity IRIs (or raw term IDs) for personalized PageRank; non-empty switches pagerank to PPR
dampingNoPageRank damping factor (default: 0.85)
persistNolouvain only: persist quipu:memberOfCommunity facts (emergent clustering, NOT an access boundary), bitemporally superseding any prior derivation (default: false)
algorithmNoAlgorithm to run (default: stats)
max_itersNoPageRank max iterations (default: 100)
predicateNoRestrict the projection to edges with this predicate IRI
timestampNoTimestamp used for persisted community assignments.
toleranceNoPageRank convergence tolerance (default: 1e-6)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.17.0

TDQS

A4.1/5.0
Behavior4/5

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

With annotations declaring readOnlyHint=false and destructiveHint=true, the description usefully explains the source of mutation: only 'louvain with persist:true writes quipu:memberOfCommunity facts (superseding any prior derivation)'. That 'supersedes prior derivation' clause is exactly the kind of destructive side-effect detail annotations cannot convey. It omits cost/performance characteristics and return shape, keeping it from a 5.

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 algorithm list and the read-only caveat are front-loaded and the sentences are information-dense with no filler. The middle sentence ('Optionally restrict the projection...') is slightly redundant with the schema, and the algorithm enumeration makes sentence one long, but nothing is wasted.

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 13-parameter, seven-mode tool with no output schema, the description covers mode selection, scoping filters, and the one mutating branch. The main residual gap is that it does not sketch what each algorithm returns (result shape, ranking format), which matters more given there is no output schema to fall back on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/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 all 13 parameters including defaults, enums, and the seeds-to-PPR switch. The description echoes a few of these (type/predicate restriction, seeds, persist) but adds no syntax, IRI format, or interaction detail beyond the schema; baseline 3 applies.

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 precise verb+resource ('Project the knowledge graph and run a graph algorithm over it') and then enumerates all seven algorithms with a short gloss for each (stats = node/edge counts, in_degree = most-referenced entities, louvain = modularity community detection). This makes it clearly distinguishable from siblings like quipu_stats, quipu_query, or quipu_impact without opening the schema.

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 selection context at the algorithm level (personalized PageRank needs seeds; shortest_path needs from/to; louvain with persist writes facts), and states the default read-only mode. It stops short of naming alternatives or exclusions (e.g., when to prefer quipu_stats or quipu_cooccurrence over this), so it is strong context but not full when/when-not routing.

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