Contract
{
"type": "object",
"required": [
"logs"
],
"properties": {
"logs": {
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"total_lines",
"detected_format",
"level_counts",
"error_count",
"warning_count",
"errors",
"warnings",
"parsed_sample",
"time_range"
],
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"raw": {
"type": "string",
"description": "The original log line, verbatim."
},
"level": {
"type": "string",
"description": "The severity level, e.g. 'ERROR'."
},
"format": {
"type": "string",
"description": "The format this individual line was parsed as."
},
"message": {
"type": "string",
"description": "The parsed message text."
},
"timestamp": {
"type": [
"string",
"null"
],
"description": "The entry's timestamp as it appears in the log, in the log's own format."
},
"line_number": {
"type": "number",
"description": "1-based position in the submitted log."
}
}
},
"description": "Every line classified as an error, in the order they appeared. Empty array when the log has no errors. Observed shape below is from a JSON-formatted log; a differently formatted log's error entries were not observed but follow the same `parsed_sample` per-entry shape for that format."
},
"warnings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"raw": {
"type": "string"
},
"level": {
"type": "string"
},
"format": {
"type": "string"
},
"message": {
"type": "string"
},
"timestamp": {
"type": [
"string",
"null"
]
},
"line_number": {
"type": "number"
}
}
},
"description": "Every line classified as a warning, in the order they appeared. Empty array when the log has no warnings. Same per-entry shape as `errors`."
},
"time_range": {
"type": "object",
"properties": {
"last": {
"type": [
"string",
"null"
]
},
"first": {
"type": [
"string",
"null"
]
}
},
"description": "The first and last timestamps observed across the parsed log, in the log's own format."
},
"error_count": {
"type": "number",
"description": "Number of lines classified as an error. 0 when the log has none."
},
"total_lines": {
"type": "number",
"description": "Total number of lines submitted in the `logs` input."
},
"level_counts": {
"type": "object",
"description": "A map of severity level name (e.g. 'ERROR', 'WARNING', 'INFO') to how many lines were at that level. Observed as an empty object when the log has no error or warning lines (only INFO-level content) and as a populated object with ERROR/WARNING/INFO keys when the log mixes levels -- do not assume any particular key is always present.",
"additionalProperties": {
"type": "number"
}
},
"parsed_sample": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pid": {
"type": "string",
"description": "Observed only on syslog-formatted entries."
},
"raw": {
"type": "string"
},
"level": {
"type": "string",
"description": "Observed only on JSON-formatted entries."
},
"format": {
"type": "string"
},
"source": {
"type": "string",
"description": "Observed only on syslog-formatted entries, e.g. 'host/process'."
},
"message": {
"type": "string"
},
"timestamp": {
"type": [
"string",
"null"
]
},
"line_number": {
"type": "number"
}
}
},
"description": "A sample of parsed lines across the whole log (not limited to errors/warnings). Every entry carries `line_number`, `raw`, `timestamp`, `message`, and `format`. `level` was observed only on JSON-formatted entries; `pid` and `source` (process id and 'host/process' string) were observed only on syslog-formatted entries -- which fields beyond the common set appear depends on `detected_format`."
},
"warning_count": {
"type": "number",
"description": "Number of lines classified as a warning. 0 when the log has none."
},
"detected_format": {
"type": "string",
"description": "The log format the parser auto-detected, e.g. 'json' or 'syslog'. Observed values: 'json', 'syslog'; the endpoint also documents ISO, logfmt, and Laravel formats not yet seen in a captured fixture."
}
},
"description": "The log parse result, as returned at routing.responseResultPath ($.output).",
"additionalProperties": true
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.081082365 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 23, 2026
