Skip to main content
Glama
gura105

Operational Ontology

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OO_AGENTNoThe name of the agent for MCP sessions. Over stdio all callers collapse into one actor; setting this names that actor. It is labeling, not authentication.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_customerB

Search Customer objects (A customer of the merged company). All filter fields are optional and match by equality. Results are scoped by the model-attached visibility policy for this session.

get_customerA

Fetch a single Customer by primary key (id).

aggregate_customerA

Group Customer objects by a property, counting each group and optionally summing a numeric property. Query-time aggregation — nothing is precomputed.

search_orderA

Search Order objects (A sales order, unified across both legacy systems). All filter fields are optional and match by equality. Results are scoped by the model-attached visibility policy for this session.

get_orderA

Fetch a single Order by primary key (id).

aggregate_orderA

Group Order objects by a property, counting each group and optionally summing a numeric property. Query-time aggregation — nothing is precomputed.

search_productA

Search Product objects (An item from the ERP item master). All filter fields are optional and match by equality. Results are scoped by the model-attached visibility policy for this session.

get_productB

Fetch a single Product by primary key (id).

aggregate_productA

Group Product objects by a property, counting each group and optionally summing a numeric property. Query-time aggregation — nothing is precomputed.

search_noteA

Search Note objects (A triage note — state no source system has a table for). All filter fields are optional and match by equality. Results are scoped by the model-attached visibility policy for this session.

get_noteA

Fetch a single Note by primary key (id).

aggregate_noteB

Group Note objects by a property, counting each group and optionally summing a numeric property. Query-time aggregation — nothing is precomputed.

traverse_customer_ordersA

Traverse the Customer → Order link "customerOrders" (one-to-many). Pass an instance returned by get or search; its properties are a snapshot, not authority. Direction is inferred from source.type; an explicit direction must agree.

traverse_order_productsA

Traverse the Order → Product link "orderProducts" (many-to-many). Pass an instance returned by get or search; its properties are a snapshot, not authority. Direction is inferred from source.type; an explicit direction must agree.

traverse_order_notesA

Traverse the Order → Note link "orderNotes" (one-to-many). Pass an instance returned by get or search; its properties are a snapshot, not authority. Direction is inferred from source.type; an explicit direction must agree.

cancel_orderA

Cancel an order. Shipped orders cannot be cancelled. Writes are gated: if a business rule rejects this call, the error is machine-readable ({ code, message }) and the attempt is recorded in the audit log.

assign_orderA

Assign a pending order to a person for fulfilment. Writes are gated: if a business rule rejects this call, the error is machine-readable ({ code, message }) and the attempt is recorded in the audit log.

add_order_noteB

File a triage note against an order. Writes are gated: if a business rule rejects this call, the error is machine-readable ({ code, message }) and the attempt is recorded in the audit log.

read_audit_logA

Read the append-only audit log: every applied and rejected action, with actor and params. This is an unscoped administrative view — entries are not filtered by visibility (fail-open, declared).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 19 tools

Disambiguation5/5

Each entity gets a clean search/get/aggregate triad with clearly different semantics (filtered multi-result, single fetch by id, grouped counts). Traversals are distinctly named per link (traverse_customer_orders, traverse_order_products, traverse_order_notes), and the write actions (add_order_note, assign_order, cancel_order) plus read_audit_log have no overlap with the read tools.

Naming Consistency5/5

Strict verb_noun snake_case throughout: search_/get_/aggregate_ prefixes repeat identically across all four entities, traverse_ is used uniformly for link walks, and write/administrative tools follow the same lowercase verb_noun form. No mixing of conventions.

Tool Count4/5

19 tools is on the higher side but each earns its place: a symmetric read/aggregate surface over four entities, three graph traversals, and three gated writes plus an audit reader. Nothing feels redundant, though the count sits at the upper boundary of comfortable.

Completeness4/5

Read coverage is complete and symmetric (search/get/aggregate for Customer, Order, Product, Note) with traversals across the main links and order lifecycle writes (assign, cancel, add note) plus auditing. Gaps are minor and arguably intentional: no create/update/delete for the mirrored entities, and no direct note-creation beyond add_order_note.

Maintenance

ActivityActive
ResponsivenessResponsive