Tankful MCP
A read-only MCP server providing live Irish heating oil, kerosene, green diesel, and road diesel prices by county, along with supplier directories and order planning tools for agents.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://www.tankful.ie/api/mcpWhat you can do with it
- Retrieve current heating oil prices for all Irish counties
- Find oil suppliers serving a specific county
- Check historical price trends for a county
- Draft a delivery request link for a customer
Source and maintenance
Protocol and capabilities
- Server
- tankful 0.1.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
tankful_county_price_guide — County heating oil price guide
Read the published kerosene county reference guide for 300, 500 or 1000 litres, with observation date and confidence. May be unavailable. Not a supplier quote or bookable offer.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"county",
"litres"
],
"properties": {
"fuel": {
"type": "string",
"const": "KEROSENE",
"default": "KEROSENE"
},
"county": {
"enum": [
"Carlow",
"Cavan",
"Clare",
"Cork",
"Donegal",
"Dublin",
"Galway",
"Kerry",
"Kildare",
"Kilkenny",
"Laois",
"Leitrim",
"Limerick",
"Longford",
"Louth",
"Mayo",
"Meath",
"Monaghan",
"Offaly",
"Roscommon",
"Sligo",
"Tipperary",
"Waterford",
"Westmeath",
"Wexford",
"Wicklow"
],
"type": "string",
"description": "Republic of Ireland county; do not provide an address or Eircode."
},
"litres": {
"anyOf": [
{
"type": "number",
"const": 300
},
{
"type": "number",
"const": 500
},
{
"type": "number",
"const": 1000
}
]
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"message",
"checkedAt"
],
"properties": {
"fuel": {
"enum": [
"KEROSENE",
"GAS_OIL",
"HVO"
],
"type": "string"
},
"kind": {
"enum": [
"guide",
"suppliers",
"draft",
"unavailable"
],
"type": "string"
},
"guide": {
"type": "object",
"required": [
"totalEUR",
"observedAt",
"confidence",
"sampleCount"
],
"properties": {
"totalEUR": {
"type": "number",
"exclusiveMinimum": 0
},
"confidence": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"sampleCount": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"title": {
"type": "string",
"maxLength": 160
},
"county": {
"enum": [
"Carlow",
"Cavan",
"Clare",
"Cork",
"Donegal",
"Dublin",
"Galway",
"Kerry",
"Kildare",
"Kilkenny",
"Laois",
"Leitrim",
"Limerick",
"Longford",
"Louth",
"Mayo",
"Meath",
"Monaghan",
"Offaly",
"Roscommon",
"Sligo",
"Tipperary",
"Waterford",
"Westmeath",
"Wexford",
"Wicklow"
],
"type": "string",
"description": "Republic of Ireland county; do not provide an address or Eircode."
},
"litres": {
"type": "integer",
"maximum": 5000,
"exclusiveMinimum": 0
},
"message": {
"type": "string",
"maxLength": 1500
},
"urgency": {
"enum": [
"ASAP",
"THIS_WEEK",
"FLEXIBLE"
],
"type": "string"
},
"checkedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"suppliers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"coverage",
"href"
],
"properties": {
"href": {
"type": "string",
"maxLength": 400
},
"name": {
"type": "string",
"maxLength": 120
},
"coverage": {
"enum": [
"confirmed",
"listed"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 5
},
"continuation": {
"type": "object",
"required": [
"label",
"href"
],
"properties": {
"href": {
"type": "string",
"maxLength": 600
},
"label": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}tankful_find_suppliers — Find public oil suppliers
List up to five public oil suppliers for a Republic of Ireland county and fuel. Distinguishes confirmed coverage from directory coverage. No live stock, prices, delivery promises or contact is requested.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"county"
],
"properties": {
"fuel": {
"enum": [
"KEROSENE",
"GAS_OIL",
"HVO"
],
"type": "string",
"default": "KEROSENE"
},
"county": {
"enum": [
"Carlow",
"Cavan",
"Clare",
"Cork",
"Donegal",
"Dublin",
"Galway",
"Kerry",
"Kildare",
"Kilkenny",
"Laois",
"Leitrim",
"Limerick",
"Longford",
"Louth",
"Mayo",
"Meath",
"Monaghan",
"Offaly",
"Roscommon",
"Sligo",
"Tipperary",
"Waterford",
"Westmeath",
"Wexford",
"Wicklow"
],
"type": "string",
"description": "Republic of Ireland county; do not provide an address or Eircode."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"message",
"checkedAt"
],
"properties": {
"fuel": {
"enum": [
"KEROSENE",
"GAS_OIL",
"HVO"
],
"type": "string"
},
"kind": {
"enum": [
"guide",
"suppliers",
"draft",
"unavailable"
],
"type": "string"
},
"guide": {
"type": "object",
"required": [
"totalEUR",
"observedAt",
"confidence",
"sampleCount"
],
"properties": {
"totalEUR": {
"type": "number",
"exclusiveMinimum": 0
},
"confidence": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"sampleCount": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"title": {
"type": "string",
"maxLength": 160
},
"county": {
"enum": [
"Carlow",
"Cavan",
"Clare",
"Cork",
"Donegal",
"Dublin",
"Galway",
"Kerry",
"Kildare",
"Kilkenny",
"Laois",
"Leitrim",
"Limerick",
"Longford",
"Louth",
"Mayo",
"Meath",
"Monaghan",
"Offaly",
"Roscommon",
"Sligo",
"Tipperary",
"Waterford",
"Westmeath",
"Wexford",
"Wicklow"
],
"type": "string",
"description": "Republic of Ireland county; do not provide an address or Eircode."
},
"litres": {
"type": "integer",
"maximum": 5000,
"exclusiveMinimum": 0
},
"message": {
"type": "string",
"maxLength": 1500
},
"urgency": {
"enum": [
"ASAP",
"THIS_WEEK",
"FLEXIBLE"
],
"type": "string"
},
"checkedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"suppliers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"coverage",
"href"
],
"properties": {
"href": {
"type": "string",
"maxLength": 400
},
"name": {
"type": "string",
"maxLength": 120
},
"coverage": {
"enum": [
"confirmed",
"listed"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 5
},
"continuation": {
"type": "object",
"required": [
"label",
"href"
],
"properties": {
"href": {
"type": "string",
"maxLength": 600
},
"label": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}tankful_delivery_request_draft — Review delivery options
Prepare county, fuel, 300–5000 whole litres and timing preferences, then continue on Tankful. Does not send to anyone, create a persisted request, order, reserve, take payment or collect personal details.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"county",
"litres"
],
"properties": {
"fuel": {
"enum": [
"KEROSENE",
"GAS_OIL",
"HVO"
],
"type": "string",
"default": "KEROSENE"
},
"county": {
"enum": [
"Carlow",
"Cavan",
"Clare",
"Cork",
"Donegal",
"Dublin",
"Galway",
"Kerry",
"Kildare",
"Kilkenny",
"Laois",
"Leitrim",
"Limerick",
"Longford",
"Louth",
"Mayo",
"Meath",
"Monaghan",
"Offaly",
"Roscommon",
"Sligo",
"Tipperary",
"Waterford",
"Westmeath",
"Wexford",
"Wicklow"
],
"type": "string",
"description": "Republic of Ireland county; do not provide an address or Eircode."
},
"litres": {
"type": "integer",
"maximum": 5000,
"minimum": 300
},
"urgency": {
"enum": [
"ASAP",
"THIS_WEEK",
"FLEXIBLE"
],
"type": "string",
"default": "THIS_WEEK"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"message",
"checkedAt"
],
"properties": {
"fuel": {
"enum": [
"KEROSENE",
"GAS_OIL",
"HVO"
],
"type": "string"
},
"kind": {
"enum": [
"guide",
"suppliers",
"draft",
"unavailable"
],
"type": "string"
},
"guide": {
"type": "object",
"required": [
"totalEUR",
"observedAt",
"confidence",
"sampleCount"
],
"properties": {
"totalEUR": {
"type": "number",
"exclusiveMinimum": 0
},
"confidence": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"sampleCount": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"title": {
"type": "string",
"maxLength": 160
},
"county": {
"enum": [
"Carlow",
"Cavan",
"Clare",
"Cork",
"Donegal",
"Dublin",
"Galway",
"Kerry",
"Kildare",
"Kilkenny",
"Laois",
"Leitrim",
"Limerick",
"Longford",
"Louth",
"Mayo",
"Meath",
"Monaghan",
"Offaly",
"Roscommon",
"Sligo",
"Tipperary",
"Waterford",
"Westmeath",
"Wexford",
"Wicklow"
],
"type": "string",
"description": "Republic of Ireland county; do not provide an address or Eircode."
},
"litres": {
"type": "integer",
"maximum": 5000,
"exclusiveMinimum": 0
},
"message": {
"type": "string",
"maxLength": 1500
},
"urgency": {
"enum": [
"ASAP",
"THIS_WEEK",
"FLEXIBLE"
],
"type": "string"
},
"checkedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"suppliers": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"coverage",
"href"
],
"properties": {
"href": {
"type": "string",
"maxLength": 400
},
"name": {
"type": "string",
"maxLength": 120
},
"coverage": {
"enum": [
"confirmed",
"listed"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 5
},
"continuation": {
"type": "object",
"required": [
"label",
"href"
],
"properties": {
"href": {
"type": "string",
"maxLength": 600
},
"label": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}tankful_national_prices — Heating oil prices across Ireland today
Every county's lowest current published price for 500 litres of kerosene (home heating oil), with the average, cheapest and dearest county and a page to cite. Reference prices, not quotes.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}tankful_business_fuel_prices — Green diesel and road diesel prices
Delivered green diesel (marked gas oil) or road diesel prices per litre for 500 and 1,000 litres from Irish oil suppliers that publish them, with the typical and lowest price, weekly medians and a link for businesses to get quotes. HVO prices are not published online in Ireland.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fuel"
],
"properties": {
"fuel": {
"enum": [
"GREEN_DIESEL",
"ROAD_DIESEL"
],
"type": "string",
"description": "GREEN_DIESEL is marked gas oil for farms, plant and heating; ROAD_DIESEL is diesel for road vehicles."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}tankful_my_orders — My heating oil orders
The signed-in Tankful customer's 10 most recent heating oil orders: litres, oil supplier, status, price, delivery window and delivered litres. Needs the customer to connect their Tankful account (orders:read). Read-only.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
tankful-heating-oil
ui://tankful/heating-oil-v1.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2562 ms
- 95th percentile latency
- 2562 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2562 ms · metadata changed · 6 tool(s), 1 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http tankful-mcp https://www.tankful.ie/api/mcpCodex
codex mcp add tankful-mcp --url https://www.tankful.ie/api/mcpCursor
{
"mcpServers": {
"tankful-mcp": {
"url": "https://www.tankful.ie/api/mcp"
}
}
}Cline
{
"mcpServers": {
"tankful-mcp": {
"type": "streamableHttp",
"url": "https://www.tankful.ie/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"tankful-mcp": {
"type": "http",
"url": "https://www.tankful.ie/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http tankful-mcp https://www.tankful.ie/api/mcpClaude Desktop
{
"mcpServers": {
"tankful-mcp": {
"url": "https://www.tankful.ie/api/mcp"
}
}
}Windsurf
{
"mcpServers": {
"tankful-mcp": {
"serverUrl": "https://www.tankful.ie/api/mcp"
}
}
}Let your agent find its tools
Find servers like Tankful MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.