durable-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SNOWFLAKE_ACCOUNT | No | Snowflake account identifier | |
| SNOWFLAKE_PASSWORD | No | Snowflake password | |
| SNOWFLAKE_USERNAME | No | Snowflake username | |
| SNOWFLAKE_WAREHOUSE | No | Snowflake warehouse name |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_spread_portfoliosA | Get PnL summary for spread trading portfolios over a date range. Returns total PnL, win rate, best/worst days, and per-portfolio breakdown. Use this when asked about portfolio performance, PnL, profit/loss, trading results. |
| get_spread_analysisA | Get detailed breakdown of spread trading PnL by path (source→sink), book, or book+path. Shows win rate, Calmar ratio, best/worst days per path or book. Use this when asked about specific paths, books, source/sink pairs, or route-level performance. |
| get_nodal_spreadA | Get DA (day-ahead) and RT (real-time) LMP price spread between two price nodes over a date range. Returns hourly spread data, summary statistics, and peak-hour breakdown. Use this when asked about spread between locations, node prices, DA vs RT spread, price differences, or specific source/sink pairs. |
| list_price_nodesA | Search for price nodes by name. Use this to look up node names before calling get_nodal_spread. Returns node name, ISO, zone, and type. |
| list_constraintsA | List all available ERCOT transmission constraint names. Use this to find constraint names before calling get_constraint_loading. |
| get_constraint_loadingA | Get hourly max and min loading percentages for a specific ERCOT transmission constraint over a date range. Use this when asked about constraint loading, line loading, transmission utilization, or how loaded a specific constraint is. Values near 100% indicate the constraint is at or near its limit. |
| get_flow_analysisA | Get all ERCOT transmission constraint loading for a single date. Shows which constraints are most loaded and at risk of binding. Use this when asked about transmission congestion, binding constraints, or overall grid loading on a specific day. |
| get_gen_comparisonA | Compare generator forecast vs actual output. Compares MUSE (forecast) vs Edison (actual/IIR) generation by plant and fuel type. Shows average percentage difference — positive means Edison produced more than MUSE forecast. Use this when asked about generator forecasts, forecast accuracy, MUSE vs Edison, plant output, or fuel-type generation. |
| get_gen_detailA | Get hourly Edison vs MUSE generation detail for a specific plant. Use this when asked about a specific plant's hourly output, forecast vs actual for a single plant, or generation time series. |
| get_pjm_whA | Get PJM Western Hub DA/RT LMP prices and load data. Use this when asked about PJM Western Hub prices, PJM WH, Eastern power prices, or PJM load. |
| get_segment_trackerA | Get bid segment counts for spread portfolios — how many segments were submitted per day and portfolio. Use this when asked about bid activity, segment counts, submission status, or how many bids were placed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Tools target distinct domains (constraints, generation, spreads, PJM) with clear descriptions. Minor overlap exists between get_spread_analysis and get_spread_portfolios, but their granularity differs (path/book vs portfolio summary).
All tool names follow a consistent verb_noun pattern: 'get_' for data retrieval and 'list_' for enumeration. No mixed conventions or vague verbs.
11 tools cover the energy trading analytics domain comprehensively without being excessive. Each tool serves a clear purpose and earns its place.
The tool set covers listing, detail, and comparison for constraints, generation, spreads, and prices. A minor gap is the lack of tools for submitting trades or updating data, but the server appears focused on read-only analytics.