marketpane.creocortex.com
MarketPane
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 5 · Act 8 · Transact 0 · Score: Not yet scored
Tool inspector
define_screener
Creates or fully replaces a screener definition in one call: universe, conditions (a nested filter tree of typed conditions), ranking, and a result limit. Validates everything together -- every unknown catalog id, out-of-range parameter, and empty-resolving universe is collected and returned together, never just the first one found -- and commits nothing when any blocking problem is found. Defaults to the workspace's current screener (WorkspaceDocument.screenerId): omit screener_id to create one the first time and replace it (as a new revision, full-replace -- omitted fields reset to empty/default, they are not carried over) on every call after. An explicit screener_id addresses a specific screener and is rejected, naming it, if it does not exist. When a requested interval cannot actually be served by the data available, this substitutes the interval that can be and says so in warnings rather than rejecting the definition. Returns the mutation envelope plus the screener id and revision; accepts expected_revision and idempotency_key.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
workspace_id |
string | no | Defaults to the active workspace. |
screener_id |
string | no | Defaults to the workspace's current screener; rejected if unrecognized. |
name |
string | no | A display label only, never an address. |
universe |
object | no | — |
conditions |
— | no | The whole filter tree in one shot: a root group, a single condition, or an array of nodes (treated as the root group's children under "and"). Omit for no conditions. |
ranking |
object | no | Omit (or pass an empty "fields") for the documented default order. |
limit |
integer | no | Maximum matches a run returns. |
expected_revision |
number | no | Optional. The workspace's own revision, used for optimistic concurrency -- not the screener definition's revision (returned as screener_revision in the response, but not accepted as input here -- define_screener always writes the next revision). |
idempotency_key |
string | no | — |
Raw JSON schema
{
"type": "object",
"$defs": {
"condition": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "scalar"
},
"fieldId": {
"type": "string"
},
"operator": {
"type": "string"
},
"value": {
"type": [
"number",
"string",
"boolean"
]
},
"unit": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"fieldId",
"operator",
"value",
"unit"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "range"
},
"fieldId": {
"type": "string"
},
"lower": {
"type": "number"
},
"upper": {
"type": "number"
},
"lowerInclusive": {
"type": "boolean"
},
"upperInclusive": {
"type": "boolean"
}
},
"required": [
"type",
"fieldId",
"lower",
"upper",
"lowerInclusive",
"upperInclusive"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "series_comparison"
},
"left": {
"type": "object",
"additionalProperties": false,
"properties": {
"catalogId": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"type": [
"number",
"string",
"boolean"
]
}
}
},
"required": [
"catalogId",
"params"
]
},
"right": {
"type": "object",
"additionalProperties": false,
"properties": {
"catalogId": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"type": [
"number",
"string",
"boolean"
]
}
}
},
"required": [
"catalogId",
"params"
]
},
"operator": {
"type": "string"
}
},
"required": [
"type",
"left",
"right",
"operator"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "temporal"
},
"condition": {
"$ref": "#/$defs/condition"
},
"event": {
"enum": [
"crossed_above",
"crossed_below",
"became_true"
]
},
"withinBars": {
"type": "integer",
"minimum": 1
},
"intervalId": {
"type": "string"
}
},
"required": [
"type",
"condition",
"event",
"withinBars",
"intervalId"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "event_relative"
},
"eventTypeId": {
"type": "string"
},
"direction": {
"enum": [
"past",
"future"
]
},
"windowDays": {
"type": "integer",
"minimum": 0
}
},
"required": [
"type",
"eventTypeId",
"direction",
"windowDays"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "pattern"
},
"patternId": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"intervalId": {
"type": "string"
}
},
"required": [
"type",
"patternId",
"minConfidence",
"intervalId"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "relative"
},
"fieldId": {
"type": "string"
},
"operator": {
"type": "string"
},
"multiple": {
"type": "number"
},
"baseline": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"const": "own_moving_average"
},
"windowBars": {
"type": "integer",
"minimum": 1
}
},
"required": [
"kind",
"windowBars"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"const": "peer_group"
},
"groupId": {
"type": "string"
}
},
"required": [
"kind",
"groupId"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"const": "index"
},
"indexId": {
"type": "string"
}
},
"required": [
"kind",
"indexId"
]
}
]
}
},
"required": [
"type",
"fieldId",
"operator",
"multiple",
"baseline"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "study_output"
},
"studyId": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {
"type": [
"number",
"string",
"boolean"
]
}
},
"outputName": {
"type": "string"
},
"predicate": {
"type": "string"
}
},
"required": [
"type",
"studyId",
"params",
"outputName",
"predicate"
]
}
]
},
"node": {
"oneOf": [
{
"$ref": "#/$defs/condition"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"const": "condition"
},
"condition": {
"$ref": "#/$defs/condition"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"kind",
"condition"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"const": "group"
},
"op": {
"enum": [
"and",
"or",
"not"
]
},
"children": {
"type": "array",
"items": {
"$ref": "#/$defs/node"
}
},
"enabled": {
"type": "boolean"
}
},
"required": [
"kind",
"op",
"children"
],
"description": "A not group must contain exactly one child."
}
]
}
},
"properties": {
"workspace_id": {
"type": "string",
"description": "Defaults to the active workspace."
},
"screener_id": {
"type": "string",
"description": "Defaults to the workspace's current screener; rejected if unrecognized."
},
"name": {
"type": "string",
"description": "A display label only, never an address."
},
"universe": {
"type": "object",
"properties": {
"asset_class": {
"type": "string"
},
"exchanges": {
"type": "array",
"items": {
"type": "string"
}
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"sectors": {
"type": "array",
"items": {
"type": "string"
}
},
"industries": {
"type": "array",
"items": {
"type": "string"
}
},
"indexes": {
"type": "array",
"items": {
"type": "string"
}
},
"watchlists": {
"type": "array",
"items": {
"type": "string"
}
},
"liquidity": {
"type": "object",
"properties": {
"min_price": {
"type": "number"
},
"min_average_volume": {
"type": "number"
},
"min_market_cap": {
"type": "number"
}
}
},
"exclusions": {
"type": "object",
"properties": {
"instrument_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"sector_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"industry_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"conditions": {
"description": "The whole filter tree in one shot: a root group, a single condition, or an array of nodes (treated as the root group's children under \"and\"). Omit for no conditions.",
"oneOf": [
{
"$ref": "#/$defs/node",
"description": "Typed condition or nested group. Conditions use camelCase keys (fieldId, operator), unlike ranking fields. Example: {\"type\":\"scalar\",\"fieldId\":\"field.price.change_pct_1\",\"operator\":\"op.greater_than\",\"value\":0,\"unit\":\"percent\"}. To select a historical session, pass as_of to run_screener."
},
{
"type": "array",
"items": {
"$ref": "#/$defs/node",
"description": "Typed condition or nested group. Conditions use camelCase keys (fieldId, operator), unlike ranking fields. Example: {\"type\":\"scalar\",\"fieldId\":\"field.price.change_pct_1\",\"operator\":\"op.greater_than\",\"value\":0,\"unit\":\"percent\"}. To select a historical session, pass as_of to run_screener."
}
}
]
},
"ranking": {
"type": "object",
"properties": {
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field_id": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"weight": {
"type": "number"
}
},
"required": [
"field_id"
]
}
},
"tie_break": {
"type": "object",
"properties": {
"field_id": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"required": [
"field_id"
]
},
"normalization": {
"type": "string",
"enum": [
"percentile_rank",
"z_score",
"min_max"
]
}
},
"description": "Omit (or pass an empty \"fields\") for the documented default order."
},
"limit": {
"type": "integer",
"minimum": 1,
"description": "Maximum matches a run returns."
},
"expected_revision": {
"type": "number",
"description": "Optional. The workspace's own revision, used for optimistic concurrency -- not the screener definition's revision (returned as screener_revision in the response, but not accepted as input here -- define_screener always writes the next revision)."
},
"idempotency_key": {
"type": "string"
}
}
}
Similar websites
bahi.naklitechie.com
Double-entry books for an Indian business in one browser tab: invoices, GST returns, TDS and TCS, inventory and your CA's review, kept in one file on your own d…
dashboard.orderly.network
Orderly dashboard
fin-esse-beta.vercel.app
A WebMCP-powered financial planning workspace where you and an AI agent reason across your loans, portfolio, budget and goals together.
bankgraph.app
Investigate individual U.S. banks, the banking system, and economic context with public FDIC filings and direct-agency data.