Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Meetup Server

FreeNot checked

An MCP server for automating Meetup event tracking with an AI agent. It equips the agent with tools to browse Meetup.com, detect new events since the last known

GitHubEmbed

About

An MCP server for automating Meetup event tracking with an AI agent. It equips the agent with tools to browse Meetup.com, detect new events since the last known record, and return structured event data.

README

An MCP server for automating Meetup event tracking with an AI agent. It equips the agent with tools to browse Meetup.com, detect new events since the last known record, and return structured event data — without manual scraping or copy-pasting.

Designed to be paired with a browser-use tool (e.g. Playwright MCP) so the agent can navigate Meetup pages, extract event details, and emit clean structured output.

What it can be used for

  • Tracking new past events from a Meetup group since the last recorded entry
  • Extracting structured event details: title, date, venue, attendees, speakers, and summary
  • Feeding event data into a pipeline, CMS, or data file in a repeatable and automatable way

Tools

load_skill — Loads step-by-step browsing instructions for a named skill (meetUp-events-lookup, meetUp-event-page).

dates_of_interest — Returns the date range of new events to collect — from the last recorded event up to today. Takes no parameters.

submit_meetup_events — Structured output tool: emits the list of new events found.

submit_event_details — Structured output tool: emits full detail for a single event page.

Quick start

Add to your MCP client config:

{
  "mcpServers": {
    "meetup": {
      "command": "npx",
      "args": ["@kwiknordic/meetup-events-scraper-mcp"]
    }
  }
}

To collect only events newer than your last recorded entry, pass EVENTS_JSON_URL:

{
  "mcpServers": {
    "meetup": {
      "command": "npx",
      "args": ["@kwiknordic/meetup-events-scraper-mcp"],
      "env": {
        "EVENTS_JSON_URL": "https://your-host/events.json",
        "START_DATE": "2026-05-15"
      }
    }
  }
}

To add the mcp-server to your Claude CLI via the terminal:

claude mcp add meetupEvents \
  --env EVENTS_JSON_URL=https://your-host/events.json \
  -- npx -y @kwiknordic/meetup-events-scraper-mcp

Configuration

START_DATE (optional) — Explicit start date in YYYY-MM-DD format. When set, the agent collects only events strictly after this date. Takes precedence over EVENTS_JSON_URL.

EVENTS_JSON_URL (optional) — URL to a JSON file containing past events. Used to determine the date of the most recent recorded event, so the agent knows where to start collecting. Ignored when START_DATE is set. If neither is set, the date range has no lower bound and the agent will collect all events up to today.

Events JSON format

If EVENTS_JSON_URL is set, it must return a JSON array of objects where each object has a date field in YYYY-MM-DD format. The server finds the most recent date and uses it as the exclusive lower bound when collecting new events. Any additional fields are ignored.

[{ "date": "2025-11-12" }, { "date": "2026-01-22" }, { "date": "2026-03-05" }]

In practice your array will likely carry more fields — only date is required:

[
  { "id": 314270265, "title": "Tech Night #12", "date": "2026-03-05", "attendees": 87 },
  { "id": 298451032, "title": "Tech Night #11", "date": "2026-01-22", "attendees": 64 }
]

Playbooks

Playbooks are step-by-step instruction sets loaded by load_skill at runtime. Each one guides the agent through a specific browsing task.

meetUp-events-lookup — navigates the Meetup "Past events" tab, determines the relevant date window, and collects new events via submit_meetup_events.

meetUp-event-page — opens a single event page, extracts all detail fields, and emits them via submit_event_details.

How it works

The agent calls load_skill (with meetUp-events-lookup or meetUp-event-page) to receive task-specific browsing instructions, then dates_of_interest to get the exact date window of interest. It then uses its browser tools to navigate Meetup.com and collect events that fall within that window. Finally it calls submit_meetup_events or submit_event_details to return the structured result.

The server itself does not browse the web — it provides the context and boundaries the agent needs to do that reliably.

Requirements

About me

License

MIT © Mervin Bratic — see LICENSE.

from github.com/kwiknordic/meetup-events-scraper-mcp

Install Meetup Server in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install meetup-mcp-server

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add meetup-mcp-server -- npx -y @kwiknordic/meetup-events-scraper-mcp

FAQ

Is Meetup Server MCP free?

Yes, Meetup Server MCP is free — one-click install via Unyly at no cost.

Does Meetup Server need an API key?

No, Meetup Server runs without API keys or environment variables.

Is Meetup Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Meetup Server in Claude Desktop, Claude Code or Cursor?

Open Meetup Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Meetup Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs