Messe Atlas

MICE data for AI agents: trade shows, exhibitors, organizers, venues, halls, subsidies. Asia-first.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
94%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~6,633Tokens (tool definitions)
~1.5 KBTypical response size
Significant attention impact (5.18% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "atlas": {
      "url": "https://messeatlas.com/mcp"
    }
  }
}

Remote endpoints

https://messeatlas.com/mcpstreamable-http

What it can do

Tool inventory

Tools (26)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_companies(q, country, page)

Requires a free Messe Atlas account (sign in when prompted). Search canonical companies by name (full-text, best 200 matches), optionally filtered by HQ country. Without q: most active first (large countries continue A–Z after two pages; each answer says its `order` and `max_page`). Returns id, slug, name, kind, domain, HQ, industry, size band and editions in the last five years.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 80,
      "description": "Full-text phrase matched on the company name and domain."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "default": 1,
      "description": "1-based page, 20 rows each."
    }
  },
  "additionalProperties": false
}
🟢get_company(id_or_slug)

Requires a free Messe Atlas account (sign in when prompted). One company by slug or uuid: description, tags, parent, subsidiaries, sponsorships, total editions, last seen date.

Input Schema

{
  "type": "object",
  "properties": {
    "id_or_slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Slug or uuid, as returned by the search tools."
    }
  },
  "required": [
    "id_or_slug"
  ],
  "additionalProperties": false
}
🟢search_events(q, country, vertical, page)

Search event series by name, country or vertical. Each row carries edition count, last and next start dates and the largest captured exhibitor count.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 80,
      "description": "Full-text phrase matched on the event name."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "vertical": {
      "type": "string",
      "pattern": "^[a-z0-9-]+$",
      "maxLength": 40,
      "description": "Vertical slug (composites, mice, …)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "default": 1,
      "description": "1-based page, 20 rows each."
    }
  },
  "additionalProperties": false
}
🟢get_event(id_or_slug)

One event series by slug or uuid with organizer, venue, tags and every edition (ids, dates, exhibitor / sponsor / speaker / country counts). Use an edition id with list_edition_exhibitors.

Input Schema

{
  "type": "object",
  "properties": {
    "id_or_slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Slug or uuid, as returned by the search tools."
    }
  },
  "required": [
    "id_or_slug"
  ],
  "additionalProperties": false
}
🟢list_edition_exhibitors(edition_id, page)

Requires a free Messe Atlas account (sign in when prompted). Exhibitors at one edition (20 per page): exhibitor name, booth, pavilion country, tier and the matched canonical company when known. Free accounts see the first 20 rows plus how many more exist.

Input Schema

{
  "type": "object",
  "properties": {
    "edition_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Edition uuid from get_event."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "default": 1,
      "description": "1-based page, 20 rows each."
    }
  },
  "required": [
    "edition_id"
  ],
  "additionalProperties": false
}
🟢search_speakers(q, country, page)

Requires a free Messe Atlas account (sign in when prompted). People on the public record as speakers, by name prefix (≥ 2 letters) and/or country. Never returns email or phone.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "description": "Name prefix (at least two letters)."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "default": 1,
      "description": "1-based page, 20 rows each."
    }
  },
  "additionalProperties": false
}
🟢get_speaker(id_or_slug)

Requires a free Messe Atlas account (sign in when prompted). One speaker by slug or uuid with bio and the sessions they spoke at (event, edition, year, session title).

Input Schema

{
  "type": "object",
  "properties": {
    "id_or_slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Slug or uuid, as returned by the search tools."
    }
  },
  "required": [
    "id_or_slug"
  ],
  "additionalProperties": false
}
🟢search_venues(q, country, page)

Requires a free Messe Atlas account (sign in when prompted). Venues by name prefix and/or country, most event series hosted first, with the number of series each hosts. `q` matches the start of the venue name ("impact", "marina bay", "bitec"), case-insensitive.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 80,
      "description": "Start of the venue name (case-insensitive prefix, first 100 matches)."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "default": 1,
      "description": "1-based page, 20 rows each."
    }
  },
  "additionalProperties": false
}
🟢upcoming_events(from, to, country, vertical, venue, ...)

Trade-show and exhibition editions starting in a date window, soonest first, optionally filtered by country, vertical or venue. Each row has event, dates, city, country, venue, organizer, source_url and as_of. Use this for 'what shows are on in …' questions; pass `cursor` from the previous answer for the next page.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start of the window (YYYY-MM-DD). Defaults to today."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End of the window (YYYY-MM-DD), at most 24 months after today. Defaults to from + 12 months."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "vertical": {
      "type": "string",
      "pattern": "^[a-z0-9-]+$",
      "maxLength": 40,
      "description": "Vertical slug (composites, mice, …)."
    },
    "venue": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Venue slug or uuid from search_venues."
    },
    "cursor": {
      "type": "string",
      "maxLength": 200,
      "description": "Opaque cursor from the previous page's `next_cursor`."
    }
  },
  "additionalProperties": false
}
🟢search_organizers(q, country, page)

Requires a free Messe Atlas account (sign in when prompted). Event organizers by name and/or country with the number of event series they run.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 80,
      "description": "Full-text phrase matched on the organizer name."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "default": 1,
      "description": "1-based page, 20 rows each."
    }
  },
  "additionalProperties": false
}
🟢get_organizer(id_or_slug)

Requires a free Messe Atlas account (sign in when prompted). One organizer by slug or uuid with description, parent company and its top event series.

Input Schema

{
  "type": "object",
  "properties": {
    "id_or_slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Slug or uuid, as returned by the search tools."
    }
  },
  "required": [
    "id_or_slug"
  ],
  "additionalProperties": false
}
🟢get_venue(id_or_slug)

Requires a free Messe Atlas account (sign in when prompted). One venue by slug or uuid with city, website, the event series it hosts and its upcoming editions (next 20).

Input Schema

{
  "type": "object",
  "properties": {
    "id_or_slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Slug or uuid, as returned by the search tools."
    }
  },
  "required": [
    "id_or_slug"
  ],
  "additionalProperties": false
}
🟢list_leaderboards(kind)

Requires a free Messe Atlas account (sign in when prompted). Without `kind`: the leaderboard kinds available. With `kind`: the ranked rows (rank, name, value, slug) for that board.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "pattern": "^[a-z0-9_-]+$",
      "maxLength": 60,
      "description": "A kind from the list, e.g. top_exhibitors_5y."
    }
  },
  "additionalProperties": false
}
🟢country_totals(country)

Requires a free Messe Atlas account (sign in when prompted). Without `country`: the top 20 countries by events. With `country`: events, editions, organizers, venues, companies and speakers counted for that country.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    }
  },
  "additionalProperties": false
}
🟢semantic_search(query, kinds, country)

Requires a free Messe Atlas account (sign in when prompted). Search companies and events by meaning rather than keywords ("flame-retardant composites suppliers", "cannabis trade shows in Asia"). Returns the closest matches with a similarity score. Use search_* for exact names.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 500,
      "description": "What you are looking for, in plain words."
    },
    "kinds": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "company",
          "event"
        ]
      },
      "description": "Defaults to both."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_venue_spaces(venue)

Requires a free Messe Atlas account (sign in when prompted). The halls and rooms of one venue (slug or uuid from search_venues): kind, level, area m², width, length, clear height, floor load, column-free, capacities (theatre, classroom, banquet, cocktail, 3×3 booths), doors, utilities, notes, and each row's `source_url` and `as_of` (`stale` when older than 180 days). A null figure is not published by the venue. Drawings are not served; `geometry_status` says whether Atlas holds an outline.

Input Schema

{
  "type": "object",
  "properties": {
    "venue": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Venue slug or uuid from search_venues / get_venue."
    }
  },
  "required": [
    "venue"
  ],
  "additionalProperties": false
}
🟢search_venue_spaces(country, city, min_area_sqm, min_clear_height_m, capacity_kind, ...)

Requires a free Messe Atlas account (sign in when prompted). Halls and rooms in a country that meet a size: optional city, minimum area (m²), minimum clear height (m) and a minimum capacity of one kind (theatre, classroom, banquet, cocktail, booths_3x3). Best fit first (the smallest published area that meets the filters), 20 per page with `next_cursor`. Each row has the venue, the fit reasons, `waste_pct`, `source_url`, `as_of` and `stale`. Spaces that do not publish a filtered figure are left out.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "city": {
      "type": "string",
      "maxLength": 80,
      "description": "City (case-insensitive exact match, e.g. Bangkok)."
    },
    "min_area_sqm": {
      "type": "number",
      "minimum": 0,
      "maximum": 500000,
      "description": "Minimum floor area in square metres."
    },
    "min_clear_height_m": {
      "type": "number",
      "minimum": 0,
      "maximum": 200,
      "description": "Minimum clear (ceiling) height in metres."
    },
    "capacity_kind": {
      "type": "string",
      "enum": [
        "theatre",
        "classroom",
        "banquet",
        "cocktail",
        "booths_3x3"
      ],
      "description": "Capacity layout; use with min_capacity."
    },
    "min_capacity": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000,
      "description": "Minimum capacity for capacity_kind."
    },
    "cursor": {
      "type": "string",
      "maxLength": 200,
      "description": "Opaque cursor from the previous page's `next_cursor` (only valid with the same arguments)."
    }
  },
  "required": [
    "country"
  ],
  "additionalProperties": false
}
🟢find_subsidies(country, event_type, attendees, international_pct, start_date)

Requires a free Messe Atlas account (sign in when prompted). Convention-bureau and tourism-board support schemes for an exhibition, conference, meeting or incentive (optionally in one country). Each active scheme is screened against its published criteria: `match` is `likely` (every published criterion supplied and met) or `check` (something is unknown, late or stale), with the reasons; schemes that do not appear to fit are listed under `not_matched` with the reason. Returns benefits and amounts as published, `url`, `apply_url`, `as_of` and `stale`. Not advice: confirm eligibility, amounts and deadlines with the body.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "event_type": {
      "type": "string",
      "enum": [
        "exhibition",
        "conference",
        "meeting",
        "incentive"
      ],
      "description": "What kind of event."
    },
    "attendees": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10000000,
      "description": "Expected attendees (delegates / participants / visitors)."
    },
    "international_pct": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Expected share of international participants, in percent."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Event start (YYYY-MM-DD), to screen application lead times."
    }
  },
  "required": [
    "event_type"
  ],
  "additionalProperties": false
}
🟢check_floorplan(plan, space_id, confirmed_only)

Requires a free Messe Atlas account (sign in when prompted). Checks an exhibition floor plan against published default safety and layout limits — no AI, deterministic: stand overlaps, keep-clear gangways, fire-point halos, 4 m entrance strips, rows ≤ 30 m, gangways ≥ 3 m, travel distance ≤ 61 m, dead ends ≤ 18 m, stand area ≤ 2 × gangway area, exit width at 5 mm per person, gate lines, power pits. Coordinates in metres, origin at the hall's north-west corner, x east, y south. `plan` is either the short form {hall: {w, l} (or space_id), exits: [{id, kind: public|fire|folding|service|open, a: [x,y], b: [x,y]}], stands: [{id, x, y, w, d, door_side?: n|e|s|w}] (x, y = the stand's north-west corner), features?: [{id, x, y, w, d}], peak_people} or the full L2 plan dict (hall|site, exits, units, solids, keep, fire, peak). `space_id` (from get_venue_spaces) supplies the hall only when Atlas holds its outline; otherwise send the hall inline. Returns ok, every check with rule, value, limit and source, a summary (stands, m² sold, gangway m², ratio), limits_status, a preview_url (SVG, 24 hours) and a disclaimer. Convex polygons only; at most 2,000 objects and 160,000 m². Free accounts get 3 successful checks a month, Pro 30, Team and Enterprise unlimited; invalid plans are not counted.

Input Schema

{
  "type": "object",
  "properties": {
    "plan": {
      "type": "object",
      "description": "The short form (stands, exits, hall or space_id, features, peak_people) or the full L2 plan dict (hall|site, exits, units, solids, keep, fire, peak). Metres; origin north-west; at most 512 KB of JSON."
    },
    "space_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Venue space id or slug from get_venue_spaces / search_venue_spaces (short form only). Used for the hall only when its geometry_status is outline or better."
    },
    "confirmed_only": {
      "type": "boolean",
      "default": false,
      "description": "Leave out exits listed in the plan's pending_exits (awaiting the venue's confirmation)."
    }
  },
  "required": [
    "plan"
  ],
  "additionalProperties": false
}
🟢list_edition_sponsors(edition_id, page)

Requires a Pro plan. Sponsors of one edition (20 per page, up to 200, highest tier first): company, public tier label, HQ country and url, with the edition's `as_of` (sponsor lists refresh at the full publish). Takes an edition id from get_event.

Input Schema

{
  "type": "object",
  "properties": {
    "edition_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Edition uuid from get_event."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 250,
      "default": 1,
      "description": "1-based page, 20 rows each."
    }
  },
  "required": [
    "edition_id"
  ],
  "additionalProperties": false
}
🟢exhibitor_history(company, role, from_year, to_year, cursor)

Requires a Pro plan. Every edition one company exhibited at or sponsored, newest first (20 per page): event, year, dates, city, country, tier, booths and the edition's `as_of`. Filter by role and year range; pass `cursor` from the previous answer for the next page. `history_truncated` is set for very large histories.

Input Schema

{
  "type": "object",
  "properties": {
    "company": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Company slug or uuid, as returned by search_companies."
    },
    "role": {
      "type": "string",
      "enum": [
        "exhibitor",
        "sponsor",
        "any"
      ],
      "default": "any",
      "description": "Only exhibitor or sponsor records. Defaults to both."
    },
    "from_year": {
      "type": "integer",
      "minimum": 1900,
      "maximum": 2100,
      "description": "Earliest edition year (inclusive)."
    },
    "to_year": {
      "type": "integer",
      "minimum": 1900,
      "maximum": 2100,
      "description": "Latest edition year (inclusive)."
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "description": "Opaque cursor from the previous page's `next_cursor`."
    }
  },
  "required": [
    "company"
  ],
  "additionalProperties": false
}
🟢find_prospects(include, exclude, country, role, cursor)

Requires a Pro plan. Prospect lists: companies at any `include` edition and at none of the `exclude` editions ("at A or B, not at C"), most editions attended first, then most recent (20 per page). A side is an event (slug or uuid, optional `years`; default its latest 5 past editions) or an `edition_id`; at most 5 editions per side; oversized editions are refused as too_broad. Optional HQ `country` and `role`. Returns company, hits, last edition and url, `total_about`, and `editions_used` with each edition's `as_of`.

Input Schema

{
  "type": "object",
  "properties": {
    "include": {
      "type": "array",
      "minItems": 1,
      "maxItems": 5,
      "items": {
        "type": "object",
        "description": "Either `event` (+ optional `years`) or `edition_id`.",
        "properties": {
          "event": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Event slug or uuid from search_events."
          },
          "years": {
            "type": "array",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            },
            "description": "Edition years of that event."
          },
          "edition_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Edition uuid from get_event."
          }
        },
        "additionalProperties": false
      },
      "description": "Editions the companies attended (any of them)."
    },
    "exclude": {
      "type": "array",
      "maxItems": 5,
      "items": {
        "type": "object",
        "description": "Either `event` (+ optional `years`) or `edition_id`.",
        "properties": {
          "event": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Event slug or uuid from search_events."
          },
          "years": {
            "type": "array",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            },
            "description": "Edition years of that event."
          },
          "edition_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Edition uuid from get_event."
          }
        },
        "additionalProperties": false
      },
      "description": "Editions to rule out: companies at any of these are dropped."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
    },
    "role": {
      "type": "string",
      "enum": [
        "exhibitor",
        "any"
      ],
      "default": "any",
      "description": "\"exhibitor\" ignores sponsor lists. Defaults to both."
    },
    "cursor": {
      "type": "string",
      "maxLength": 200,
      "description": "Opaque cursor from the previous page's `next_cursor` (only valid with the same arguments)."
    }
  },
  "required": [
    "include"
  ],
  "additionalProperties": false
}
🟢export_list(source, edition_id, prospects, cursor)

Requires a Pro plan. Writes a CSV to your workspace's exports and returns a download link that works for 24 hours without signing in. Sources: `edition_exhibitors` (an edition's exhibitors, 1,000 rows per part; pass `next_cursor` back as `cursor` for the next part), `edition_sponsors` (up to 200), `prospects` (the find_prospects arguments, up to 1,000 companies), and `reveals` (Team plan and up: the people your workspace revealed, with the email and phone it revealed, 500 per part; not offered when the workspace keeps contacts out of AI conversations). Rows count against your plan's daily export allowance; the answer shows what is left. Needs the 'atlas.reveal' permission and a personal connection.

Input Schema

{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "enum": [
        "edition_exhibitors",
        "edition_sponsors",
        "prospects",
        "reveals"
      ],
      "description": "What to export."
    },
    "edition_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Edition uuid from get_event (edition_exhibitors, edition_sponsors)."
    },
    "prospects": {
      "type": "object",
      "description": "The find_prospects arguments (source prospects).",
      "properties": {
        "include": {
          "type": "array",
          "minItems": 1,
          "maxItems": 5,
          "items": {
            "type": "object",
            "description": "Either `event` (+ optional `years`) or `edition_id`.",
            "properties": {
              "event": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200,
                "description": "Event slug or uuid from search_events."
              },
              "years": {
                "type": "array",
                "minItems": 1,
                "maxItems": 5,
                "items": {
                  "type": "integer",
                  "minimum": 1900,
                  "maximum": 2100
                },
                "description": "Edition years of that event."
              },
              "edition_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "description": "Edition uuid from get_event."
              }
            },
            "additionalProperties": false
          }
        },
        "exclude": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "description": "Either `event` (+ optional `years`) or `edition_id`.",
            "properties": {
              "event": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200,
                "description": "Event slug or uuid from search_events."
              },
              "years": {
                "type": "array",
                "minItems": 1,
                "maxItems": 5,
                "items": {
                  "type": "integer",
                  "minimum": 1900,
                  "maximum": 2100
                },
                "description": "Edition years of that event."
              },
              "edition_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "description": "Edition uuid from get_event."
              }
            },
            "additionalProperties": false
          }
        },
        "country": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$",
          "description": "ISO-3166 alpha-2 (TH, DE, JP …)."
        },
        "role": {
          "type": "string",
          "enum": [
            "exhibitor",
            "any"
          ],
          "default": "any"
        }
      },
      "required": [
        "include"
      ],
      "additionalProperties": false
    },
    "cursor": {
      "type": "string",
      "maxLength": 1200,
      "description": "`next_cursor` from the previous part (edition_exhibitors, reveals)."
    }
  },
  "required": [
    "source"
  ],
  "additionalProperties": false
}
⚪watch(entity_type, id_or_slug)

Requires a free Messe Atlas account (sign in when prompted). Adds an event, edition, company, organizer, country (ISO code) or vertical (slug) to your workspace's "AI watches" list. Changes (new editions, new exhibitors or sponsors, speakers announced, score changes) arrive in the weekly email digest, and as signed webhooks on the Team plan and up. Watching the same thing twice changes nothing. Free plans watch 1 item, Pro 100, Team and Enterprise 500. Needs the 'atlas.reveal' permission.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_type": {
      "type": "string",
      "enum": [
        "event",
        "edition",
        "company",
        "organizer",
        "country",
        "vertical"
      ],
      "description": "What to watch."
    },
    "id_or_slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Slug or uuid from the search / get tools; an edition uuid from get_event; an ISO-3166 alpha-2 code for a country; a vertical slug."
    }
  },
  "required": [
    "entity_type",
    "id_or_slug"
  ],
  "additionalProperties": false
}
🟢list_watches

Requires a free Messe Atlas account (sign in when prompted). Your workspace's "AI watches": what is watched (type, id, name), how many of your plan's watches are used, the next digest date and the alert channels (email digest; webhooks on the Team plan and up).

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🔴unwatch(entity_type, id)

Requires a free Messe Atlas account (sign in when prompted). Removes one item from your workspace's "AI watches" (entity_type and id as list_watches shows them). Removing something not watched changes nothing. Needs the 'atlas.reveal' permission.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_type": {
      "type": "string",
      "enum": [
        "event",
        "edition",
        "company",
        "organizer",
        "country",
        "vertical"
      ],
      "description": "Type as list_watches shows it."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Id as list_watches shows it."
    }
  },
  "required": [
    "entity_type",
    "id"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded26 tools
verifiedversion not recorded3 tools