Contract
{
"type": "object",
"anyOf": [
{
"required": [
"q"
]
},
{
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"top",
"new",
"best"
]
}
}
}
],
"required": [],
"properties": {
"q": {
"type": "string",
"description": "query (mode=search)"
},
"mode": {
"enum": [
"search",
"top",
"new",
"best"
],
"type": "string"
},
"maxItems": {
"type": "string",
"default": "20"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"count": {
"type": "number",
"description": "Number of entries in items. 10 on the top-stories fixture (maxItems=10 requested), 20 on the search fixture (search's own default page size)."
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "top/new/best mode only: the Hacker News item id."
},
"time": {
"type": "number",
"description": "top/new/best mode only: Unix timestamp (seconds) the story was posted."
},
"type": {
"type": "string",
"description": "'hn_story' for top/new/best mode, 'hn_hit' for search mode."
},
"score": {
"type": "number",
"description": "top/new/best mode only: current upvote score."
},
"title": {
"type": "string"
},
"author": {
"type": "string",
"description": "The story submitter's Hacker News username."
},
"points": {
"type": "number",
"description": "search mode only: current upvote score."
},
"objectID": {
"type": "string",
"description": "search mode only: the Hacker News item id, as a string."
},
"createdAt": {
"type": "string",
"description": "search mode only: ISO 8601 timestamp the story was posted."
},
"descendants": {
"type": "number",
"description": "top/new/best mode only: total comment count (including nested replies)."
},
"numComments": {
"type": "number",
"description": "search mode only: total comment count (including nested replies)."
}
},
"description": "top/new/best mode ('type': 'hn_story') carries id/score/descendants/time. search mode ('type': 'hn_hit') carries objectID/points/numComments/createdAt instead -- confirmed against both real fixtures, never observed mixed on one call.",
"additionalProperties": true
}
}
},
"description": "The result, as returned at the response's own result path. Same top-level shape (count + items) for every mode; the item shape itself differs by mode -- see items.",
"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.015015 |
- 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 8, 2026
