Dryos

Live US power market prices, load, generation, weather and permits for AI agents.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
68%
Calidad de los nombres
92%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,654Tokens (definiciones de herramientas)
~1.6 KBTamaño de respuesta típico
Impacto moderado en la atención (1.29% del contexto de 128k)

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-http

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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

search_research
Search for information about [topic] using Dryos
Herramientas esperadas: find_entities
find_specific
Find [specific item] using Dryos
Herramientas esperadas: find_entities
list_items
List all [items] available in Dryos
Herramientas esperadas: list_streams
browse_collection
Show me the [collection] from Dryos
Herramientas esperadas: list_streams

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas
verificadoversión no registrada5 herramientas