Nvidia Ontology Query
NVIDIAOfficialCreated by NVIDIA
- Skill
- Tool integration
- Data and AI
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured procedure for agents to interact with the Auto Ontology system. It emphasizes a rigorous validation process for all generated answers, ensuring that SQL, returned rows, and prose are checked against material constraints before being presented. The skill supports both MCP for direct reads and a REST gateway for authenticated access, while strictly separating query execution from data management tasks.
What it does
- Verifies system readiness and database connectivity before query execution.
- Searches semantic terms to confirm answerability within the ontology.
- Executes text-to-SQL queries via MCP or authenticated REST endpoints.
- Validates generated SQL, row data, and prose against material constraints.
- Handles conversation threads and state management for multi-turn interactions.
- Provides fallback mechanisms for authentication and error handling.
When to use it
- When you need to retrieve grounded, data-backed answers from an Auto Ontology deployment.
- When performing diagnostic or descriptive analysis that requires SQL validation.
- When integrating an agent with an Auto Ontology instance via MCP or REST.
- When you need to ensure that query results are accurate and meet specific business logic requirements.
Advantages
- Ensures high-integrity answers through a mandatory validation workflow.
- Provides a consistent interface for both MCP and REST-based clients.
- Reduces errors by enforcing checks on SQL, grain, and data lineage.
- Supports secure, authenticated access to ontology data.
Usage examples
- “How many orders were shipped last week?”
- The agent checks readiness, searches for relevant terms, executes the query, validates the SQL and rows, and returns a verified count.
- “What is the total revenue for the current quarter?”
- The agent performs a grounded query, verifies the measure grain and time scope, and provides a validated answer based on the returned rows.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/nvidia/nvidia-ontology-query/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip nvidia-ontology-query.zip -d .agents/skills
Documentation by NVIDIA
<!-- SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 -->
Auto Ontology grounded queries
Purpose
Query the current Auto Ontology implementation from an agent without prescribing a harness, SDK, or LangGraph template. Typed workflow artifacts, statuses, gates, and handoffs are in runtime-contract.yaml.
Prerequisites
Use a running Auto Ontology deployment and an authenticated MCP or REST client. If Auto Ontology is
not running, use nvidia-ontology-setup first.
Limitations
This skill reads and validates answers. It does not expose FastAPI directly,
write semantic definitions, publish governed results, or provide a raw-schema
browser. Hand mutations and publication to nvidia-ontology-management.
Instructions
Call readiness before asking a question.
Discover terms and confirm answerability through the semantic layer.
Ask through MCP, or use the authenticated Next.js REST gateway as fallback.
Validate material intent, SQL, rows, truncation, and prose before presenting a claim-bearing answer.
Prefer MCP for reads
When the harness speaks MCP, use it. The handshake tool list is the live
source of truth (mcp/auto_ontology_mcp/tools.py). Do not copy a tool table into the
session; if the handshake and this skill disagree, trust the handshake.
Sequence (the server also advertises this so models do not jump straight to
ask_question):
check_readiness— compiled semantic layer and a live DB connection.search_terms— what the nouns mean here.check_answerable— cheap coverage check.ask_question— full text-to-SQL; tens of seconds; answer + SQL + rows (capped at 100 rows, withrow_count/truncated).For a claim-bearing answer, validate material intent, generated SQL, returned rows, truncation, and prose using query-validation.md.
Everything on MCP reads. There is no MCP tool for raw databases, schemas,
or columns on purpose. describe_table is the legitimate table view: terms
and SQL attributes the table participates in.
Connect: AUTO_ONTOLOGY_API_URL is the web app. Run auto-ontology-mcp, point the client at
…/mcp, user signs in. No token on the MCP server. Details:
repository mcp/README.md and docs/mcp.md.
REST fallback and write handoff
When MCP is unavailable, public clients call the authenticated Next.js
gateway, not FastAPI
:3001. FastAPI trusts x-auto-ontology-user-id and must not be exposed. A direct
FastAPI request without conversation_id is stateless; with
conversation_id it requires that internal header.
Auth (any of these; resolved in one place):
Browser session cookie
API token:
x-api-key: $AUTO_ONTOLOGY_API_TOKEN(Authorization: Bearerworks forauto_ontology_…tokens too). Token acts as its owner.OAuth bearer issued by Auto Ontology (MCP sign-in)
SSO id token (
Authorization: Bearer <jwt>), e.g. AI-Q — see stack.md
Shapes: docs/openapi/auto-ontology-api.json. Do not scrape all ~87 operations. A write
request hands off to nvidia-ontology-management; this skill does not turn a read-only
question into a mutation.
Chat
POST /api/chat/completions — SSE step / result / error / charts,
then [DONE]. Permission chat:use; a request with conversation_id also
needs conversation:write, or it gets 403.
Omit
conversation_idfor a one-shot (no history, no chart step).Supply a client-generated UUID to create or continue a thread (needs
chat:useandconversation:write).Wait for
[DONE]before the next turn; overlapping requests return409 Conversation in progress.A 404 on a conversation id means it belongs to another user.
Python (from the Auto Ontology README; no extra SDK):
import os
import requests
session = requests.Session()
session.headers["x-api-key"] = os.environ["AUTO_ONTOLOGY_API_TOKEN"]
terms = session.get("https://ontology.example.com/api/terms").json()
answer = session.post(
"https://ontology.example.com/api/chat/completions",
json={"question": "How many orders shipped last week?"},
)
# response is SSE, not a single JSON objectOpen an API-created thread in the UI at /chat?focus=<conversation_id> when
it belongs to the signed-in user.
Discovery (semantic layer, not a catalog browser)
MCP first. REST fallback:
GET /api/terms(query,skip,limit)GET /api/terms/{term_id}GET /api/exploration/tables/{table_id}/detailsGET /api/exploration/graph
Writes and compile reset: nvidia-ontology-management.
Validate claim-bearing answers
Do not treat successful execution as sufficient evidence. Before presenting a decision-facing result, apply query-validation.md to check population, measure, unit, grain, joins, lineage, status, validity, rows, truncation, and answer prose. If a material constraint cannot be verified, return the gap rather than a stronger claim.
Empty or failed answers
ask_question / chat returned nothing useful → check_readiness (or
GET /api/semantic-compilation/status) before rewriting the question. A
named database is not proof SQL can execute. See nvidia-ontology-setup
troubleshooting.
Examples
For a grounded count, run
check_readiness,search_terms,check_answerable, and thenask_question.If a response is truncated or violates measure grain, refuse the complete claim and follow query-validation.md.
Troubleshooting
For empty or failed answers, check readiness and compilation status before rephrasing. For REST errors, verify the public web origin, authentication, and conversation ownership before retrying.
See also
stack.md — AI-Q, Nemotron, cuOpt (what exists vs what partners wire)
query-validation.md — material intent, SQL, rows, and answer checks
nvidia-ontology-management— model, modify, and publish through the layernvidia-ontology-setup— bring-up and MCP OAuth discovery
Files
- ATTRIBUTION.mdAdded by AutoGineer921 B
- BENCHMARK.md9.2 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md6.5 KiB
- assets/runtime-contract.yaml2.1 KiB
- evals/evals.json9.7 KiB
- references/query-validation.md3.6 KiB
- references/stack.md2.7 KiB
- skill-card.md4.8 KiB
- skill.oms.sig5.2 KiB
skill.oms.sig
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAibnZpZGlhLW9udG9sb2d5LXF1ZXJ5IiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA3NmVlNjBjZDkxMmFiN2ZkNmE0ZTcxYWY1YWUxYWYxYWY2MGFiNDk0NWE5ZTdhNWE2NGI1MDgyMzU1NTI4NTAiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vbW9kZWxfc2lnbmluZy9zaWduYXR1cmUvdjEuMCIsCiAgInByZWRpY2F0ZSI6IHsKICAgICJzZXJpYWxpemF0aW9uIjogewogICAgICAibWV0aG9kIjogImZpbGVzIiwKICAgICAgImFsbG93X3N5bWxpbmtzIjogZmFsc2UsCiAgICAgICJpZ25vcmVfcGF0aHMiOiBbCiAgICAgICAgIi5naXRpZ25vcmUiLAogICAgICAgICIuZ2l0YXR0cmlidXRlcyIsCiAgICAgICAgIi5naXQiLAogICAgICAgICIuZ2l0aHViIgogICAgICBdLAogICAgICAiaGFzaF90eXBlIjogInNoYTI1NiIKICAgIH0sCiAgICAicmVzb3VyY2VzIjogWwogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMWMxYWRmYzE1Yjg2YzJhMzdmMTM3MTZjOWU2YjlkYWI0ZjQyYmMyM2VlMGQ5M2ExZTM1N2JlYmNlM2QwMDczYSIsCiAgICAgICAgIm5hbWUiOiAiQkVOQ0hNQVJLLm1kIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNjFiYTdkYzQwY2I4OGZiN2M1ZmIxNzljOWUyNTEyMzdjYTBlY2Q5MjFiMjk4YzQ1ZWUzNDcxYWIwM2U0YmVlNCIsCiAgICAgICAgIm5hbWUiOiAiU0tJTEwubWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJmN2U3YzEyMmM2ZWM0YTE1MDhmMDNlODdlNmNmOWVlOTcxNmUyN2UyYTM0Y2Y1M2YxMjkxZGVlMGM2YjUyMjc3IiwKICAgICAgICAibmFtZSI6ICJhc3NldHMvcnVudGltZS1jb250cmFjdC55YW1sIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYzhlY2IzYjZkNjhmZDZjZGMxOTU0MGU3YWMxZDVjMDZiNTliNDg4ZDkwZTdhZDg0OWRlMGNjMzVlOGVmMjYyNCIsCiAgICAgICAgIm5hbWUiOiAiZXZhbHMvZXZhbHMuanNvbiIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjQ0YTkyNDZiMGQ0MjZhZmEyNjUyNmYwMjczZGViYTBlNGM3NGFiYmEzNTMyMzMxM2NkMDI4YTYzOWNiNTAyZGQiLAogICAgICAgICJuYW1lIjogInJlZmVyZW5jZXMvcXVlcnktdmFsaWRhdGlvbi5tZCIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjg2NWY1YmM0OTFlZTEzN2Q1MWFhNTA2YWQyODkxNmE2YTQyNDY3OWM0ZTY4MmQ4ZjA5YzJjN2IxY2ZlYTRiNWYiLAogICAgICAgICJuYW1lIjogInJlZmVyZW5jZXMvc3RhY2subWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJkYzZjOGNlYjc0NDQ2YWFhZjg4ZTVlNjc4YjVlMzNmOThmMWJlY2RlMDQ1OTUzMGM0ZDc3OTc3ZjMyNTNiNzhmIiwKICAgICAgICAibmFtZSI6ICJza2lsbC1jYXJkLm1kIgogICAgICB9CiAgICBdCiAgfQp9","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGUCMDbhASaArxHkNfEfi5SMb4H3UDIJ3pkoI6n8gEPDYXZwRKJye7jA5d7ApGgGc/C4NgIxAI+2+4EwM4QrnN2tHvVxSPlajhvTQ5lvt6WGh6s4srRk6pc4hbUjPxcck136TS2O3Q==","keyid":""}]}}Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an MCP server, Needs Python
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/nvidia-ontology-query · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download nvidia-ontology-query.zip