Informa Events Directory MCP Server

Informa Events Directory MCP Server

Enables querying and retrieving structured event data from the Informa Connect event directory, with support for various filters, pagination, and speaker extraction.

Category
访问服务器

README

Informa Events Directory MCP Server

MCP server for querying and retrieving structured event data from the Informa Connect event directory.

Available Tools

Default (always available):

  1. get_informa_events Returns normalized events across all pages (API-first, HTML fallback).

  2. get_informa_events_page Returns a single directory page with normalized results.

  3. get_informa_events_by_date_range Returns normalized events constrained by dateFrom / dateTo.

  4. list_informa_event_facets Returns raw and simplified facet/filter metadata for the current query context.

  5. find_informa_event Finds one event by id, slug, url, or name.

  6. get_informa_event_detail Fetches one event page and extracts richer detail (JSON-LD event data, offers/pricing hints, contact hints, speaker extraction).

  7. get_informa_events_with_details Fetches directory events and bulk-enriches each with event-page details using configurable concurrency (including speaker extraction).

  8. get_informa_events_chunk Cursor-based chunked retrieval for large exports to avoid oversized single responses.

  9. get_informa_event_speakers Fetches one event page and returns speaker records only, with source selection (merged, jsonld, redux).

Feature-flagged (disabled by default):

  1. get_informa_discovery_suggestions (feature-flagged) Calls the discovery suggestions endpoint and returns raw JSON.

  2. search_informa_module_speakers (feature-flagged) Calls the discovery module speakers endpoint and returns raw JSON.

  3. search_informa_module_spex (feature-flagged) Calls the discovery module spex endpoint and returns raw JSON.

Core Retrieval Behavior

  • Primary data source: POST https://informaconnect.com/api/v1/discovery/hub-search/pages/events
  • Fallback source: parse window.__REDUX_STORE__ from HTML pages
  • API payload optimization:
    • includeFacets=false (default) sends a disabled facetsConfig to reduce payload size
    • includeFacets=true enables facet payloads when needed
  • Chunk export support:
    • get_informa_events_chunk returns hasMore + nextCursor
    • cursor can be passed back to continue where the previous chunk stopped
  • Pagination stop conditions:
    • Empty page
    • Reached reported totalPages
    • maxPages safety cap
    • Two consecutive pages with no new unique events
  • Retry/backoff for 429 and 5xx
  • Missing fields normalize to null or empty arrays

Normalized Event Output

Each normalized event includes (if available):

  • eventName
  • eventUrl
  • description
  • location.city
  • location.venue
  • location.country
  • startDate
  • endDate
  • eventType
  • subBrand
  • industryOrCategory
  • pricing (currently usually null in discovery responses)
  • contactInfo (currently usually null in discovery responses)

Plus additional enrichment fields (eventId, sectors, topics, deliveryTypes, etc.).

For detail tools, the event-detail payload also includes:

  • speakers[] (merged/deduped from JSON-LD performer and Redux speakers when available)
  • speakerSources (counts by source and total)

For speaker-only retrieval (get_informa_event_speakers), the response includes:

  • speakers[]
  • speakerCount
  • speakerSource (requested mode)
  • speakerSources (available totals by source)
  • eventMeta (event name, dates, and location)

When responseMode is set to "slim", each event is reduced to:

  • eventId
  • eventName
  • eventUrl
  • startDate
  • endDate
  • location
  • eventType
  • subBrand
  • sectors
  • topics
  • deliveryTypes

When responseMode is set to "summary", each event is reduced further to:

  • eventId
  • eventName
  • eventUrl
  • startDate
  • endDate
  • city
  • country
  • venue
  • eventType
  • subBrand
  • deliveryTypes

Install

npm install
npm run build

MCP Config Example

Use [mcp-config.example.json](/Users/william.kitchin/Library/Mobile Documents/com~apple~CloudDocs/Codex Projects/Informa Events Directory MCP Server/mcp-config.example.json).

Example:

{
  "mcpServers": {
    "informa-events-directory": {
      "command": "/absolute/path/to/informa-events-directory-mcp/build/index.js"
    }
  }
}

Example Calls

1) Full crawl

{
  "tool": "get_informa_events",
  "arguments": {
    "pageSize": 100,
    "maxPages": 50,
    "subBrandFilter": "Informa Connect",
    "eventTypeFilter": "EVENT",
    "requestedSortType": "DATE",
    "includeFacets": false,
    "responseMode": "slim"
  }
}

2) Single page fetch

{
  "tool": "get_informa_events_page",
  "arguments": {
    "page": 2,
    "pageSize": 20
  }
}

3) Date-range query

{
  "tool": "get_informa_events_by_date_range",
  "arguments": {
    "dateFrom": "2026-08-01",
    "dateTo": "2026-08-31",
    "pageSize": 100,
    "maxPages": 20,
    "countryFilter": "US",
    "responseMode": "slim"
  }
}

4) Find an event by slug

{
  "tool": "find_informa_event",
  "arguments": {
    "identifier": "imn-btr-spring",
    "identifierType": "slug",
    "includeDetail": true
  }
}

5) Fetch event detail page

{
  "tool": "get_informa_event_detail",
  "arguments": {
    "slug": "imn-btr-spring",
    "includeDirectoryRecord": true
  }
}

Detail response includes detail.speakers and detail.speakerSources when speaker metadata is present on the event page.

6) Bulk enrich many events with detail pages

{
  "tool": "get_informa_events_with_details",
  "arguments": {
    "pageSize": 20,
    "maxPages": 5,
    "detailMaxEvents": 40,
    "detailConcurrency": 3,
    "stopOnDetailError": false
  }
}

7) Cursor-based chunk retrieval

{
  "tool": "get_informa_events_chunk",
  "arguments": {
    "pageSize": 100,
    "chunkPages": 2,
    "requestedSortType": "DATE",
    "responseMode": "summary",
    "includeFacets": false
  }
}

Then continue with returned nextCursor:

{
  "tool": "get_informa_events_chunk",
  "arguments": {
    "cursor": "<nextCursor-from-previous-response>",
    "chunkPages": 2
  }
}

8) Suggestions endpoint (feature-flagged)

{
  "tool": "get_informa_discovery_suggestions",
  "arguments": {
    "searchInput": "biotech",
    "pageSize": 5
  }
}

9) Event speakers (single event)

{
  "tool": "get_informa_event_speakers",
  "arguments": {
    "slug": "pharma-forum",
    "speakerSource": "merged"
  }
}

10) Speakers module endpoint (feature-flagged)

{
  "tool": "search_informa_module_speakers",
  "arguments": {
    "speakers": [
      {
        "siteId": "example-site-id",
        "contentType": "SPEAKER",
        "displayType": "LIST"
      }
    ]
  }
}

11) Spex module endpoint (feature-flagged)

{
  "tool": "search_informa_module_spex",
  "arguments": {
    "spexs": [{ "eventId": "c8b90e9b-548d-44a5-823f-f01ed5d08c13" }]
  }
}

Useful Query Parameters

  • includeFacets (boolean, default false): include discovery facets in API responses
  • responseMode ("full" | "slim" | "summary", default "full"): control event payload size
  • countryFilter (string | string[]): alias merged into locationFilter
  • deliveryTypeFilter (string | string[]): e.g. "PHYSICAL", "VIRTUAL", "ON_DEMAND"
  • sectorsFilter, topicsFilter, locationFilter: facet-driven filtering inputs
  • cursor + chunkPages: resume and control chunk-sized retrieval with get_informa_events_chunk
  • speakerSource ("merged" | "jsonld" | "redux"): source selection for get_informa_event_speakers

Speaker Retrieval Notes

  • get_informa_event_speakers is the recommended tool when you only need speaker data.
  • Speaker extraction works from event-page HTML, not directory listing API pages.
  • Source priority for quality is typically JSON-LD performer, then Redux speakers.
  • speakerSource="merged" returns deduped speakers from both sources.

Response Metadata Notes

For multi-page tools (get_informa_events, get_informa_events_by_date_range, get_informa_events_with_details), response metadata includes:

  • totalResultsReported and apiReportedTotalCount
  • totalPagesReported and apiReportedTotalPages
  • isComplete (whether retrieval completed naturally vs. capped by maxPages)

Optional Environment Variables

INFORMA_ENTRY_URL="https://informaconnect.com/events/?subBrands%5B0%5D=Informa%20Connect&availableSubBrands%5B0%5D=Informa%20Connect&requestedSortType=FEATURED&page=1&count=20&searchInput=&type%5B0%5D=EVENT"
INFORMA_ORIGIN="https://informaconnect.com"
INFORMA_DEFAULT_PAGE_SIZE=20
INFORMA_DEFAULT_MAX_PAGES=200
INFORMA_REQUEST_TIMEOUT_MS=15000
INFORMA_MAX_RETRIES=4
INFORMA_ENABLE_SUGGESTIONS_TOOL=false
INFORMA_ENABLE_MODULE_TOOLS=false

Set INFORMA_ENABLE_SUGGESTIONS_TOOL=true and/or INFORMA_ENABLE_MODULE_TOOLS=true to expose the optional discovery tools.

Limitations

  • Discovery API is unofficial and may change.
  • Some event metadata (pricing/contact) is not consistently present in discovery payloads.
  • Facet metadata may be empty for some query contexts.
  • HTML fallback relies on Redux state being embedded in the page.
  • Anti-bot/CDN protections can affect reliability at higher request volume.
  • modules/speakers request shape is not publicly documented and may return 422 unless exact speaker payload objects are provided.
  • Speaker extraction quality depends on event-page metadata consistency; JSON-LD performer is usually the cleanest source.
  • search_informa_module_speakers is included for experimentation, but event-page speaker extraction is currently the more reliable path.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选