Informa Events Directory MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Informa Events Directory MCP ServerSearch for events between March and May 2026"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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):
get_informa_eventsReturns normalized events across all pages (API-first, HTML fallback).get_informa_events_pageReturns a single directory page with normalized results.get_informa_events_by_date_rangeReturns normalized events constrained bydateFrom/dateTo.list_informa_event_facetsReturns raw and simplified facet/filter metadata for the current query context.find_informa_eventFinds one event byid,slug,url, orname.get_informa_event_detailFetches one event page and extracts richer detail (JSON-LD event data, offers/pricing hints, contact hints, speaker extraction).get_informa_events_with_detailsFetches directory events and bulk-enriches each with event-page details using configurable concurrency (including speaker extraction).get_informa_events_chunkCursor-based chunked retrieval for large exports to avoid oversized single responses.get_informa_event_speakersFetches one event page and returns speaker records only, with source selection (merged,jsonld,redux).
Feature-flagged (disabled by default):
get_informa_discovery_suggestions(feature-flagged) Calls the discovery suggestions endpoint and returns raw JSON.search_informa_module_speakers(feature-flagged) Calls the discovery module speakers endpoint and returns raw JSON.search_informa_module_spex(feature-flagged) Calls the discovery module spex endpoint and returns raw JSON.
Related MCP server: Indico MCP Server
Core Retrieval Behavior
Primary data source:
POST https://informaconnect.com/api/v1/discovery/hub-search/pages/eventsFallback source: parse
window.__REDUX_STORE__from HTML pagesAPI payload optimization:
includeFacets=false(default) sends a disabledfacetsConfigto reduce payload sizeincludeFacets=trueenables facet payloads when needed
Chunk export support:
get_informa_events_chunkreturnshasMore+nextCursorcursor can be passed back to continue where the previous chunk stopped
Pagination stop conditions:
Empty page
Reached reported
totalPagesmaxPagessafety capTwo consecutive pages with no new unique events
Retry/backoff for
429and5xxMissing fields normalize to
nullor empty arrays
Normalized Event Output
Each normalized event includes (if available):
eventNameeventUrldescriptionlocation.citylocation.venuelocation.countrystartDateendDateeventTypesubBrandindustryOrCategorypricing(currently usuallynullin discovery responses)contactInfo(currently usuallynullin 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-LDperformerand Reduxspeakerswhen available)speakerSources(counts by source and total)
For speaker-only retrieval (get_informa_event_speakers), the response includes:
speakers[]speakerCountspeakerSource(requested mode)speakerSources(available totals by source)eventMeta(event name, dates, and location)
When responseMode is set to "slim", each event is reduced to:
eventIdeventNameeventUrlstartDateendDatelocationeventTypesubBrandsectorstopicsdeliveryTypes
When responseMode is set to "summary", each event is reduced further to:
eventIdeventNameeventUrlstartDateendDatecitycountryvenueeventTypesubBranddeliveryTypes
Install
npm install
npm run buildMCP 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, defaultfalse): include discovery facets in API responsesresponseMode("full" | "slim" | "summary", default"full"): control event payload sizecountryFilter(string | string[]): alias merged intolocationFilterdeliveryTypeFilter(string | string[]): e.g."PHYSICAL","VIRTUAL","ON_DEMAND"sectorsFilter,topicsFilter,locationFilter: facet-driven filtering inputscursor+chunkPages: resume and control chunk-sized retrieval withget_informa_events_chunkspeakerSource("merged" | "jsonld" | "redux"): source selection forget_informa_event_speakers
Speaker Retrieval Notes
get_informa_event_speakersis 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 Reduxspeakers.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:
totalResultsReportedandapiReportedTotalCounttotalPagesReportedandapiReportedTotalPagesisComplete(whether retrieval completed naturally vs. capped bymaxPages)
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=falseSet 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/speakersrequest shape is not publicly documented and may return422unless exact speaker payload objects are provided.Speaker extraction quality depends on event-page metadata consistency; JSON-LD
performeris usually the cleanest source.search_informa_module_speakersis included for experimentation, but event-page speaker extraction is currently the more reliable path.
Available Tools
2 toolsget_informa_event_speakersB
Fetch an individual event page and return only structured speaker records (JSON-LD performer + Redux speakers).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Event slug path (e.g. 'pharma-forum'). | |
| entryUrl | No | Entry URL used for HTML fallback pagination. | 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 |
| eventUrl | No | Absolute event URL. | |
| speakerSource | No | Speaker source selection: merged (deduped), jsonld-only, or redux-only. | merged |
| maxPagesSearch | No | Max pages scanned when includeDirectoryRecord is true. | |
| forceHtmlFallback | No | Skip API and parse directory pages from embedded Redux state. | |
| includeDirectoryRecord | No | Attempt to match this event in discovery index and return normalized record metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. The description states it fetches and returns speaker records but does not mention any side effects, rate limits, authentication needs, or error conditions. Some behavioral hints are in parameter descriptions (e.g., forceHtmlFallback) but not in the main description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, well-structured with parenthetical detail. No superfluous words, directly conveys the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 7 parameters and no output schema, the description does not explain the return format, pagination, or how parameters affect output. It lacks completeness for an effective agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any extra meaning beyond what the parameter descriptions provide; it only states the overall purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states the tool fetches an individual event page and returns only structured speaker records, specifying sources (JSON-LD performer + Redux speakers). This clearly distinguishes it from the sibling tool 'get_informa_events_with_details', which likely returns broader event details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus the sibling. The description implies it's for speaker data but does not state when not to use it or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_informa_events_with_detailsB
Bulk-enrich directory events with event-page details (JSON-LD/offers/contact hints) using controlled concurrency.
| Name | Required | Description | Default |
|---|---|---|---|
| dateTo | No | Optional upper bound ISO date (YYYY-MM-DD) applied after directory retrieval. | |
| dateFrom | No | Optional lower bound ISO date (YYYY-MM-DD) applied after directory retrieval. | |
| entryUrl | No | Entry URL used for HTML fallback pagination. | 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 |
| maxPages | No | Pagination safety cap. | |
| pageSize | No | Number of directory items per page. | |
| startPage | No | Starting page index. | |
| monthFilter | No | Filter by month facet values, e.g. 'March 2026'. | |
| resultLimit | No | Optional cap on directory events before detail enrichment. | |
| searchInput | No | Keyword query string. | |
| responseMode | No | Output shape. 'slim' and 'summary' return reduced field sets. | full |
| topicsFilter | No | Filter by topic facet values. | |
| countryFilter | No | Friendly alias for country-level location filtering. Merged into locationFilter. | |
| includeFacets | No | When true, request facet payloads from discovery API. Disable for smaller responses. | |
| sectorsFilter | No | Filter by sector facet values. | |
| locationFilter | No | Filter by location facet values. | |
| subBrandFilter | No | Filter by sub-brand(s). | |
| detailMaxEvents | No | Maximum number of events to enrich with detail pages. | |
| eventTypeFilter | No | Filter by type(s). Defaults to EVENT. | |
| detailConcurrency | No | Number of concurrent event-page detail fetches. | |
| forceHtmlFallback | No | Skip API and parse directory pages from embedded Redux state. | |
| requestedSortType | No | Sort order requested from discovery API. | FEATURED |
| stopOnDetailError | No | When true, stop remaining detail fetches after the first detail error. | |
| deliveryTypeFilter | No | Filter by delivery type values, e.g. PHYSICAL, VIRTUAL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. Mentions 'controlled concurrency' but does not disclose potential side effects like rate limiting, failure modes, or data mutability. Lacks detail on behavior beyond a high-level summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single sentence with relevant keywords (bulk-enrich, JSON-LD, offers, contact hints, controlled concurrency). Efficient but could include brief additional context without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 23 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, error handling, or detail enrichment process. Lacks completeness for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description does not add additional meaning beyond the schema; the schema already describes parameters well. No extra context provided by description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'bulk-enrich' and resource 'directory events' with explicit detail types (JSON-LD/offers/contact hints) and a distinguishing feature (controlled concurrency). Clearly differentiates from sibling 'get_informa_event_speakers' which focuses on speakers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no conditions for use, no prerequisites, and no mention of when not to use it. The description implies usage for enriching events but lacks explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.3.0- First observed
get_informa_event_speakers - First observed
get_informa_events_with_details
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one retrieves speakers for a specific event, the other bulk-enriches events with details. No overlap in functionality.
Both tools follow a consistent 'get_informa_<resource>' pattern, using snake_case and clear descriptors ('event_speakers' vs 'events_with_details').
With only 2 tools, the server feels underdeveloped for an events directory. Key operations like searching, filtering, or retrieving single events are missing, making it too sparse for the domain.
The server lacks fundamental operations for an events directory, such as listing all events, searching, or getting individual event details. The two tools cover only speaker retrieval and bulk enrichment, leaving major gaps.
Maintenance
Related MCP Connectors
- mcpOAuthcom.getboothiq
Query your trade show leads, meetings, and events from BoothIQ
Event management for organizers: events, sessions, speakers, agendas, forms, approval-gated writes.
Web search API: find every relevant event across the open web, not just the top results.
Find public EventMatey events that organisers have approved for AI discovery.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to search, filter, and analyze Microsoft events (conferences, workshops, webinars) using the Microsoft Events API.42MIT
- FlicenseNot gradedqualityDmaintenanceProvides access to CERN Indico public events, enabling search, retrieval of event details, and listing of upcoming events through natural language.1-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to search for speakers and talks by date using the Sessionize API.-
- AlicenseNot gradedqualityCmaintenanceEnables management of Cvent events, registrations, attendees, sessions, contacts, surveys, reports, custom objects, and webhooks via natural language through the Cvent REST API.MIT