Lightbringer

Register innovations, request patent preparation, and collaborate with Lightbringer’s patent team.

Should I use this

Quality & Safety

A
Description quality
99%
Schema completeness
90%
Naming quality
95%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (2)

  • LOWTool 'whoami' description lacks action verbin whoami
  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~10,296Tokens (tool definitions)
~5.3 KBTypical response size
Significant attention impact (8.04% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "connector": {
      "url": "https://mcp.lightbringer.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.lightbringer.com/mcpstreamable-http

What it can do

Tool inventory

Tools (20)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢whoami

Returns the signed-in Lightbringer user and organisation for this connection.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "user": {
      "type": "object",
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "role": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "organisation": {
      "type": "object",
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "user",
    "organisation"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_innovations(query)

Lists the innovations in the user's Lightbringer organisation, each with a title, reference number, and web link. Accepts an optional free-text query to filter results.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text filter on title/reference",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "inventions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "refNum": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "inventions"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_innovation(invention_id)

Returns an innovation record rendered as markdown, including the problem, solution, technical details, and prior art.

Input Schema

{
  "type": "object",
  "properties": {
    "invention_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The innovation identifier (invention_id)"
    }
  },
  "required": [
    "invention_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "refNum": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": "string"
    },
    "markdown": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "title",
    "url",
    "markdown"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴update_innovation(invention_id, sections)

Updates one or more sections of an existing innovation record with new content and returns the updated innovation. Overwrites the specified sections.

Input Schema

{
  "type": "object",
  "properties": {
    "invention_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The innovation identifier (invention_id)"
    },
    "sections": {
      "type": "object",
      "properties": {
        "problem": {
          "description": "Full replacement text for the Problem section; an empty string clears the section",
          "type": "string"
        },
        "solution": {
          "description": "Full replacement text for the Solution section; an empty string clears the section",
          "type": "string"
        },
        "details": {
          "description": "Full replacement text for the Further details section; an empty string clears the section",
          "type": "string"
        },
        "priorArt": {
          "description": "Full replacement text for the Prior art section; an empty string clears the section",
          "type": "string"
        },
        "shortcomings": {
          "description": "Full replacement text for the Prior art shortcomings section; an empty string clears the section",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "description": "Named invention sections and their full replacement text"
    }
  },
  "required": [
    "invention_id",
    "sections"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "problem",
          "solution",
          "details",
          "priorArt",
          "shortcomings"
        ]
      },
      "additionalProperties": {
        "type": "object",
        "properties": {
          "applied": {
            "type": "boolean"
          },
          "error": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "applied"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴request_patent_preparation(invention_id)

Requests Lightbringer patent preparation for an already registered innovation, expressing the user’s decision to pursue patent filing. Advances the innovation description into the Lightbringer team’s workflow and triggers email notifications to the assigned specialist and inventor. Returns whether preparation was newly requested or had already been requested. Email delivery status is not included. Separate from registration; does not itself complete preparation, file a patent or pay for services.

Input Schema

{
  "type": "object",
  "properties": {
    "invention_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The innovation identifier (invention_id)"
    }
  },
  "required": [
    "invention_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "refNum": {
      "type": [
        "string",
        "null"
      ]
    },
    "outcome": {
      "type": "string",
      "enum": [
        "requested",
        "already_requested"
      ],
      "description": "Whether patent preparation was newly requested or was already requested; neither confirms completion or filing"
    }
  },
  "required": [
    "id",
    "url",
    "outcome"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_innovation_template

Returns the current innovation registration template: the schema, per-field guidance, and structure used to create a new innovation, together with capture guidance on gathering the innovation content — interviewing an inventor who is present, or authoring from existing material — before drafting.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "schema": {
      "description": "Machine-readable invention definition structure"
    },
    "guidance": {
      "description": "Per-field authoring guidance"
    },
    "template": {
      "description": "Draft template content"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟡register_innovation(definition)

Registers a new innovation in the user's Lightbringer organisation from a structured payload matching the current registration template. Validates before creating anything: invalid input returns field-specific errors without registering a record; success returns the saved identifier, reference number, web link, and any non-blocking warnings. Meant for capturing a concept that is not already recorded; enrichment of an existing innovation belongs in update_innovation. Completes registration without requesting patent preparation or filing. Requires a payload matching the current registration schema.

Input Schema

{
  "type": "object",
  "properties": {
    "definition": {
      "type": "object",
      "properties": {
        "version": {
          "type": "number",
          "const": 1,
          "description": "Authoring contract version; value must be 1"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "Short invention title"
        },
        "problem": {
          "type": "object",
          "properties": {
            "description": {
              "type": "string",
              "minLength": 200,
              "maxLength": 3000,
              "description": "Detailed description of the problem solved by the invention"
            },
            "technologyField": {
              "type": "object",
              "properties": {
                "item": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300,
                  "description": "Short label for the resolved disclosure selection"
                },
                "rationale": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000,
                  "description": "Reason this selection fits the invention and belongs in the final disclosure"
                },
                "definition": {
                  "description": "Optional clarifying definition or explanation of the selected concept",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                }
              },
              "required": [
                "item",
                "rationale"
              ],
              "description": "Resolved technology field for the invention"
            },
            "problems": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300,
                    "description": "Short label for the resolved disclosure selection"
                  },
                  "rationale": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "description": "Reason this selection fits the invention and belongs in the final disclosure"
                  },
                  "definition": {
                    "description": "Optional clarifying definition or explanation of the selected concept",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                },
                "required": [
                  "item",
                  "rationale"
                ]
              },
              "description": "Resolved concrete problem statements"
            },
            "technicalCauses": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300,
                    "description": "Short label for the resolved disclosure selection"
                  },
                  "rationale": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "description": "Reason this selection fits the invention and belongs in the final disclosure"
                  },
                  "definition": {
                    "description": "Optional clarifying definition or explanation of the selected concept",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                },
                "required": [
                  "item",
                  "rationale"
                ]
              },
              "description": "Resolved technical causes behind the identified problems"
            }
          },
          "required": [
            "description",
            "technologyField",
            "problems",
            "technicalCauses"
          ]
        },
        "invention": {
          "type": "object",
          "properties": {
            "description": {
              "type": "string",
              "minLength": 200,
              "maxLength": 3000,
              "description": "Detailed description of what the invention does and how it works"
            },
            "inventionType": {
              "type": "object",
              "properties": {
                "item": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300,
                  "description": "Short label for the resolved disclosure selection"
                },
                "rationale": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000,
                  "description": "Reason this selection fits the invention and belongs in the final disclosure"
                },
                "definition": {
                  "description": "Optional clarifying definition or explanation of the selected concept",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                }
              },
              "required": [
                "item",
                "rationale"
              ],
              "description": "Resolved invention type"
            },
            "contexts": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300,
                    "description": "Short label for the resolved disclosure selection"
                  },
                  "rationale": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "description": "Reason this selection fits the invention and belongs in the final disclosure"
                  },
                  "definition": {
                    "description": "Optional clarifying definition or explanation of the selected concept",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                },
                "required": [
                  "item",
                  "rationale"
                ]
              },
              "description": "Relevant contexts, scenarios, or operating environments"
            },
            "solution": {
              "type": "object",
              "properties": {
                "item": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300,
                  "description": "Short label for the resolved disclosure selection"
                },
                "rationale": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000,
                  "description": "Reason this selection fits the invention and belongs in the final disclosure"
                },
                "definition": {
                  "description": "Optional clarifying definition or explanation of the selected concept",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                }
              },
              "required": [
                "item",
                "rationale"
              ],
              "description": "Resolved invention-level solution statement"
            },
            "technicalSolution": {
              "type": "object",
              "properties": {
                "item": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300,
                  "description": "Short label for the resolved disclosure selection"
                },
                "rationale": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000,
                  "description": "Reason this selection fits the invention and belongs in the final disclosure"
                },
                "definition": {
                  "description": "Optional clarifying definition or explanation of the selected concept",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                }
              },
              "required": [
                "item",
                "rationale"
              ],
              "description": "Technical mechanism addressing the identified causes"
            }
          },
          "required": [
            "description",
            "inventionType",
            "contexts",
            "solution",
            "technicalSolution"
          ]
        },
        "furtherDetails": {
          "type": "string",
          "minLength": 200,
          "maxLength": 10000,
          "description": "Implementation details, examples, variants, embodiments, or usage details"
        },
        "priorArt": {
          "description": "Optional prior art section",
          "type": "object",
          "properties": {
            "summary": {
              "type": "string",
              "minLength": 100,
              "maxLength": 2000,
              "description": "Known prior art relevant to the invention"
            },
            "shortcomings": {
              "description": "Ways the known prior art falls short",
              "type": "string",
              "minLength": 100,
              "maxLength": 2000
            }
          },
          "required": [
            "summary"
          ]
        },
        "illustrationSuggestions": {
          "minItems": 1,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "item": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300,
                "description": "Short label for the resolved disclosure selection"
              },
              "rationale": {
                "type": "string",
                "minLength": 1,
                "maxLength": 2000,
                "description": "Reason this selection fits the invention and belongs in the final disclosure"
              },
              "definition": {
                "description": "Optional clarifying definition or explanation of the selected concept",
                "type": "string",
                "minLength": 1,
                "maxLength": 2000
              }
            },
            "required": [
              "item",
              "rationale"
            ]
          },
          "description": "Optional suggestions for drawings, diagrams, or annotated visuals"
        },
        "reviewCompletion": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "mode": {
                  "type": "string",
                  "const": "NO_OPEN_ISSUES",
                  "description": "The disclosure has no remaining open clarity questions"
                },
                "notes": {
                  "description": "Optional review outcome note",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                }
              },
              "required": [
                "mode"
              ]
            },
            {
              "type": "object",
              "properties": {
                "mode": {
                  "type": "string",
                  "const": "OPEN_ISSUES_REMAIN",
                  "description": "The disclosure retains material technical gaps for inventor follow-up"
                },
                "notes": {
                  "description": "Optional review outcome note",
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "clarityIssues": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100,
                        "description": "Short category label for the remaining clarity issue"
                      },
                      "label": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 300,
                        "description": "Concise title naming the specific remaining gap"
                      },
                      "description": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2000,
                        "description": "Technical information that remains missing or under-specified and why the gap matters"
                      }
                    },
                    "required": [
                      "type",
                      "label",
                      "description"
                    ]
                  },
                  "description": "Remaining clarity deficiencies for inventor follow-up"
                }
              },
              "required": [
                "mode",
                "clarityIssues"
              ]
            }
          ],
          "description": "Review outcome and any remaining inventor follow-up"
        }
      },
      "required": [
        "version",
        "title",
        "problem",
        "invention",
        "furtherDetails",
        "reviewCompletion"
      ],
      "description": "Complete V1 invention definition matching the advertised field structure; validated during registration"
    }
  },
  "required": [
    "definition"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "refNum": {
      "type": [
        "string",
        "null"
      ]
    },
    "warnings": {
      "description": "Non-blocking notices about the saved innovation; registration succeeded despite these warnings",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "id",
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢search(query, category, cursor, limit)

Searches the Lightbringer organisation's documents (inventions, patent applications, and reports). Returns matching results, each with an ID, title, and summary. A document result also lists its parts: the texts it has accumulated across its lifecycle (innovation description, priority draft, application text revisions), each with an ID that fetch accepts. Supports cursor-based pagination. Document content is indexed asynchronously, so a recently created or edited document can take a short while to become searchable; an empty result reflects the current index and does not by itself establish that a matching document is absent.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text search query",
      "type": "string"
    },
    "category": {
      "type": "string",
      "enum": [
        "application",
        "patent",
        "innovation",
        "competitor_application",
        "report"
      ]
    },
    "cursor": {
      "description": "Opaque cursor from a previous search response",
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          },
          "part": {
            "type": "string"
          },
          "parts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "part": {
                  "type": "string",
                  "enum": [
                    "disclosure",
                    "priority_draft",
                    "application_text"
                  ]
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "revisionId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "revisionType": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "createdAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "id",
                "part",
                "label"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "title",
          "text",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "hasMore": {
      "type": "boolean"
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢fetch(id)

Returns the full content of a single document — invention, patent application, strategy, or report — identified by its ID. A document has several texts across its lifecycle; a bare document ID returns the most advanced one (the newest application text, else the priority draft, else the innovation description), and the response lists every part with its own ID, such as document:<id>#priority_draft or document:<id>#application_text:<revisionId>. Pass a part ID to read that text instead.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The document identifier"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "part": {
      "type": "string"
    },
    "parts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "part": {
            "type": "string",
            "enum": [
              "disclosure",
              "priority_draft",
              "application_text"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "revisionId": {
            "type": [
              "string",
              "null"
            ]
          },
          "revisionType": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "part",
          "label"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_tasks(invention_id, cursor, limit)

Lists the current user’s unexpired automated tasks in the connected organisation, optionally for an innovation. Recovers task IDs after a lost response or conversation. Returns recorded status summaries without polling upstream analyses. Tasks and findings expire 30 days after creation. Pagination can return an empty page with a continuation cursor. Professional service requests are separate.

Input Schema

{
  "type": "object",
  "properties": {
    "invention_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Optional innovation identifier"
    },
    "cursor": {
      "description": "Pass next_cursor from the previous list_tasks response unchanged",
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "tasks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "const": "innovation_feedback"
          },
          "invention_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "partially_succeeded",
              "failed"
            ]
          },
          "progress": {
            "type": "object",
            "properties": {
              "completed": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "total": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "completed",
              "total"
            ],
            "additionalProperties": false
          },
          "created_at": {
            "type": "string"
          },
          "expires_at": {
            "type": "string"
          }
        },
        "required": [
          "task_id",
          "type",
          "invention_id",
          "status",
          "progress",
          "created_at",
          "expires_at"
        ],
        "additionalProperties": false
      }
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        {
          "type": "null"
        }
      ],
      "description": "Opaque continuation cursor; pass unchanged to list_tasks, even when the page is empty."
    }
  },
  "required": [
    "tasks",
    "next_cursor"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴delete_task(task_id)

Permanently deletes an automated task owned by the current user in the connected organisation, including its cached findings. Available in any execution state. Deletion removes tracking; it does not cancel upstream analysis, delete the innovation, or withdraw a professional service request. Repeated deletion returns not_found.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Automated task identifier to delete"
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string"
    },
    "outcome": {
      "type": "string",
      "enum": [
        "deleted",
        "not_found"
      ]
    },
    "execution_cancelled": {
      "type": "boolean",
      "const": false,
      "description": "Tracking deletion does not cancel upstream execution."
    }
  },
  "required": [
    "task_id",
    "outcome",
    "execution_cancelled"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴start_innovation_feedback(invention_id, focus)

Starts automated analysis of a registered innovation description across clarity, problem framing, completeness, or all focus areas. Returns one task_id, status, progress, available findings and per-analysis errors. Findings contain readable title/description fields; findings_error means findings are unavailable, not absent. Queued or running tasks continue through get_task_status with the same task_id. Succeeded, partially_succeeded and failed are terminal. Ending the wait does not cancel analysis. Separate from novelty assessment, patent search, FTO, attorney review and patent preparation requests.

Input Schema

{
  "type": "object",
  "properties": {
    "invention_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The innovation identifier (invention_id)"
    },
    "focus": {
      "default": "all",
      "description": "The analysis focus area",
      "type": "string",
      "enum": [
        "clarity",
        "problem",
        "completeness",
        "all"
      ]
    }
  },
  "required": [
    "invention_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "The automated task identifier; shared by start and status responses"
    },
    "expires_at": {
      "description": "Task expiry in ISO 8601 format: 30 days after creation. Reads do not extend retention.",
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "succeeded",
        "partially_succeeded",
        "failed"
      ]
    },
    "progress": {
      "type": "object",
      "properties": {
        "completed": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "total": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "completed",
        "total"
      ],
      "additionalProperties": false
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "focus": {
            "type": "string",
            "enum": [
              "clarity",
              "problem",
              "completeness",
              "unknown"
            ]
          },
          "analysis": {
            "type": "string",
            "enum": [
              "clarity",
              "problem_identification",
              "problem_causes",
              "problem_improvements",
              "technical_solution",
              "implementation_examples",
              "unknown"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed"
            ]
          },
          "findings": {
            "description": "Normalized findings. An empty array means the analysis returned no findings.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Finding or suggestion, as readable text or Markdown"
                },
                "description": {
                  "type": "string",
                  "description": "Explanation or rationale, as readable text or Markdown"
                },
                "category": {
                  "description": "Issue category, when supplied by the analysis",
                  "type": "string"
                },
                "definition": {
                  "type": "string"
                },
                "link": {
                  "type": "string"
                },
                "retained": {
                  "description": "Recorded retained decision, when supplied; not an agent instruction",
                  "type": "boolean"
                },
                "discarded": {
                  "description": "Recorded discarded decision, when supplied; not an agent instruction",
                  "type": "boolean"
                }
              },
              "required": [
                "title",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "error": {
            "description": "Analysis execution error",
            "type": "string"
          },
          "findings_error": {
            "description": "Findings are unavailable or in an unsupported format. Execution status is unchanged; do not interpret this as no findings or keep polling a terminal task.",
            "type": "string"
          }
        },
        "required": [
          "focus",
          "analysis",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "task_id",
    "status",
    "progress",
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡get_task_status(task_id)

Returns an automated feedback task by task_id, with the same status, progress, findings and per-analysis errors as start_innovation_feedback. Refreshes active analyses and saves their status and available findings in Lightbringer. Succeeded, partially_succeeded and failed are terminal; queued and running tasks are still in progress. findings_error denotes unavailable findings and does not change terminal execution status. This endpoint does not track professional service requests, patent preparation or filing milestones.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The automated task_id returned by start_innovation_feedback"
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "The automated task identifier; shared by start and status responses"
    },
    "expires_at": {
      "description": "Task expiry in ISO 8601 format: 30 days after creation. Reads do not extend retention.",
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "succeeded",
        "partially_succeeded",
        "failed"
      ]
    },
    "progress": {
      "type": "object",
      "properties": {
        "completed": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "total": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "completed",
        "total"
      ],
      "additionalProperties": false
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "focus": {
            "type": "string",
            "enum": [
              "clarity",
              "problem",
              "completeness",
              "unknown"
            ]
          },
          "analysis": {
            "type": "string",
            "enum": [
              "clarity",
              "problem_identification",
              "problem_causes",
              "problem_improvements",
              "technical_solution",
              "implementation_examples",
              "unknown"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed"
            ]
          },
          "findings": {
            "description": "Normalized findings. An empty array means the analysis returned no findings.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Finding or suggestion, as readable text or Markdown"
                },
                "description": {
                  "type": "string",
                  "description": "Explanation or rationale, as readable text or Markdown"
                },
                "category": {
                  "description": "Issue category, when supplied by the analysis",
                  "type": "string"
                },
                "definition": {
                  "type": "string"
                },
                "link": {
                  "type": "string"
                },
                "retained": {
                  "description": "Recorded retained decision, when supplied; not an agent instruction",
                  "type": "boolean"
                },
                "discarded": {
                  "description": "Recorded discarded decision, when supplied; not an agent instruction",
                  "type": "boolean"
                }
              },
              "required": [
                "title",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "error": {
            "description": "Analysis execution error",
            "type": "string"
          },
          "findings_error": {
            "description": "Findings are unavailable or in an unsupported format. Execution status is unchanged; do not interpret this as no findings or keep polling a terminal task.",
            "type": "string"
          }
        },
        "required": [
          "focus",
          "analysis",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "task_id",
    "status",
    "progress",
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴send_developer_feedback(category, feedback, tool_name)

Sends a report about the Lightbringer tools themselves to the engineering team: broken or surprising tool behaviour, missing capabilities, or friction encountered while working. Reports are sent to a human-reviewed engineering Slack channel, together with user, organisation, and connected-client identifiers and organisation name when available, and are not visible to the signed-in user. A good report stays high-level — the goal, the approach, the obstacle — and leaves out document text, invention details, and other confidential material.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "bug",
        "tool_request",
        "general"
      ],
      "description": "The kind of report: bug for broken or surprising behaviour, tool_request for a missing capability, general for anything else"
    },
    "feedback": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000,
      "description": "What was being attempted, how, and what got in the way — high-level, without document text or invention details"
    },
    "tool_name": {
      "description": "The specific tool the report concerns, when there is one",
      "type": "string",
      "maxLength": 100
    }
  },
  "required": [
    "category",
    "feedback"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "delivered",
        "not_delivered"
      ]
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "status",
    "note"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_reviews(status)

Lists reviews where the user is a participant or creator, including each review's status, the user's response status, which participants are still awaited, the title and reference number of the report or case under review, and, for report reviews, the invention the report is connected to.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Filter by review status",
      "type": "string",
      "enum": [
        "open",
        "closed"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "reviews": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "subject": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "refNum": {
                    "type": "string"
                  }
                },
                "required": [
                  "refNum"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "caseDocument": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "documentId": {
                    "type": "string"
                  },
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "refNum": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "documentId"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "instructions": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN",
              "CLOSED"
            ]
          },
          "target": {
            "type": "string",
            "enum": [
              "document",
              "report"
            ]
          },
          "documentId": {
            "type": [
              "string",
              "null"
            ]
          },
          "agentDocId": {
            "type": [
              "string",
              "null"
            ]
          },
          "myRole": {
            "type": "string",
            "enum": [
              "creator",
              "participant"
            ]
          },
          "myStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "awaiting": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "status": {
                  "type": "string"
                }
              },
              "required": [
                "status"
              ],
              "additionalProperties": false
            }
          },
          "createdAt": {
            "type": "string"
          },
          "closedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "title",
          "type",
          "status",
          "target",
          "myRole",
          "awaiting",
          "createdAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "reviews"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_review(review_id)

Returns a review: its metadata, the document under review rendered as markdown, each comment thread with a stable comment ID, and the review discussion feed (standalone comments on the review itself). Attorney redlines are included as suggested changes, each with the original text, the proposed replacement, and an optional rationale. Proposed amendments embedded in the document (agent-drafted changes to a block) are listed in artifact.amendments and in a trailing text block: each carries the baseline text, the proposed text, a redline with <del>/<ins> tags, and a unified patch; the document body itself shows the baseline at the amended block. The document is artifact.markdown in the structured result and is also returned as its own text block. When it cannot be rendered through this API, a short notice takes its place and artifact.status / artifact.reason say so.

Input Schema

{
  "type": "object",
  "properties": {
    "review_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The review identifier"
    }
  },
  "required": [
    "review_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "review": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "subject": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "refNum": {
                  "type": "string"
                }
              },
              "required": [
                "refNum"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "caseDocument": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "documentId": {
                  "type": "string"
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "refNum": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "documentId"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "instructions": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "OPEN",
            "CLOSED"
          ]
        },
        "target": {
          "type": "string",
          "enum": [
            "document",
            "report"
          ]
        },
        "documentId": {
          "type": [
            "string",
            "null"
          ]
        },
        "agentDocId": {
          "type": [
            "string",
            "null"
          ]
        },
        "myRole": {
          "type": "string",
          "enum": [
            "creator",
            "participant"
          ]
        },
        "myStatus": {
          "type": [
            "string",
            "null"
          ]
        },
        "awaiting": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "additionalProperties": false
          }
        },
        "createdAt": {
          "type": "string"
        },
        "closedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "participants": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string"
              },
              "respondedAt": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "comment": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "id",
              "status"
            ],
            "additionalProperties": false
          }
        },
        "contacts": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "productSpecialist": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "patentSpecialists": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "attorney": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "title",
        "type",
        "status",
        "target",
        "myRole",
        "awaiting",
        "createdAt",
        "participants"
      ],
      "additionalProperties": false
    },
    "threads": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "commentId": {
            "type": "string"
          },
          "anchor": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "inline"
                  },
                  "section": {
                    "type": "string"
                  },
                  "block": {
                    "type": "string"
                  },
                  "quotedText": {
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "section",
                  "block",
                  "quotedText"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "section"
                  },
                  "section": {
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "section"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "detached"
                  },
                  "path": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "kind"
                ],
                "additionalProperties": false
              }
            ]
          },
          "resolved": {
            "type": "boolean"
          },
          "comments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "authorId": {
                  "type": "string"
                },
                "author": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "time": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "suggestedChange": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "original": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "replacement": {
                          "type": "string"
                        },
                        "rationale": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "appliedAt": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "replacement"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "authorId",
                "time",
                "text"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "commentId",
          "anchor",
          "resolved",
          "comments"
        ],
        "additionalProperties": false
      }
    },
    "discussion": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "author": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          },
          "comment": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "author",
          "comment",
          "createdAt"
        ],
        "additionalProperties": false
      }
    },
    "artifact": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "rendered",
            "notice",
            "unavailable"
          ]
        },
        "reason": {
          "type": "string"
        },
        "markdown": {
          "type": [
            "string",
            "null"
          ]
        },
        "amendments": {
          "default": [],
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "section": {
                "type": "string"
              },
              "block": {
                "type": "string"
              },
              "source": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "commentElementId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "baseline": {
                "type": "string"
              },
              "proposed": {
                "type": "string"
              },
              "redline": {
                "type": "string"
              },
              "patch": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "section",
              "block",
              "baseline",
              "proposed",
              "redline",
              "patch"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "status",
        "markdown",
        "amendments"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "review",
    "threads",
    "discussion",
    "artifact"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴respond_to_review(review_id, response, message)

Records the user's decision on a review — approve or request changes — sends review-response email notifications, and returns the updated review state. Meant for after the user has explicitly chosen their response. An approval cannot be withdrawn through this tool; a request for changes can later be upgraded to approval.

Input Schema

{
  "type": "object",
  "properties": {
    "review_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The review identifier"
    },
    "response": {
      "type": "string",
      "enum": [
        "approve",
        "request_changes"
      ],
      "description": "The review response value"
    },
    "message": {
      "description": "The review response message",
      "type": "string"
    }
  },
  "required": [
    "review_id",
    "response"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "review": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "subject": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "title": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "refNum": {
                  "type": "string"
                }
              },
              "required": [
                "refNum"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "caseDocument": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "documentId": {
                  "type": "string"
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "refNum": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "documentId"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "instructions": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "OPEN",
            "CLOSED"
          ]
        },
        "target": {
          "type": "string",
          "enum": [
            "document",
            "report"
          ]
        },
        "documentId": {
          "type": [
            "string",
            "null"
          ]
        },
        "agentDocId": {
          "type": [
            "string",
            "null"
          ]
        },
        "myRole": {
          "type": "string",
          "enum": [
            "creator",
            "participant"
          ]
        },
        "myStatus": {
          "type": [
            "string",
            "null"
          ]
        },
        "awaiting": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "additionalProperties": false
          }
        },
        "createdAt": {
          "type": "string"
        },
        "closedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "participants": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string"
              },
              "respondedAt": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "comment": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "id",
              "status"
            ],
            "additionalProperties": false
          }
        },
        "contacts": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "productSpecialist": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "patentSpecialists": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      }
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "attorney": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "title",
        "type",
        "status",
        "target",
        "myRole",
        "awaiting",
        "createdAt",
        "participants"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "review"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴add_comment(review_id, quoted_text, comment, target_user_ids)

Adds a comment to the document under review, anchored to a quoted passage of the review markdown, and returns the created comment. If the quoted passage is ambiguous or cannot be located, the response indicates this along with candidate passages. A comment anchored within an existing thread is added as a reply. Targeted users with document access receive email and in-app mention notifications.

Input Schema

{
  "type": "object",
  "properties": {
    "review_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The review identifier"
    },
    "quoted_text": {
      "type": "string",
      "description": "Quoted passage from the review markdown to anchor on"
    },
    "comment": {
      "type": "string",
      "description": "The comment text"
    },
    "target_user_ids": {
      "description": "User identifiers to notify. Identifiers without document access are ignored.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_-]*[A-Za-z0-9])?$"
      }
    }
  },
  "required": [
    "review_id",
    "quoted_text",
    "comment"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "created",
        "ambiguous",
        "not_found",
        "unsupported"
      ]
    },
    "commentId": {
      "type": "string"
    },
    "replyTo": {
      "type": "string"
    },
    "anchor": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "inline"
            },
            "section": {
              "type": "string"
            },
            "block": {
              "type": "string"
            },
            "quotedText": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "section",
            "block",
            "quotedText"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "section"
            },
            "section": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "section"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "detached"
            },
            "path": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "kind"
          ],
          "additionalProperties": false
        }
      ]
    },
    "mentionedUserIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "candidates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string"
          },
          "block": {
            "type": "string"
          },
          "contextBefore": {
            "type": "string"
          },
          "quotedText": {
            "type": "string"
          },
          "contextAfter": {
            "type": "string"
          }
        },
        "required": [
          "section",
          "contextBefore",
          "quotedText",
          "contextAfter"
        ],
        "additionalProperties": false
      }
    },
    "hints": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "hint": {
      "type": "string"
    },
    "instructions": {
      "type": "string"
    }
  },
  "required": [
    "status"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴add_discussion_comment(review_id, comment)

Posts a standalone comment to the review's discussion feed, visible to the review creator and all participants, and returns the updated discussion. Unlike add_comment, it is not anchored to a passage of the document — it suits general remarks, questions, or status updates about the review as a whole. Eligible review participants receive in-app and email notifications.

Input Schema

{
  "type": "object",
  "properties": {
    "review_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The review identifier"
    },
    "comment": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "The comment text"
    }
  },
  "required": [
    "review_id",
    "comment"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "discussion": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "author": {
            "type": "object",
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          },
          "comment": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "author",
          "comment",
          "createdAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "discussion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴reply_to_comment(review_id, comment_id, comment, target_user_ids)

Adds a reply to an existing comment thread identified by its comment ID, and returns the created reply. Targeted users with document access receive email and in-app mention notifications.

Input Schema

{
  "type": "object",
  "properties": {
    "review_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "The review identifier"
    },
    "comment_id": {
      "type": "string",
      "description": "The comment thread identifier"
    },
    "comment": {
      "type": "string",
      "description": "The reply text"
    },
    "target_user_ids": {
      "description": "User identifiers to notify. Identifiers without target access are ignored.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_-]*[A-Za-z0-9])?$"
      }
    }
  },
  "required": [
    "review_id",
    "comment_id",
    "comment"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "commentId": {
      "type": "string"
    },
    "mentionedUserIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "commentId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded20 tools
verifiedversion not recorded20 tools