MCP Model Explorer¶
The Model Explorer is the HTTP/SSE MCP server that lets AI assistants discover, inspect, and operate on your AMSDAL models via natural language.
Available Tools¶
list_available_models¶
Discover all registered AMSDAL models with their fields and relationships.
Returns a list of models with: - Model name - Field names - Foreign key relationships
get_model_schema¶
Get the full JSON Schema for a specific model, including computed properties.
Parameters:
| Parameter | Type | Description |
|---|---|---|
model_name |
str |
Name of the AMSDAL model |
Returns the complete JSON Schema with field types, constraints, defaults, and computed properties.
get_model_relationships¶
Inspect a model's foreign key graph — both outgoing (many-to-one) and incoming (one-to-many) relationships.
Parameters:
| Parameter | Type | Description |
|---|---|---|
model_name |
str |
Name of the AMSDAL model |
Returns outgoing and incoming relationship details with field names, target models, and cardinality.
get_model_field_values_by_ids¶
Fetch specific field values for objects by their IDs. Supports history.
Parameters:
| Parameter | Type | Description |
|---|---|---|
model_name |
str |
Name of the AMSDAL model |
field_name |
str |
Field name to fetch values for |
object_ids |
list[str] |
Object IDs to fetch |
perform_crud_operation¶
Execute CRUD operations using natural language with a two-step confirmation flow.
Parameters:
| Parameter | Type | Description |
|---|---|---|
model_name |
str |
Name of the AMSDAL model |
operation |
str |
One of: read, create, update, delete |
query |
str |
Natural language description of the operation |
confirm |
bool |
Set to true to execute after preview (default false) |
preview_limit |
int |
Max records to show in preview (default 5) |
limit |
int \| None |
Max records to return (default 30) |
analysis |
dict \| None |
Analysis from step 1, passed back in step 2 (default None) |
Two-step flow:
- First call with
confirm=false— returns a preview with ananalysisdict - Second call with
confirm=trueand theanalysisfrom step 1 — executes the operation
This prevents accidental data modifications through AI assistants.
Example Conversation¶
A typical conversation with an AI assistant connected via MCP:
User: What models are available?
Assistant calls
list_available_modelsAssistant: You have Customer, Order, Product, and Invoice models.
User: Show me all customers from New York
Assistant calls
perform_crud_operation(model_name='Customer', operation='read', query='customers from New York', confirm=false)Assistant: Found 12 customers from New York. [shows preview]
User: Update John Doe's email to john@new.com
Assistant calls
perform_crud_operation(model_name='Customer', operation='update', query='update John Doe email to john@new.com', confirm=false)Assistant: This will change John Doe's email from john@old.com to john@new.com. Confirm?
User: Yes
Assistant calls with
confirm=true
Row-Level Filtering¶
The Model Explorer uses api_objects manager, which applies row-level permissions automatically. Users only see and modify records they're authorized to access.