# Messe Atlas

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

- name: com.messeatlas/atlas
- version: 2.4.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 92/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.messeatlas%2Fatlas
- tools: https://api.protogrid.dev/v1/servers/com.messeatlas%2Fatlas/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "atlas": {
      "type": "http",
      "url": "https://messeatlas.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ATLAS_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${ATLAS_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-96% +updated-11d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 92/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 27 of 27 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 6,570 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 24 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 27, about 6,570 tokens to load them all
- tool set hash: 942223941d4dc565758468a39803983f
- tools last changed: 2026-10-19T00:11:43.181Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.messeatlas/atlas.svg)](https://protogrid.dev/servers/com.messeatlas/atlas)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `reveal_contact` added
  - Requires a Pro plan. Reveals the business email and phone of one public speaker (person_id or slug from search_speakers / get_speaker), with provenance (source, as_of). Uses 1 reveal credit when an email or phone is returned; re-viewing a contact your workspace already revealed is free, and refusals (opted out, restricted, unavailable, nothing on file) cost nothing. Needs the 'atlas.reveal' permission and the workspace's one-time acceptance of the Messe Atlas data terms; reveals are capped per day by plan. Use contacts for business-to-business outreach only.
- 2026-10-09 `unwatch` added
  - 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.
- 2026-10-09 `list_watches` added
  - 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).
- 2026-10-09 `watch` added
  - 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.
- 2026-10-09 `export_list` added
  - 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.
- 2026-10-09 `find_prospects` added
  - 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`.
- 2026-10-09 `exhibitor_history` added
  - 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.
- 2026-10-09 `list_edition_sponsors` added
  - 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.
- 2026-10-09 `check_floorplan` added
  - 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.
- 2026-10-09 `find_subsidies` added
  - 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.

Full history: https://api.protogrid.dev/v1/servers/com.messeatlas%2Fatlas/changes

## Remotes

- https://messeatlas.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9649123)

## Packages

_none_

## Tools (27)

- `check_floorplan`: 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.
- `country_totals`: 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.
- `exhibitor_history`: 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.
- `export_list`: 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.
- `find_prospects`: 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`.
- `find_subsidies`: 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.
- `get_company`: 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.
- `get_event`: 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.
- `get_organizer`: 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.
- `get_speaker`: 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).
- `get_venue`: 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).
- `get_venue_spaces`: 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.
- `list_edition_exhibitors`: 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.
- `list_edition_sponsors`: 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.
- `list_leaderboards`: 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.
- `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).
- `reveal_contact`: Requires a Pro plan. Reveals the business email and phone of one public speaker (person_id or slug from search_speakers / get_speaker), with provenance (source, as_of). Uses 1 reveal credit when an email or phone is returned; re-viewing a contact your workspace already revealed is free, and refusals (opted out, restricted, unavailable, nothing on file) cost nothing. Needs the 'atlas.reveal' permission and the workspace's one-time acceptance of the Messe Atlas data terms; reveals are capped per day by plan. Use contacts for business-to-business outreach only.
- `search_companies`: 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.
- `search_events`: Search event series by name, country or vertical. Each row carries edition count, last and next start dates and the largest captured exhibitor count.
- `search_organizers`: 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.
- `search_speakers`: 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.
- `search_venues`: 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.
- `search_venue_spaces`: 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.
- `semantic_search`: 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.
- `unwatch`: 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.
- `upcoming_events`: 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.
- `watch`: 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.
