Dryos
Live US power market prices, load, generation, weather and permits for AI agents.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"dryos": {
"url": "https://api.dryos.ai/mcp"
}
}
}Puntos de conexión remotos
https://api.dryos.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
🟢list_streams(domain, operator, search)
Every stream Dryos collects, with its entity column and headline measure. Args: domain: Energy, Weather or Property. operator: A grid operator — ERCOT, MISO, PJM, SPP, CAISO, NYISO or ISO-NE. search: A word matched against the slug, name and tagline ("lmp", "wind", "permits").
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Domain"
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Operator"
},
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
}
},
"title": "list_streamsArguments"
}Esquema de salida
{
"type": "object",
"additionalProperties": true,
"title": "list_streamsDictOutput"
}🟢describe_stream(slug)
One stream in full: every column, the primary key, the source and its health. Also what changed in the collector recently — a change in the collector is a change in the data, and a step in a series may be one. Args: slug: The stream, e.g. ercot-realtime-lmp (list_streams names them).
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"title": "Slug",
"type": "string"
}
},
"required": [
"slug"
],
"title": "describe_streamArguments"
}Esquema de salida
{
"type": "object",
"additionalProperties": true,
"title": "describe_streamDictOutput"
}🟢find_entities(slug, search, entity_type, limit)
Look up the nodes, zones, stations or fuels in a stream, with how far back each goes. Use it before query_stream: names are verbatim and never to be guessed. `facets` counts the entities by type. Args: slug: The stream. search: Case-insensitive substring of the entity name ("HOUSTON", "HB_", "KAUS"). entity_type: Only one type — HUB, LOAD_ZONE, RESOURCE_NODE, INTERFACE… limit: At most this many (1–2000).
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"title": "Slug",
"type": "string"
},
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"entity_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Entity Type"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
}
},
"required": [
"slug"
],
"title": "find_entitiesArguments"
}Esquema de salida
{
"type": "object",
"additionalProperties": true,
"title": "find_entitiesDictOutput"
}🟢column_values(slug, column, where, search, limit)
The distinct values of one text column, most rows first — what a filter can be. Args: slug: The stream. column: A text column from describe_stream (not the entity — use find_entities). where: Filters as `column=value`, the same as query_stream's. search: `column:text`, a case-insensitive substring. limit: At most this many (1–500).
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"title": "Slug",
"type": "string"
},
"column": {
"title": "Column",
"type": "string"
},
"where": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Where"
},
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"limit": {
"default": 40,
"title": "Limit",
"type": "integer"
}
},
"required": [
"slug",
"column"
],
"title": "column_valuesArguments"
}Esquema de salida
{
"type": "object",
"additionalProperties": true,
"title": "column_valuesDictOutput"
}🟢query_stream(slug, node, start, end, interval, ...)
Read rows from a stream — raw (newest first), each entity's newest, or a rollup. The result carries `restUrl`: this same request as a plain GET on the public REST API, ready to put in an app. Args: slug: The stream. node: The entity, whatever the stream calls it (node, zone, station, fuel). System-level streams have none. start: Inclusive, ISO-8601 or relative to now (-24h, -7d). UTC. end: Exclusive, same forms. interval: Bucket size — 5m, 15m, 1h, 1d, 7d, or all for one bucket. Absent means raw rows. agg: How a bucket is reduced. by: What a rollup splits by: a text column, or none for one series. Default the entity. where: Filters as column=value on text columns. Repeat a column for OR. search: column:text, a case-insensitive substring. vintages: latest is each interval's newest forecast; all keeps every publication. stamp: noon labels a daily bucket at noon UTC so its date reads right in US zones. newest: One reading per entity — each one's most recent interval, so "the price at every hub right now" is one call. Not with interval. limit: At most this many rows (1–2000).
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"title": "Slug",
"type": "string"
},
"node": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Node"
},
"start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Start"
},
"end": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "End"
},
"interval": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Interval"
},
"agg": {
"default": "avg",
"enum": [
"avg",
"min",
"max",
"sum"
],
"title": "Agg",
"type": "string"
},
"by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "By"
},
"where": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Where"
},
"search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Search"
},
"vintages": {
"default": "latest",
"enum": [
"latest",
"all"
],
"title": "Vintages",
"type": "string"
},
"stamp": {
"default": "start",
"enum": [
"start",
"noon"
],
"title": "Stamp",
"type": "string"
},
"newest": {
"default": false,
"title": "Newest",
"type": "boolean"
},
"limit": {
"default": 100,
"title": "Limit",
"type": "integer"
}
},
"required": [
"slug"
],
"title": "query_streamArguments"
}Esquema de salida
{
"type": "object",
"additionalProperties": true,
"title": "query_streamDictOutput"
}Prompts recomendados
find_entitiesfind_entitieslist_streamslist_streamsComunidad
Evidencia