@pipeworx/mcp-ai-incident-db 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  AI Incident Database (AIID) MCP
4
4
 
5
- Part of [Pipeworx](https://pipeworx.io) — an MCP gateway connecting AI agents to 250+ live data sources.
5
+ Part of [Pipeworx](https://pipeworx.io) — an MCP gateway connecting AI agents to 1160+ live data sources.
6
6
 
7
7
  ## Tools
8
8
 
9
9
  | Tool | Description |
10
10
  |------|-------------|
11
- | `get_incident` | Fetch full incident record with linked reports. |
11
+ | `get_incident` | Fetch a full AI Incident Database record by numeric incident_id; returns title, date, description, alleged deployer/developer/harmed parties, and all linked news report URLs. |
12
12
  | `list_recent` | Most recently added incidents. |
13
13
  | `list_taxonomies` | Taxonomies used to classify incidents (CSET-AIID, GMF, RAIC). |
14
14
 
@@ -26,7 +26,7 @@ Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
26
26
  }
27
27
  ```
28
28
 
29
- Or connect to the full Pipeworx gateway for access to all 250+ data sources:
29
+ Or connect to the full Pipeworx gateway for access to all 1160+ data sources:
30
30
 
31
31
  ```json
32
32
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipeworx/mcp-ai-incident-db",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "AI Incident Database (AIID) MCP",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.pipeworx-io/ai-incident-db",
4
4
  "title": "Ai Incident Db",
5
5
  "description": "AI Incident Database (AIID) MCP",
6
- "version": "0.1.0",
6
+ "version": "0.1.2",
7
7
  "websiteUrl": "https://pipeworx.io/packs/ai-incident-db",
8
8
  "repository": {
9
9
  "url": "https://github.com/pipeworx-io/mcp-ai-incident-db",
package/src/index.ts CHANGED
@@ -51,7 +51,7 @@ const tools: McpToolExport['tools'] = [
51
51
  },
52
52
  {
53
53
  name: 'get_incident',
54
- description: 'Fetch full incident record with linked reports.',
54
+ description: 'Fetch a full AI Incident Database record by numeric incident_id; returns title, date, description, alleged deployer/developer/harmed parties, and all linked news report URLs.',
55
55
  inputSchema: {
56
56
  type: 'object',
57
57
  properties: {
@@ -92,14 +92,16 @@ async function callTool(name: string, args: Record<string, unknown>): Promise<un
92
92
 
93
93
  async function searchIncidents(args: Record<string, unknown>) {
94
94
  const filter: Record<string, unknown> = {};
95
- if (args.query) filter['title'] = { CONTAINS: String(args.query) };
95
+ // AIID's StringFilter dropped CONTAINS; use REGEX (case-insensitive) with the
96
+ // query escaped to a literal substring match.
97
+ if (args.query) filter['title'] = { REGEX: String(args.query).replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), OPTIONS: 'i' };
96
98
  if (args.start_date) filter['date'] = { ...(filter.date as object ?? {}), GTE: String(args.start_date) };
97
99
  if (args.end_date) filter['date'] = { ...(filter.date as object ?? {}), LTE: String(args.end_date) };
98
100
  const limit = Math.min(200, Math.max(1, (args.limit as number) ?? 25));
99
101
  const skip = Math.max(0, (args.offset as number) ?? 0);
100
102
  const query = `query SearchIncidents($filter: IncidentFilterType, $pagination: PaginationType, $sort: IncidentSortType) {
101
103
  incidents(filter: $filter, pagination: $pagination, sort: $sort) {
102
- incident_id title date description editors_notes
104
+ incident_id title date description
103
105
  }
104
106
  }`;
105
107
  return graphql(query, {
@@ -112,8 +114,8 @@ async function searchIncidents(args: Record<string, unknown>) {
112
114
  async function getIncident(id: number) {
113
115
  const query = `query GetIncident($filter: IncidentFilterType) {
114
116
  incident(filter: $filter) {
115
- incident_id title date description editors_notes
116
- AllegedDeployerOfAISystem AllegedDeveloperOfAISystem AllegedHarmedOrNearlyHarmedParties
117
+ incident_id title date description
118
+ AllegedDeployerOfAISystem { entity_id name } AllegedDeveloperOfAISystem { entity_id name } AllegedHarmedOrNearlyHarmedParties { entity_id name }
117
119
  reports { report_number title url source_domain date_published authors language }
118
120
  editors { userId }
119
121
  }