使用说明
Informa事件目录MCP服务器
MCP服务器,用于从Informa Connect事件目录查询和检索结构化事件数据。
可用工具
默认值(始终可用):
-
get_informa_events返回所有页面上的规范化事件(API-first,HTML回退)。 -
get_informa_events_page返回具有规范化结果的单个目录页。 -
get_informa_events_by_date_range返回受以下约束的规范化事件dateFrom/dateTo. -
list_informa_event_facets返回当前查询上下文的原始和简化的方面/过滤器元数据。 -
find_informa_event按以下方式查找一个事件id,slug,url,或name. -
get_informa_event_detail获取一个事件页面并提取更丰富的细节(JSON-LD事件数据、报价/定价提示、联系人提示、说话者提取)。 -
get_informa_events_with_details获取目录事件,并使用可配置的并发性(包括说话者提取)用事件页面详细信息批量丰富每个事件。 -
get_informa_events_chunk基于游标的分块检索用于大型导出,以避免过大的单个响应。 -
get_informa_event_speakers获取一个事件页面,仅返回带有源选择的演讲者记录(merged,jsonld,redux).
标记的功能(默认情况下禁用):
-
get_informa_discovery_suggestions(特征标记) 调用发现建议端点并返回原始JSON。 -
search_informa_module_speakers(特征标记) 调用发现模块扬声器端点并返回原始JSON。 -
search_informa_module_spex(特征标记) 调用发现模块spex端点并返回原始JSON。
核心检索行为
- 主要数据来源:
POST https://informaconnect.com/api/v1/discovery/hub-search/pages/events - 回退源:解析
window.__REDUX_STORE__来自HTML页面 - API有效载荷优化:
includeFacets=false(默认)发送禁用facetsConfig减小有效载荷大小includeFacets=true在需要时启用方面有效载荷
- Chunk出口支持:
get_informa_events_chunk回报hasMore+nextCursor- 光标可以传递回上一个块停止的位置继续
- 分页停止条件:
- 空白页
- 已联系报告
totalPages maxPages安全帽- 连续两页,没有新的独特事件
- 重试/回退
429和5xx - 缺少的字段将标准化为
null或空数组
标准化事件输出
每个规范化事件包括(如果可用):
eventNameeventUrldescriptionlocation.citylocation.venuelocation.countrystartDateendDateeventTypesubBrandindustryOrCategorypricing(目前通常null在发现响应中)contactInfo(目前通常null在发现响应中)
加上额外的富集区(eventId, sectors, topics, deliveryTypes等等)。
对于详细信息工具,事件详细信息有效载荷还包括:
speakers[](从JSON-LD合并/重复数据删除performer以及Reduxspeakers可用时)speakerSources(按来源和总数统计)
仅用于说话者检索(get_informa_event_speakers),响应包括:
speakers[]speakerCountspeakerSource(请求模式)speakerSources(按来源分列的可用总数)eventMeta(事件名称、日期和地点)
当 responseMode 设置为 "slim",每个事件简化为:
eventIdeventNameeventUrlstartDateendDatelocationeventTypesubBrandsectorstopicsdeliveryTypes
当 responseMode 设置为 "summary",每个事件进一步简化为:
eventIdeventNameeventUrlstartDateendDatecitycountryvenueeventTypesubBranddeliveryTypes
安装
npm install
npm run build
MCP配置示例
使用[mcp-config.example.json](/Users/william.kitchin/Library/Mobile Documents/com~apple~CloudDocs/Codex Projects/Informa Events Directory mcp Server/mcp-config.example.json)。
例子:
{
"mcpServers": {
"informa-events-directory": {
"command": "/absolute/path/to/informa-events-directory-mcp/build/index.js"
}
}
}
示例通话
1) 完全爬行
{
"tool": "get_informa_events",
"arguments": {
"pageSize": 100,
"maxPages": 50,
"subBrandFilter": "Informa Connect",
"eventTypeFilter": "EVENT",
"requestedSortType": "DATE",
"includeFacets": false,
"responseMode": "slim"
}
}
2) 单页获取
{
"tool": "get_informa_events_page",
"arguments": {
"page": 2,
"pageSize": 20
}
}
3) 日期范围查询
{
"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) 按slug查找事件
{
"tool": "find_informa_event",
"arguments": {
"identifier": "imn-btr-spring",
"identifierType": "slug",
"includeDetail": true
}
}
5) 获取事件详细信息页面
{
"tool": "get_informa_event_detail",
"arguments": {
"slug": "imn-btr-spring",
"includeDirectoryRecord": true
}
}
详细回复包括 detail.speakers 和 detail.speakerSources 当演讲者元数据出现在事件页面上时。
6) 通过详细页面丰富许多活动
{
"tool": "get_informa_events_with_details",
"arguments": {
"pageSize": 20,
"maxPages": 5,
"detailMaxEvents": 40,
"detailConcurrency": 3,
"stopOnDetailError": false
}
}
7) 基于游标的块检索
{
"tool": "get_informa_events_chunk",
"arguments": {
"pageSize": 100,
"chunkPages": 2,
"requestedSortType": "DATE",
"responseMode": "summary",
"includeFacets": false
}
}
然后继续返回 nextCursor:
{
"tool": "get_informa_events_chunk",
"arguments": {
"cursor": "<nextCursor-from-previous-response>",
"chunkPages": 2
}
}
8) 建议端点(已标记特征)
{
"tool": "get_informa_discovery_suggestions",
"arguments": {
"searchInput": "biotech",
"pageSize": 5
}
}
9) 活动演讲者(单次活动)
{
"tool": "get_informa_event_speakers",
"arguments": {
"slug": "pharma-forum",
"speakerSource": "merged"
}
}
10) 扬声器模块端点(已标记功能)
{
"tool": "search_informa_module_speakers",
"arguments": {
"speakers": [
{
"siteId": "example-site-id",
"contentType": "SPEAKER",
"displayType": "LIST"
}
]
}
}
11) Spex模块端点(特征标记)
{
"tool": "search_informa_module_spex",
"arguments": {
"spexs": [{ "eventId": "c8b90e9b-548d-44a5-823f-f01ed5d08c13" }]
}
}
有用的查询参数
includeFacets(boolean,默认值false):在API响应中包含发现方面responseMode("full" | "slim" | "summary",默认值"full"):控制事件有效负载大小countryFilter(string | string[]):别名合并到locationFilterdeliveryTypeFilter(string | string[]):例如。"PHYSICAL","VIRTUAL","ON_DEMAND"sectorsFilter,topicsFilter,locationFilter:面驱动的过滤输入cursor+chunkPages:使用以下命令恢复和控制块大小的检索get_informa_events_chunkspeakerSource("merged" | "jsonld" | "redux"):源选择get_informa_event_speakers
演讲者检索笔记
get_informa_event_speakers当您只需要扬声器数据时,是推荐的工具。- 发言人提取工作从事件页面HTML,而不是列出API页面的目录。
- 质量的源优先级通常是JSON-LD
performer,然后是Reduxspeakers. speakerSource="merged"返回来自两个源的重复数据消除的扬声器。
响应元数据注释
用于多页工具(get_informa_events, get_informa_events_by_date_range, get_informa_events_with_details),响应元数据包括:
totalResultsReported和apiReportedTotalCounttotalPagesReported和apiReportedTotalPagesisComplete(检索是否自然完成,是否有上限maxPages)
可选环境变量
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
集 INFORMA_ENABLE_SUGGESTIONS_TOOL=true 和 INFORMA_ENABLE_MODULE_TOOLS=true 以公开可选的发现工具。
局限性
- Discovery API是非官方的,可能会更改。
- 一些事件元数据(定价/联系)在发现有效载荷中并不一致。
- 对于某些查询上下文,Facet元数据可能为空。
- HTML回退依赖于页面中嵌入的Redux状态。
- 反机器人/CDN保护会影响更高请求量下的可靠性。
modules/speakers请求形状没有公开记录,可能会返回422除非提供精确的扬声器有效载荷对象。- 说话人提取质量取决于事件页面元数据的一致性;JSON-LD
performer通常是最干净的来源。 search_informa_module_speakers包括用于实验,但事件页面说话者提取目前是更可靠的方法。
