L2 Calendar

io.github.DreievPublished by GitHub account Dreievv1.0.0Updated Oct 27, 2026

Query Lineage 2 private server openings by chronicle through the public L2 Calendar API.

Overview

AI-generated overview

Read-only MCP server that lets an assistant query Lineage 2 private server openings by chronicle from the public L2 Calendar API.

What you can do
  • List tracked servers ordered by VIP status and opening date, filtered by chronicle, upcoming, new, rate range and limit
  • List chronicles and labels to use as filters
  • Search servers by free text across name, website, rate, chronicle, description and labels
  • Fetch the full public record of one server by exact name
When to use it
Useful when you follow Lineage 2 private servers and want an assistant to answer questions about upcoming openings, chronicles, rates or a specific server's details without browsing the site.
Requirements
Runs locally over stdio, typically via npx with Node.js, or from source after a build; an optional HTTP mode is available. It calls the public L2 Calendar API over the network; no account or API key is needed. The base URL can be changed with the L2CALENDAR_API_URL variable.
Before you install
The API is read-only and needs no credentials. Results come from a single public page of up to 50 servers, so filters and searches only cover that page; use the chronicle filter for precision. Server records include third-party website links and descriptions that should be treated as untrusted.

Installation

In SourceWeft

  1. Open L2 Calendar in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

l2calendar-mcp

MCP server for L2 Calendar — query upcoming Lineage 2 private server openings by chronicle directly from any MCP client (Claude Desktop, Cursor, VS Code, Windsurf, Cline...).

It wraps the free, public, CORS-enabled L2 Calendar API and exposes it as MCP tools.

Tools

ToolWhat it does
list_serversList tracked servers, ordered by VIP status + opening date. Filters: chronicle, only_upcoming, new_only, min_rate, max_rate, limit.
get_chroniclesList every chronicle (slug + display name) to use as a filter.
search_serversFree-text search across name, website, rate, chronicle, description and labels.
get_serverFull public record of one server by exact name (case-insensitive).
list_labelsDistinct labels in use (PTS, Low rate, Craft...) with colors.

Every result is JSON, ready for the model to reason about.

Data source

All data comes from the public API:

  • GET https://l2calendar.com/api/servers — up to 50 servers per call, optional ?chronicle=<slug> filter.
  • GET https://l2calendar.com/api/chronicles — the chronicle catalog.

The API is read-only, requires no key and sends Access-Control-Allow-Origin: *.

Fields returned per server: name, website_url, rate, opening_date, opening_time, opening_datetime_utc, description, is_vip, vip_level, multiproff, multicraft, is_new, chronicle and labels.

Note: the public API returns a single page of up to 50 servers (VIP first, then soonest opening). Tools that filter or search operate on that public page. Increase precision with the chronicle filter.

Install

Remote (HTTP) — no install

When hosted, point your client at the streamable HTTP endpoint:

json
{  "mcpServers": {    "l2calendar": {      "type": "http",      "url": "https://<your-host>/mcp"    }  }}

Local (stdio) via npx

json
{  "mcpServers": {    "l2calendar": {      "command": "npx",      "args": ["-y", "l2calendar-mcp"]    }  }}

Local (stdio) from source

bash
git clone https://github.com/Dreiev/l2calendar-mcp.gitcd l2calendar-mcpnpm installnpm run build
json
{  "mcpServers": {    "l2calendar": {      "command": "node",      "args": ["/absolute/path/to/l2calendar-mcp/dist/index.js"]    }  }}

Run the HTTP transport

bash
node dist/index.js --http            # http://127.0.0.1:8787/mcpnode dist/index.js --http --port 9000

GET /health returns { "status": "ok" } for uptime checks.

Configuration

VariableDefaultPurpose
L2CALENDAR_API_URLhttps://l2calendar.comBase URL of the L2 Calendar instance to query.

Example prompts

  • "List the Interlude servers opening soon."
  • "Which Classic servers are new this week?"
  • "Search for High Five servers with rate x1000."
  • "Show me every chronicle L2 Calendar tracks."
  • "Get the details of the server named L2Hispano."

Development

bash
npm installnpm run build      # tsc -> dist/npm run dev        # run src/index.ts directly (Node >= 22)npm run start:http # build output over HTTP

About L2 Calendar

L2 Calendar is a multilingual (EN/ES/PT/RU) calendar and tracker of Lineage 2 private server openings by chronicle — l2calendar.com.

License

MIT © Dreiev

Source: README.md at commit ea65568

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 18, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts