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_customerA

Read Customer objects visible to this session. Filter the returned objects in client-side code, then pass selected IDs to pivot, set or aggregate tools.

get_customerA

Fetch a single Customer by primary key (id).

union_customerA

union two Customer sets, identified by primary keys and reloaded for this session.

intersect_customerC

intersect two Customer sets, identified by primary keys and reloaded for this session.

subtract_customerA

subtract two Customer sets, identified by primary keys and reloaded for this session.

aggregate_customerB

Count the selected Customer objects and optionally sum a numeric property. Omit group_by for one whole-set total (key: null, zero metrics for an empty set), or group by a property. Returns set and values; each row has a key, member pks and numeric metrics. Filter rows in client-side code and use their pks to continue exploring.

search_orderA

Read Order objects visible to this session. Filter the returned objects in client-side code, then pass selected IDs to pivot, set or aggregate tools.

get_orderA

Fetch a single Order by primary key (id).

union_orderB

union two Order sets, identified by primary keys and reloaded for this session.

intersect_orderB

intersect two Order sets, identified by primary keys and reloaded for this session.

subtract_orderC

subtract two Order sets, identified by primary keys and reloaded for this session.

aggregate_orderA

Count the selected Order objects and optionally sum a numeric property. Omit group_by for one whole-set total (key: null, zero metrics for an empty set), or group by a property. Returns set and values; each row has a key, member pks and numeric metrics. Filter rows in client-side code and use their pks to continue exploring.

search_productA

Read Product objects visible to this session. Filter the returned objects in client-side code, then pass selected IDs to pivot, set or aggregate tools.

get_productB

Fetch a single Product by primary key (id).

union_productA

union two Product sets, identified by primary keys and reloaded for this session.

intersect_productA

intersect two Product sets, identified by primary keys and reloaded for this session.

subtract_productB

subtract two Product sets, identified by primary keys and reloaded for this session.

aggregate_productA

Count the selected Product objects and optionally sum a numeric property. Omit group_by for one whole-set total (key: null, zero metrics for an empty set), or group by a property. Returns set and values; each row has a key, member pks and numeric metrics. Filter rows in client-side code and use their pks to continue exploring.

search_noteD

Read Note objects visible to this session. Filter the returned objects in client-side code, then pass selected IDs to pivot, set or aggregate tools.

get_noteA

Fetch a single Note by primary key (id).

union_noteC

union two Note sets, identified by primary keys and reloaded for this session.

intersect_noteC

intersect two Note sets, identified by primary keys and reloaded for this session.

subtract_noteB

subtract two Note sets, identified by primary keys and reloaded for this session.

aggregate_noteA

Count the selected Note objects and optionally sum a numeric property. Omit group_by for one whole-set total (key: null, zero metrics for an empty set), or group by a property. Returns set and values; each row has a key, member pks and numeric metrics. Filter rows in client-side code and use their pks to continue exploring.

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.

pivot_customer_ordersC

Follow customerOrders from a set of Customer or Order. Duplicate target identities are removed. Direction is required when both ends have the same type.

pivot_order_productsC

Follow orderProducts from a set of Order or Product. Duplicate target identities are removed. Direction is required when both ends have the same type.

pivot_order_notesC

Follow orderNotes from a set of Order or Note. Duplicate target identities are removed. Direction is required when both ends have the same type.

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

C2.9/5.0

Scored across 34 tools

Disambiguation4/5

Most tools are cleanly separated by entity and operation; the search/get/union/intersect/subtract/aggregate families are unambiguous. The main confusion risk is between pivot_* and traverse_* tools, which cover the same relationships and differ only in set-input versus instance-input semantics.

Naming Consistency5/5

All tool names follow a consistent lowercase snake_case verb_noun pattern, such as search_customer, get_order, union_product, and add_order_note. Even the pivot/traverse variants are valid imperative verb+object names, so the naming convention is highly regular.

Tool Count2/5

34 tools is well above the comfortable range and feels inflated for four entity types and three relationships. Per-entity set operations, aggregation, and duplicate pivot/traverse variants add unnecessary surface area that could be consolidated.

Completeness3/5

The read/analysis surface is thorough: every entity has search, get, set operations, aggregation, and relationship traversal, with operational actions like cancel, assign, add note, and audit log access. However, there are notable lifecycle gaps such as no create/update/delete for core entities and no way to advance an order to shipped.

Maintenance

ActivityActive
ResponsivenessResponsive