Dryos
Live US power market prices, load, generation, weather and permits for AI agents.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"dryos": {
"url": "https://api.dryos.ai/mcp"
}
}
}リモートエンドポイント
https://api.dryos.ai/mcpstreamable-httpできること
ツール一覧
ツール(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").
入力スキーマ
{
"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"
}出力スキーマ
{
"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).
入力スキーマ
{
"type": "object",
"properties": {
"slug": {
"title": "Slug",
"type": "string"
}
},
"required": [
"slug"
],
"title": "describe_streamArguments"
}出力スキーマ
{
"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).
入力スキーマ
{
"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"
}出力スキーマ
{
"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).
入力スキーマ
{
"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"
}出力スキーマ
{
"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).
入力スキーマ
{
"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"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "query_streamDictOutput"
}推奨プロンプト
find_entitiesfind_entitieslist_streamslist_streamsコミュニティ
エビデンス