Koskamo

JanuarySales MCP

A free, read-only MCP server that allows AI assistants to query UK seasonal sale dates, including current sales and historical data for specific shops or categories like electricals and fashion.

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.

JanuarySales MCP logo, by JanuarySalesCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by JanuarySales
MCP endpoint (Streamable HTTP)
https://www.januarysale.org.uk/api/mcp
Vendor documentation

What you can do with it

  • Find current sales running in a specific category
  • Check start and end dates for a shop's latest January sale
  • Query historical sale dates from previous December or January

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
januarysales 1.0.0
MCP protocol
2025-06-18
Tools
2 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

January Sales (januarysale.org.uk) lists UK shops' sales all year round, not only in January: the sales on today at a shop or in a category, with the dates each started and ends, and each shop's past December and January sales. Dates are UK time. Sale links go through January Sales, which may earn a commission at no cost to the shopper.

Tools

2 advertised

check_shop_sales — Check whether a UK shop has a sale on
Advertised by the server during the last successful anonymous check.
Advertised read-only

Checks whether a UK shop has a sale on today and when it ends. Returns each sale the shop is running now with its start and end dates and a link, and its sales from the latest December and January with the dates they started and ended. From January Sales' listings of UK shops' sales all year round (Black Friday, Boxing Day, January and the seasons between).

check_shop_sales input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "shop"
  ],
  "properties": {
    "shop": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "The shop's name, e.g. 'Next', 'John Lewis', 'Currys'"
    }
  }
}
check_shop_sales output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "shop",
    "siteUrl",
    "running",
    "winter",
    "disclosure"
  ],
  "properties": {
    "shop": {
      "type": "string"
    },
    "winter": {
      "type": "object",
      "required": [
        "season",
        "sales"
      ],
      "properties": {
        "sales": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "description",
              "started",
              "ends",
              "running",
              "linkUrl"
            ],
            "properties": {
              "ends": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The day it ends or ended, UK time, when it has an end date"
              },
              "linkUrl": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "January Sales' link to the sale at the shop, while it runs"
              },
              "running": {
                "type": "boolean"
              },
              "started": {
                "type": "string",
                "description": "The day the sale started, UK time (yyyy-mm-dd)"
              },
              "description": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "season": {
          "type": "string"
        }
      },
      "description": "Sales from the latest December to January season",
      "additionalProperties": false
    },
    "running": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "description",
          "started",
          "ends",
          "running",
          "linkUrl"
        ],
        "properties": {
          "ends": {
            "type": [
              "string",
              "null"
            ],
            "description": "The day it ends or ended, UK time, when it has an end date"
          },
          "linkUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "January Sales' link to the sale at the shop, while it runs"
          },
          "running": {
            "type": "boolean"
          },
          "started": {
            "type": "string",
            "description": "The day the sale started, UK time (yyyy-mm-dd)"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "description": "Sales running now"
    },
    "siteUrl": {
      "type": "string",
      "description": "The shop's January Sales page"
    },
    "disclosure": {
      "type": "string"
    },
    "suggestions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Shop names to try when nothing matched"
    }
  },
  "additionalProperties": false
}
check_shop_sales annotations
{
  "title": "Check whether a UK shop has a sale on",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_category_sales — Find UK shops with a sale on in a category
Advertised by the server during the last successful anonymous check.
Advertised read-only

Finds which UK shops have a sale on today in one product category, such as electricals, fashion or furniture: one sale per shop, up to five, each with its start and end dates and a link. From January Sales' listings of UK shops' sales all year round.

list_category_sales input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "category"
  ],
  "properties": {
    "category": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "A product category, e.g. 'Electricals', 'Fashion', 'Furniture'"
    }
  }
}
list_category_sales output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "category",
    "siteUrl",
    "hasMore",
    "sales",
    "disclosure"
  ],
  "properties": {
    "sales": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "description",
          "started",
          "ends",
          "running",
          "linkUrl"
        ],
        "properties": {
          "ends": {
            "type": [
              "string",
              "null"
            ],
            "description": "The day it ends or ended, UK time, when it has an end date"
          },
          "linkUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "January Sales' link to the sale at the shop, while it runs"
          },
          "running": {
            "type": "boolean"
          },
          "started": {
            "type": "string",
            "description": "The day the sale started, UK time (yyyy-mm-dd)"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "hasMore": {
      "type": "boolean",
      "description": "True when the page lists more running sales"
    },
    "siteUrl": {
      "type": "string",
      "description": "The category's January Sales page"
    },
    "category": {
      "type": "string"
    },
    "disclosure": {
      "type": "string"
    },
    "suggestions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Category names to try when nothing matched"
    }
  },
  "additionalProperties": false
}
list_category_sales annotations
{
  "title": "Find UK shops with a sale on in a category",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-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
790 ms
95th percentile latency
790 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 790 ms · metadata changed · 2 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http januarysales-mcp https://www.januarysale.org.uk/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add januarysales-mcp --url https://www.januarysale.org.uk/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable januarysales-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "januarysales-mcp": {
      "url": "https://www.januarysale.org.uk/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "januarysales-mcp": {
      "type": "streamableHttp",
      "url": "https://www.januarysale.org.uk/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start januarysales-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "januarysales-mcp": {
      "type": "http",
      "url": "https://www.januarysale.org.uk/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http januarysales-mcp https://www.januarysale.org.uk/api/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "januarysales-mcp": {
      "url": "https://www.januarysale.org.uk/api/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "januarysales-mcp": {
      "serverUrl": "https://www.januarysale.org.uk/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like JanuarySales MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.