MCP Server

NVIDIA NemoClaw CKG

io.github.Yarmoluk/ckg-nvidia-nemoclaw
Knowledge & Documentation Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Queries and traverses a knowledge graph covering NVIDIA NemoClaw concepts, architecture, dependencies, sources, and model-routing guidance.

ask_nemoclaw
Answer a question about NVIDIA NemoClaw by traversing the knowledge graph. Covers: agent runtimes (OpenClaw/Hermes/Deep Agents), OpenShell platform, inference routing, network policy, security layers, deployment paths, progressive tool disclosure, managed MCP servers, snapshots, shields, FOX Blueprint, Nemotron 3 Ultra ecosystem, and platform support. Args: question: Your question about NemoClaw concepts or architecture.
Input schema
{'type': 'object', 'title': 'ask_nemoclawArguments', 'required': ['question'], 'properties': {'question': {'type': 'string', 'title': 'Question'}}}
Output schema
{'type': 'object', 'title': 'ask_nemoclawOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_prerequisites
Return the full upstream prerequisite chain for a NemoClaw concept. Useful for understanding what a concept depends on end-to-end. Args: concept: Exact or partial concept label.
Input schema
{'type': 'object', 'title': 'get_prerequisitesArguments', 'required': ['concept'], 'properties': {'concept': {'type': 'string', 'title': 'Concept'}}}
Output schema
{'type': 'object', 'title': 'get_prerequisitesOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
list_domains
List available domains in this CKG server.
Input schema
{'type': 'object', 'title': 'list_domainsArguments', 'properties': {}}
Output schema
{'type': 'object', 'title': 'list_domainsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
query_ckg
Return the typed subgraph around a NemoClaw concept. Args: concept: Exact or partial concept label (e.g. 'OpenClaw', 'NetworkPolicy', 'L7Proxy'). depth: Traversal hops (1–5, default 3).
Input schema
{'type': 'object', 'title': 'query_ckgArguments', 'required': ['concept'], 'properties': {'depth': {'type': 'integer', 'title': 'Depth', 'default': 3}, 'concept': {'type': 'string', 'title': 'Concept'}}}
Output schema
{'type': 'object', 'title': 'query_ckgOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
query_intersect
Answer a conjunctive query: concepts reachable from EVERY anchor at once (A AND B). query_ckg walks outward from one concept. This intersects the reachable sets of two or more, which is the shape of most real questions — "the component that satisfies A AND applies to B". Neither anchor alone answers it; the answer lives in the overlap. Every branch is an exact set of declared edges, so the intersection is exact. A concept appears only if a declared path reaches it from each anchor. A relation missing from the graph produces an empty result, never a guess. Args: branches: Two or more branches. Either a bare anchor ("TensorRT-LLM"), which takes everything within `depth` hops, or an anchor plus an explicit relation path using '>' ("TensorRT-LLM > REQUIRES > ENABLES"), where each relation replaces the frontier. '*' matches any relation. Mix both forms freely. depth: Hops for bare-anchor branches, 1-5 (default 2). Ignored for explicit paths. direction: 'out' follows dependencies, 'in' follows them backwards, 'both' (default). mode: 'AND' (default) intersects branches; 'OR' unions them. limit: Max concepts listed, 1-200 (default 40). The true count is always shown. Returns: Markdown with the query plan and its per-step set sizes, then the answer set with taxonomy tags. Reports which branch was empty when the intersection is empty.
Input schema
{'type': 'object', 'title': 'query_intersectArguments', 'required': ['branches'], 'properties': {'mode': {'type': 'string', 'title': 'Mode', 'default': 'AND'}, 'depth': {'type': 'integer', 'title': 'Depth', 'default': 2}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 40}, 'branches': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Branches'}, 'direction': {'type': 'string', 'title': 'Direction', 'default': 'both'}}}
Output schema
{'type': 'object', 'title': 'query_intersectOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
route_query
Route a NemoClaw question to the optimal model and reasoning approach via graph depth. The CKG graph IS the router. NemoClaw's dependency chains (e.g. OpenShell → L7Proxy → CorporateCA → mTLS) are deep and typed — hop depth is a deterministic complexity signal. No heuristic: the graph decides which model and reasoning approach to use. Routing table: hop_depth 1 → haiku · direct (single concept lookup) hop_depth 2 → sonnet · generic_cot (moderate chain) hop_depth 3+ → opus · sparql_cot (deep chain, structured reasoning required) Args: question: Concept name or natural language question about NemoClaw / OpenShell. Returns: model_tier + reasoning_approach + why + context subgraph to inject before LLM call.
Input schema
{'type': 'object', 'title': 'route_queryArguments', 'required': ['question'], 'properties': {'question': {'type': 'string', 'title': 'Question'}}}
Output schema
{'type': 'object', 'title': 'route_queryOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
search_concepts
Fuzzy search for NemoClaw concepts by name or keyword. Args: query: Partial name or keyword (e.g. 'policy', 'inference', 'agent').
Input schema
{'type': 'object', 'title': 'search_conceptsArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query'}}}
Output schema
{'type': 'object', 'title': 'search_conceptsOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
verify_source
Return the authoritative source URL and content hash for a NemoClaw concept node. Every node in the CKG was declared from a specific source document. This tool returns the source URL (where the node came from) and the SHA-256 hash of that document's bytes at extraction time. A hash mismatch on re-fetch means either the source has changed (stale edge — re-extract) or the graph was patched without re-fetching (silent edit — investigate). Audit chain: edge answer → graph commit → source_hash → source_url (fetch hint) Verification: curl -s <source_url> | sha256sum # compare output to source_hash Args: concept: Exact or partial concept label (e.g. 'CorporateCA', 'L7Proxy').
Input schema
{'type': 'object', 'title': 'verify_sourceArguments', 'required': ['concept'], 'properties': {'concept': {'type': 'string', 'title': 'Concept'}}}
Output schema
{'type': 'object', 'title': 'verify_sourceOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Added
query_intersect
Sept. 17, 2026, 12:53 p.m.
Added
route_query
Sept. 17, 2026, 12:53 p.m.
Added
verify_source
Sept. 17, 2026, 12:53 p.m.
Added
list_domains
Sept. 17, 2026, 12:53 p.m.
Added
search_concepts
Sept. 17, 2026, 12:53 p.m.
Added
get_prerequisites
Sept. 17, 2026, 12:53 p.m.
Added
query_ckg
Sept. 17, 2026, 12:53 p.m.
Added
ask_nemoclaw
Sept. 17, 2026, 12:53 p.m.