Access to AO Platform Ontology from 3rd Party Products (Preview)

MCP Server vs REST API - Ontology Capability Matrix

Intended audience: Developers administrators

AO Platform: 5.0

Purpose

Side-by-side comparison of Ontology Builder workflow tasks showing capabilities in the App Orchid MCP Server vs the REST API.


Capability Matrix

Symbols: ✅ Available · ❌ Not Available · ⚠️ Partial / Known Issue.

Task

MCP Server

REST API

Connect & Inspect



  • List environments

✅ ao_list_environments

—

  • Setup credentials

✅ ao_setup_credentials, ao_discover_credentials

(operator manages credentials/ao-credentials.json)

  • Connect to env

✅ ao_connect

(HTTP session)

  • Switch ontology

✅ ao_switch_ontology

(HTTP session)

  • List ontologies

✅ ao_list_ontologies

✅ list_ontologies

  • List MSOs

✅ ao_list_msos (also list-msos on ao-mcp-server)

✅ list_msos

  • Get properties / describe MSO

✅ ao_get_properties (also describe-mso)

✅ get_properties

  • Get linguistics

✅ ao_get_linguistics

✅ get_property_words

  • Get sourcing

✅ ao_get_sourcing

✅ get_sourcing

  • Get curations

✅ ao_get_curations

✅ get_curations

  • Get guardrails

✅ ao_get_guardrails

✅ get_guardrails

  • Get LLM configs

✅ ao_get_llm_configs

✅ get_llm_configs

Create Ontology



  • Create ontology

❌

✅ create_ontology (line 609)

  • Configure datasource (Layer 2)

❌

✅ configure_datasource (line 1651)

  • List Layer-1 BQ connections

❌

❌ (UI only)

Create MSOs



  • Create MSO + set display_name / entity_type / grain / description / key_properties

❌

⚠️ implicit via transport ZIP msoJson

Add Properties



  • Add property batch

❌

✅ add_properties (line 665)

  • Update property display name

❌

✅ update_property_display_names (line 2491, VUX)

  • Update property characteristics (functional/match)

❌

✅ update_property_characteristics (line 2669)

  • Update llmPriority

✅ ao_update_llm_priority

✅ (REST)

  • Update property llmDescription

❌

⚠️ update_property_llm_descriptions (line 2887)

  • Generate descriptions (only-if-missing fill)

❌

✅ generate_llm_descriptions (1073), generate_property_descriptions (2895)

  • Deactivate properties (survives reindex)

❌

✅ deactivate_properties (line 2482, VUX)

Sourcing



  • Update MSO sourcing (VUX path)

❌

✅ update_mso_sourcing_vux

Relationships



  • Add relationship

❌

✅ add_relationship (line 1218)

  • Set property MSO reference (FK flip)

❌

✅ set_property_mso_reference (line 1081)

  • Emit msoJson.relationships[] in transport

❌

✅ _build_relationship_links in ao_spec_to_transport.py

Prompt Instructions



  • Set MSO prompts

❌

✅ set_mso_prompts

Linguistics



  • Add MSO synonym

✅ ao_add_mso_synonym

✅ update_mso_words

  • Add property synonym

✅ ao_add_property_synonym

✅ add_property_words

  • Add value-word rule

✅ ao_add_value_word_rule

✅ update_value_words / update_rule_words

  • Add / Delete guardrail

✅ ao_add_guardrail / ao_delete_guardrail

✅ update_guardrails

  • Bulk linguistics push (many MSOs/props at once)

⚠️ one-at-a-time only

✅ batched in toolkit Phase 6

Operations



  • Reindex

✅ ao_reindex

✅ reindex_ontology (line 1257)

  • Run statistics

✅ ao_run_statistics

✅ run_statistics (line 1252)

  • Poll statistics job status

❌

✅ get_statistics_job_status (line 3008)

  • Import property values

✅ ao_import_property_values

✅ (REST)

  • Clear search history

✅ ao_clear_search_history

✅ (REST)

Curations



  • Create / Update curation

❌

⚠️ via transport ZIP curationData[]

Transport



  • Import transport ZIP

❌

✅ import_transport_zip (line 3020)

  • Export transport ZIP

❌

❌ (UI only)

NLQ Validation



  • NLQ → Semantic SQL

✅ ao_nlq_semantic_sql, ao_nlq_semantic_sql_llm

✅ (nlq_probe.py)

  • Execute Semantic SQL

✅ execute-semantic-sql (ao-mcp-server)

✅

  • Validate Semantic SQL

⚠️ validate-semantic-sql (broken — rejects valid SQL)

—

  • NLQ Debug / Tokens / Unrecognized

✅ ao_nlq_debug, ao_nlq_tokens, ao_nlq_unrecognized, ao_nlq_compare_sql

✅

Audits



  • Per-phase audit

❌

✅ tools/v2_phase_audits.py

  • Post-upload audit

❌

✅ tools/post_upload_audit.py


Summary by Capability Bucket

Capability Bucket

MCP

REST

Verdict

Read / Inspect

12/12 ✅

12/12 ✅

MCP fully usable

Linguistics & Priorities

5/5 ✅ (with bulk caveat)

5/5 ✅

MCP fully usable

NLQ Validation

4/5 ✅ (1 platform bug)

4/5 ✅

MCP fully usable

Operations (Reindex/Stats)

4/5 ✅ (no get_statistics_job_status)

5/5 ✅

MCP usable, polling gap

Create Ontology / MSOs / Properties / Sourcing / Relationships / Prompts

0/8 ❌

8/8 ✅

REST-only

Audits

0/2

2/2 ✅

REST-only

Curations / Transport

0/3

2/3 (1 UI-only)

REST-only


Bottom Line

The App Orchid MCP Server is a post-creation surface today: connect, read, enrich linguistics, set priorities, run reindex/statistics, and validate via NLQ. It cannot bootstrap a new ontology - every step from create_ontology through set_mso_prompts is REST-only.






Contact App Orchid | Disclaimer