{
  "$schema": "https://a2a-protocol.org/latest/schemas/agent-card.json",
  "name": "frac.fyi AI Agent",
  "version": "1.0.0",
  "description": "AI-native frac and completion data for Alberta, BC and Saskatchewan: stages, proppant, water, fluid, provider, perforations and production. Search the web or connect your AI assistant.",
  "url": "https://mcp.frac.fyi/mcp",
  "protocolVersion": "1.0",
  "provider": {
    "name": "frac.fyi",
    "url": "https://frac.fyi"
  },
  "documentationUrl": "https://frac.fyi",
  "supportedInterfaces": [
    {
      "url": "https://mcp.frac.fyi/mcp",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://api.frac.fyi",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "lookup_well",
      "name": "Look Up Well",
      "description": "Look up well header, drilling timeline, geology, and monthly production in Alberta, British Columbia, or Saskatchewan, plus frac treatment jobs.",
      "tags": ["well", "header", "alberta", "bc", "saskatchewan", "licence"],
      "examples": [
        "Look up well licence 0514937",
        "Get details for BC WA 04278"
      ]
    },
    {
      "id": "get_perf_clusters",
      "name": "Get Perforation & Cluster Design",
      "description": "Retrieve audited perforation and cluster architecture: completion method (PnP vs sliding sleeve), stage count, clusters per stage, cluster spacing, shot density, and interval MD tops and bases.",
      "tags": ["perforations", "clusters", "pnp", "spacing", "shot-density"],
      "examples": [
        "What is the perf design for well 0514937?",
        "How many clusters per stage were pumped on licence 0514937?"
      ]
    },
    {
      "id": "get_production_history",
      "name": "Get Well Production History",
      "description": "Fetch the complete monthly production time-series (oil, gas, condensate, water) and cumulative totals for Alberta (Petrinex), Saskatchewan, and British Columbia.",
      "tags": ["production", "petrinex", "gas", "oil", "condensate", "water"],
      "examples": [
        "Get monthly oil and gas production for licence 0514937",
        "Show historical production for BC well 04278"
      ]
    },
    {
      "id": "run_dca",
      "name": "Run Decline Curve Analysis (DCA)",
      "description": "Arps hyperbolic fit on producing-day rates, terminal decline, P10/P50/P90 EUR from residual bootstrap, remaining reserves, and economic forecast for Alberta, BC, or Saskatchewan wells.",
      "tags": ["dca", "decline-curve", "eur", "arps", "reserves", "forecast"],
      "examples": [
        "Run decline curve analysis on well 0514937",
        "What is the P50 EUR for Spartan Delta well 0520234?"
      ]
    },
    {
      "id": "run_well_comparison",
      "name": "Compare Two Wells",
      "description": "Head-to-head comparison of two wells: geometry, completion intensity (kg/m, m3/m, stage spacing), frac provider, and DCA EUR side by side.",
      "tags": ["compare", "benchmarking", "completion-intensity", "eur"],
      "examples": [
        "Compare well 0514937 with well 0520234",
        "Head-to-head comparison between 0498123 and 0501234"
      ]
    },
    {
      "id": "get_offset_wells",
      "name": "Get Offset Wells",
      "description": "Find offset wells in the same formation and field as a target well, ranked by completion size, with completion intensity metrics for benchmarking.",
      "tags": ["offsets", "formation", "field", "benchmarking"],
      "examples": [
        "Find offset wells for licence 0514937",
        "Show top offset completions near well 0520234"
      ]
    },
    {
      "id": "get_formation_type_curve",
      "name": "Get Formation Type Curve",
      "description": "Compute empirical P10/P50/P90 type curves for a peer group defined by formation, field, vintage year, and fluid window.",
      "tags": ["type-curve", "formation", "vintage", "p50", "montney", "duvernay"],
      "examples": [
        "Get Montney Kakwa 2024 gas type curve",
        "Show Duvernay Kaybob oil type curve"
      ]
    },
    {
      "id": "search_wells",
      "name": "Search Wells",
      "description": "Universal search across Alberta horizontal wells, hydraulic fracturing completions, operators, formations, fields, and surface DLS locations.",
      "tags": ["wells", "licence", "search", "wcsb", "montney", "duvernay"],
      "examples": [
        "Search for Spartan Delta wells in Duvernay",
        "Find well licence 0514937"
      ]
    },
    {
      "id": "suggest_entities",
      "name": "Suggest Entities & Autocomplete",
      "description": "Fast typeahead autocomplete for well licences, DLS parcel locations, operators, formations, and fields.",
      "tags": ["autocomplete", "typeahead", "entities", "search"],
      "examples": [
        "Suggest operators starting with Tour",
        "Autocomplete formation Mont"
      ]
    },
    {
      "id": "get_transfers",
      "name": "Get Licence Transfers",
      "description": "Retrieve daily and monthly well licence ownership transfers between companies across Alberta and the WCSB.",
      "tags": ["transfers", "m&a", "operators", "licence-transfers", "deal"],
      "examples": [
        "Show licence transfers over the last 14 days",
        "Find acquisitions by Whitecap Resources"
      ]
    },
    {
      "id": "get_database_schema",
      "name": "Get Database Schema & Semantic Dictionary",
      "description": "Returns the comprehensive semantic data dictionary, table schemas, column meanings, lateral length rules, and unit conversions for FracFYI.",
      "tags": ["schema", "data-dictionary", "columns", "tables", "parquet"],
      "examples": [
        "Get the database schema for wells and production",
        "What columns are in perf_wells?"
      ]
    },
    {
      "id": "list_verified_queries",
      "name": "List Verified Queries",
      "description": "Lists production-tested verified analytical queries in the FracFYI catalog across completions, production, macro trends, and spatial categories.",
      "tags": ["catalog", "queries", "verified", "duckdb"],
      "examples": [
        "List verified queries for completions",
        "Show all verified queries in the catalog"
      ]
    },
    {
      "id": "execute_verified_query",
      "name": "Execute Verified Query",
      "description": "Executes a pre-verified, production-tested DuckDB analytical query by ID with parameterized inputs.",
      "tags": ["query", "execute", "duckdb", "verified-query"],
      "examples": [
        "Run verified query well_monthly_production for licence 0514937",
        "Execute active_drilling_rigs"
      ]
    },
    {
      "id": "run_sql",
      "name": "Run Custom DuckDB SQL",
      "description": "Executes custom read-only DuckDB SQL queries over Parquet views covering wells, frac jobs, perf events, directional surveys, and production.",
      "tags": ["sql", "duckdb", "parquet", "analytics"],
      "examples": [
        "Run SQL to count 2024 Montney completions by operator",
        "SELECT operator, COUNT(*) FROM wells GROUP BY 1"
      ]
    },
    {
      "id": "get_activity_summary",
      "name": "Get Basin Market Pulse",
      "description": "Real-time Western Canadian Sedimentary Basin drilling and completions market pulse: active rigs, newly issued licences, rig releases, recent frac disclosures, top operators, and active formations.",
      "tags": ["market-pulse", "rig-count", "permits", "wcsb", "activity"],
      "examples": [
        "What is the basin market pulse for the past 7 days?",
        "Show active drilling rigs and permits"
      ]
    },
    {
      "id": "get_township_offsets",
      "name": "Get Township Offsets & Spatial Analysis",
      "description": "Spatial 9-township offset analysis around an Alberta Meridian-Range-Township parcel (e.g. 52-11W5), returning offset wells, completions, operators, and distances.",
      "tags": ["township", "mrt", "dls", "spatial", "offsets"],
      "examples": [
        "Analyze township 52-11W5 offsets",
        "Show wells and operators within 15 km of 68-07W6"
      ]
    },
    {
      "id": "get_land_sale_trends",
      "name": "Get Crown Land Sale Trends",
      "description": "Alberta Crown land sale totals by year since 2015: bonus, hectares, parcels offered and sold, $/ha, PNG vs oil sands, the latest sale and the next posted one.",
      "tags": ["land-sales", "crown-land", "alberta", "trends"],
      "examples": [
        "How much did Alberta Crown land sales bring in each year since 2015?"
      ]
    },
    {
      "id": "get_land_sales",
      "name": "Get Crown Land Sales",
      "description": "The parcels of Alberta Crown land sales in a month or year: township, hectares, rights, bonus, $/ha, the winning bidder and who holds the lease today.",
      "tags": ["land-sales", "crown-land", "parcels", "bonus"],
      "examples": [
        "Show the October 2026 Crown land sale parcels",
        "Which parcels sold for the highest $/ha this year?"
      ]
    },
    {
      "id": "get_upcoming_land_sales",
      "name": "Get Upcoming Crown Land Sales",
      "description": "Parcels posted for the coming Alberta Crown land sales, with township, hectares, rights and restrictions, and parcels withdrawn.",
      "tags": ["land-sales", "postings", "crown-land"],
      "examples": [
        "What land is posted for the next Alberta land sale?"
      ]
    },
    {
      "id": "get_land_buyers",
      "name": "Get Crown Land Buyers",
      "description": "Who bought Alberta Crown land over a range of years, who holds those leases today, and which brokers' purchases are now held by operators.",
      "tags": ["land-sales", "brokers", "buyers", "holders"],
      "examples": [
        "Who has been buying Crown land through brokers since 2024?"
      ]
    },
    {
      "id": "get_land_holdings",
      "name": "Get Crown Land Holdings",
      "description": "The Alberta Crown PNG and oil sands leases a company holds or participates in: area, townships, expiries, and the parcels it bought.",
      "tags": ["leases", "holdings", "crown-land", "company"],
      "examples": [
        "What Crown leases does Tourmaline hold?"
      ]
    },
    {
      "id": "get_township_land",
      "name": "Get Township Land",
      "description": "Every active lease over an Alberta township and every parcel posted or sold in it since 2015.",
      "tags": ["township", "leases", "land-sales"],
      "examples": [
        "Who holds the leases in 72-11W6?"
      ]
    },
    {
      "id": "get_expiring_leases",
      "name": "Get Expiring Crown Leases",
      "description": "Alberta Crown PNG and oil sands leases expiring soon, optionally for a company or township.",
      "tags": ["leases", "expiry", "crown-land"],
      "examples": [
        "Which leases expire in the next 6 months in 65-26W5?"
      ]
    },
    {
      "id": "get_ytd_benchmarks",
      "name": "Get Year-to-Date Technical Benchmarks",
      "description": "Year-to-date completions market share and technical benchmarks: operator rankings, formation rankings, pressure pumper market share, sand supplier volumes, and fluid systems.",
      "tags": ["benchmarks", "ytd", "market-share", "pressure-pumpers", "sand"],
      "examples": [
        "Show 2025 YTD completions market share",
        "Who are the top pressure pumpers this year?"
      ]
    },
    {
      "id": "get_macro_trends",
      "name": "Get Basin Macro Trends",
      "description": "Historical annual and monthly rollup of basin completed well counts, total placed proppant mass, water volume, average stages, and average lateral length.",
      "tags": ["macro", "trends", "proppant-mass", "water-volume", "stages"],
      "examples": [
        "Show proppant and water trends in the Montney since 2018",
        "Annual completed well counts in Alberta"
      ]
    },
    {
      "id": "get_cycle_times",
      "name": "Get Drilling & Completion Cycle Times",
      "description": "Drilling and completion cycle times (licence to spud, spud to rig release, rig release to frac, frac duration) trimmed to 5th-95th percentile with medians, percentiles, and year-over-year trends.",
      "tags": ["cycle-times", "drilling-speed", "spud-to-rig-release", "efficiency"],
      "examples": [
        "Show spud to rig release cycle times for Duvernay wells",
        "What is the median licence-to-spud duration in 2024?"
      ]
    },
    {
      "id": "get_planned_design",
      "name": "Get Planned Completion Design",
      "description": "Predict expected completion design for licensed or drilled but uncompleted wells: P10-P90 lateral, stages, spacing, proppant, and water from nearby offsets.",
      "tags": ["planned-design", "duc", "completion-design", "offsets", "predictive"],
      "examples": [
        "What is the expected frac design for newly licensed well 0524102?",
        "Predict stages and proppant for licence 0519821"
      ]
    },
    {
      "id": "get_proppant_logistics",
      "name": "Get Proppant Logistics & Transloader Pacing",
      "description": "Proppant trucking logistics for a pad: wells on pad, P10/P50/P90 proppant volumes, stage spacing, frac pacing (stages/day), and nearest sand transloader rail terminals with straight-line distances.",
      "tags": ["logistics", "proppant", "transloaders", "sand", "trucking", "pacing"],
      "examples": [
        "Get proppant logistics and nearest transloader for well 0514937",
        "How many sand trucks are needed for pad at 06-21-031-17W4?"
      ]
    },
    {
      "id": "get_pad",
      "name": "Get Multi-Well Pad Overview",
      "description": "Multi-well pad view: all wells on a surface DLS location with cumulative frac totals, pad production rollup, and offset benchmarking.",
      "tags": ["pad", "surface-location", "dls", "co-drilling"],
      "examples": [
        "Show pad details for 06-21-031-17W4",
        "List all wells sharing pad location 16-17-063-04W6"
      ]
    },
    {
      "id": "get_wellbore",
      "name": "Get 3D Directional Wellbore Trajectory",
      "description": "Directional survey and 3D wellbore trajectory (measured depth, true vertical depth, inclination, azimuth, north/east offsets) for a well plus nearby offset wellbores.",
      "tags": ["wellbore", "directional-survey", "3d", "trajectory", "tvd", "md"],
      "examples": [
        "Get 3D directional survey for licence 0514937",
        "Show wellbore trajectory for well 0520234"
      ]
    },
    {
      "id": "get_activity_feed",
      "name": "Get Paged Activity Feed",
      "description": "Paged feed of recent basin activity filtered by kind: frac disclosures, drilling, rig releases, permits (new licences), or transfers, with formation and operator filters.",
      "tags": ["activity-feed", "permits", "drilling", "fracs", "rig-releases"],
      "examples": [
        "Get recent frac activity feed for Montney",
        "Show latest drilling permits for Tourmaline"
      ]
    },
    {
      "id": "get_activity_breakdown",
      "name": "Get Activity Breakdown by Dimension",
      "description": "Top-N breakdown of an activity kind (frac, drilling, rig releases, permits) grouped by dimension (formation, operator, field, provider) ranked by wells, stages, proppant, or water.",
      "tags": ["breakdown", "activity", "rankings", "dimension", "market-share"],
      "examples": [
        "Break down 2024 fracs by service provider",
        "Top operators by drilled wells this month"
      ]
    },
    {
      "id": "get_activity_trend",
      "name": "Get Monthly Activity Trend",
      "description": "Monthly counts of an activity kind (fracs, drilling, rig releases, permits, transfers) over the last N months.",
      "tags": ["activity-trend", "monthly", "time-series", "rigs", "fracs"],
      "examples": [
        "Show monthly frac count trend over the last 24 months",
        "Permit counts over time"
      ]
    },
    {
      "id": "get_frac_timeline",
      "name": "Get Hydraulic Fracturing Timeline",
      "description": "Frac completions timeline over time grouped by operator or other dimensions for top-N industry participants.",
      "tags": ["timeline", "frac-activity", "operator-timeline", "completions"],
      "examples": [
        "Get frac timeline for top operators over the past 365 days",
        "Completions timeline in Montney"
      ]
    },
    {
      "id": "get_dimension_counts",
      "name": "Get Dimension Well Counts",
      "description": "Well counts and recent activity counts for every distinct value of a dimension: formation, field, operator, or service provider.",
      "tags": ["dimensions", "counts", "operators", "formations", "fields", "providers"],
      "examples": [
        "Get well counts by formation",
        "List all frac service providers with well counts"
      ]
    },
    {
      "id": "get_transfer_wells",
      "name": "Get Transferred Wells by Deal",
      "description": "Retrieve the specific well licences, well names, fields, formations, and pad surface locations behind a buyer-seller licence transfer deal.",
      "tags": ["transfer-wells", "deal-assets", "licence-list", "m&a"],
      "examples": [
        "List all wells transferred from Spartan Delta to Crescent Point",
        "Show wells in the Ulysses transfer on 2026-09-15"
      ]
    },
    {
      "id": "get_transfer_summary",
      "name": "Summarize Licence Transfer Deal",
      "description": "Comprehensive analysis of a daily licence transfer deal: licences by formation/field/status/age, Petrinex production impact, top producing wells, and corporate footprint before and after.",
      "tags": ["deal-summary", "m&a", "production-impact", "corporate-footprint", "transfers"],
      "examples": [
        "Summarize the recent licence transfer from Sifton to InPlay",
        "What production was acquired in the deal?"
      ]
    },
    {
      "id": "get_search_summary",
      "name": "Summarize Universal Search Results",
      "description": "Aggregate rollup of all wells matching an entity search (operator, formation, field, area, provider): vintage trends, completion design over time, top operators, and current Petrinex production.",
      "tags": ["search-summary", "rollup", "analytics", "operator-overview", "formation-overview"],
      "examples": [
        "Summarize all wells for InPlay Oil",
        "Provide an aggregate summary for Montney Kakwa"
      ]
    },
    {
      "id": "get_search_points",
      "name": "Get Geospatial Search Map Points",
      "description": "Compact map coordinate points (latitude, longitude, licensing year, spud year, completion year) for up to 30,000 wells matching an entity search.",
      "tags": ["map-points", "gis", "coordinates", "spatial", "vintage-map"],
      "examples": [
        "Get map coordinates for all Duvernay wells",
        "Retrieve geospatial points for Tourmaline wells"
      ]
    },
    {
      "id": "get_company_profile",
      "name": "Get Corporate Entity Profile",
      "description": "Resolve corporate licensee and operator names across Alberta, British Columbia, and Saskatchewan with operated well counts and core formations.",
      "tags": ["company-profile", "corporate", "operator-resolution", "entities"],
      "examples": [
        "Get corporate profile for Whitecap Resources",
        "What licensee codes does Tourmaline operate under?"
      ]
    },
    {
      "id": "search_corporate_disclosures",
      "name": "Search Corporate Disclosures & Filings",
      "description": "Live search across MD&A, SEDAR+, SEC filings, and corporate press releases for company-reported production, capex, guidance, and M&A transactions.",
      "tags": ["corporate-disclosures", "sedar", "sec", "m&a", "capex", "guidance"],
      "examples": [
        "Search Q3 2025 production guidance for Tourmaline",
        "What was Crescent Point's reported capital budget?"
      ]
    },
    {
      "id": "reconcile_company_production",
      "name": "Reconcile Reported vs Operated Production",
      "description": "Reconcile company-reported corporate production figures against frac.fyi wellhead production data for the company's licensed wells across Alberta, BC, and Saskatchewan, detailing working interest and plant shrinkage gaps.",
      "tags": ["reconcile-production", "reported-vs-operated", "working-interest", "shrinkage", "ngl"],
      "examples": [
        "Reconcile Tourmaline Q3 2025 reported production against operated wellhead data",
        "Compare reported vs frac.fyi production for Whitecap"
      ]
    }
  ]
}
