Lightbringer MCP
Lightbringer is an AI-native patent service that allows agents to register innovations, perform patentability checks, search public patents, draft IP strategies, and collaborate with registered patent attorneys for filing and prosecution.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.lightbringer.com/mcpWhat its tools do
41 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (17)
Can change data (24)
update_innovationrequest_patent_preparationcreate_strategyedit_strategyset_strategy_publicationdelete_strategycreate_assetupdate_assetdelete_assetupdate_company_contextregister_innovationimport_patentrefresh_patent_familydelete_taskstart_innovation_feedbackget_task_statussend_developer_feedbackrespond_to_reviewset_validation_countriesadd_commentadd_discussion_commentreply_to_commentrequest_upload_urlregister_upload
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to lightbringer.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Register and enrich innovations with automated feedback
- Search and import public patents and review saved patent families
- Draft, revise and publish IP strategies
- Request patent preparation and participate in attorney reviews
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- lightbringer-mcp-server 4.23.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 41 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- 5 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
},
"completions": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
41 advertised
whoami — Read Lightbringer connection profile
Returns the signed-in Lightbringer user and organisation for this connection. Optionally includes up to 20 fellow organisation members with names, roles and a total count, with read consent. An unavailable member lookup is reported separately from the profile.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"include_members": {
"type": "boolean",
"description": "Includes a bounded member roster with read consent"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"user",
"organisation"
],
"properties": {
"user": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"role": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"members": {
"type": "object",
"required": [
"members",
"totalCount"
],
"properties": {
"members": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"role"
],
"properties": {
"name": {
"type": "string"
},
"role": {
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 20
},
"totalCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
},
"organisation": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string",
"maxLength": 128
},
"country": {
"type": "string"
},
"website": {
"type": "string",
"maxLength": 2048
}
},
"additionalProperties": false
},
"members_error": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read Lightbringer connection profile",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}list_innovations — List innovations in Lightbringer
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"type": "string",
"description": "Free-text filter on title/reference"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"inventions"
],
"properties": {
"inventions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "List innovations in Lightbringer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_innovation — Read innovation in Lightbringer
Returns an innovation record rendered as markdown, including the problem, solution, technical details, and prior art. With include_illustrations it also lists the drawings in its Illustrations section and the drawings it suggests preparing.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invention_id"
],
"properties": {
"invention_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The innovation identifier (invention_id)"
},
"include_illustrations": {
"type": "boolean",
"description": "true to also return illustrations (numbered as Drawing N in the markdown) and illustrationSuggestions, for example to check what is there before uploading"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"title",
"url",
"markdown"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"markdown": {
"type": "string"
},
"illustrations": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"number",
"name",
"description"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"number": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"description": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "The drawings in the innovation's Illustrations section; number matches Drawing N in the markdown"
},
"illustrationSuggestions": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"rationale",
"definition"
],
"properties": {
"item": {
"type": "string"
},
"rationale": {
"type": "string"
},
"definition": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"description": "Drawings the innovation suggests preparing, as given in illustrationSuggestions at registration"
}
},
"additionalProperties": false
}{
"title": "Read innovation in Lightbringer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}update_innovation — Update innovation in Lightbringer
Updates one or more sections of an existing innovation record with new content and reports, per section, whether it was applied. Overwrites the specified sections. Text the agent leaves as read keeps its comment threads and pending changes; an applied section also lists any markdown it could not store (dropped), any comment threads whose text the write removed (detached_threads), and whether the write was too large to keep every comment anchor on the edited paragraphs (marks_incomplete); smaller writes keep them.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invention_id",
"sections"
],
"properties": {
"sections": {
"type": "object",
"properties": {
"details": {
"type": "string",
"description": "Full replacement text for the Further details section; an empty string clears the section"
},
"problem": {
"type": "string",
"description": "Full replacement text for the Problem section; an empty string clears the section"
},
"priorArt": {
"type": "string",
"description": "Full replacement text for the Prior art section; an empty string clears the section"
},
"solution": {
"type": "string",
"description": "Full replacement text for the Solution section; an empty string clears the section"
},
"shortcomings": {
"type": "string",
"description": "Full replacement text for the Prior art shortcomings section; an empty string clears the section"
}
},
"description": "Named invention sections and their full replacement text",
"additionalProperties": false
},
"invention_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The innovation identifier (invention_id)"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results"
],
"properties": {
"results": {
"type": "object",
"propertyNames": {
"enum": [
"problem",
"solution",
"details",
"priorArt",
"shortcomings"
],
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"applied"
],
"properties": {
"error": {
"type": [
"string",
"null"
]
},
"applied": {
"type": "boolean"
},
"dropped": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"description": "What was dropped: image, footnote, horizontalRule or unsupported"
},
"text": {
"type": "string",
"description": "The markdown as written, shortened when long"
}
},
"additionalProperties": false
},
"description": "Markdown the write could not store. Empty when everything was kept."
},
"detached_threads": {
"type": "array",
"items": {
"type": "object",
"required": [
"thread_id",
"quote"
],
"properties": {
"quote": {
"type": "string",
"description": "The text the thread was anchored on before this write"
},
"thread_id": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "Comment threads whose anchored text this write removed. They still exist but no longer point at any text; re-anchor or resolve them in the app."
},
"marks_incomplete": {
"type": "boolean",
"const": true,
"description": "The write was too large to match every edited paragraph to its stored one, so some were matched only roughly: their pending changes stay, but comment anchors on the edited text may have come off; those threads are listed as detached. Smaller writes keep them."
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "Update innovation in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}request_patent_preparation — Request Lightbringer patent preparation
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 submitter, with the organisation’s primary contact copied when applicable. 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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invention_id"
],
"properties": {
"invention_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The innovation identifier (invention_id)"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"url",
"outcome"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"outcome": {
"enum": [
"requested",
"already_requested"
],
"type": "string",
"description": "Whether patent preparation was newly requested or was already requested; neither confirms completion or filing"
}
},
"additionalProperties": false
}{
"title": "Request Lightbringer patent preparation",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}get_strategy_template — Read Lightbringer strategy capture guide
Returns the shared conversational capture guide, readiness criteria, creation schema and example. Supports interactive capture and drafting from existing material. Requires strategy management rights.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"schema",
"template",
"version",
"_instructions"
],
"properties": {
"schema": {
"description": "Machine-readable strategy definition structure"
},
"version": {
"type": "number"
},
"guidance": {
"description": "Per-field authoring guidance"
},
"template": {},
"_instructions": {}
},
"additionalProperties": {}
}{
"title": "Read Lightbringer strategy capture guide",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}list_strategies — List strategies in Lightbringer
Deprecated compatibility interface; the replacement is search with category: "strategy". Both interfaces access the same Strategy records. Retained for existing clients during migration. Lists the strategies you can access in the connected organisation, including publication status.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"strategies"
],
"properties": {
"strategies": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"kind"
],
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"const": "STRATEGY"
},
"title": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"status": {
"anyOf": [
{
"enum": [
"DRAFT",
"PUBLISHED"
],
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": false
}{
"title": "List strategies in Lightbringer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_strategy — Read strategy in Lightbringer
Deprecated compatibility interface; the replacement is fetch. Both interfaces access the same Strategy records. Retained for existing clients during migration. Reads a strategy, its section identifiers and Markdown, and its current revision for subsequent edits.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"strategy_id"
],
"properties": {
"strategy_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "Strategy identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"title",
"kind",
"revision",
"sections",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"kind": {
"type": "string",
"const": "STRATEGY"
},
"title": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"status": {
"anyOf": [
{
"enum": [
"DRAFT",
"PUBLISHED"
],
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"content"
],
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"content": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": {}
}{
"title": "Read strategy in Lightbringer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}create_strategy — Save strategy draft in Lightbringer
Deprecated compatibility interface; the replacement is create_asset. Both interfaces access the same Strategy records. Retained for existing clients during migration. Creates a populated draft strategy. Capture guidance and schema are available from get_strategy_template. Validates before saving; success returns the saved link and revision. Supports subsequent refinement through edit_strategy. Requires strategy management rights, including customer moderators. Publication is separate.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"sections"
],
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"content"
],
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"content": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 500000
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"title",
"refNum",
"status",
"url",
"revision"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"refNum": {
"type": "string"
},
"status": {
"type": "string",
"const": "DRAFT"
},
"revision": {
"type": "string"
}
},
"additionalProperties": {}
}{
"title": "Save strategy draft in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}edit_strategy — Edit strategy in Lightbringer
Deprecated compatibility interface; the replacement is update_asset. Both interfaces access the same Strategy records. Retained for existing clients during migration. Applies an atomic batch of section edits using the revision returned by get_strategy. Replacements apply directly, without redlines, and preserve unchanged text and comment anchors. Ambiguous matches and edits touching pending review changes made in the application editor are rejected. The response includes orphaned_discussion_ids for retained threads whose anchored text was removed. Conflicting revisions are rejected without applying changes. Requires strategy management rights.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"strategy_id",
"revision",
"operations"
],
"properties": {
"revision": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"operations": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"action",
"section"
],
"properties": {
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"action": {
"type": "string",
"const": "insert_section"
},
"section": {
"type": "object",
"required": [
"title",
"content"
],
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"content": {
"type": "string",
"maxLength": 500000,
"description": "Section body as Markdown"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"section_id"
],
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"action": {
"type": "string",
"const": "replace_section"
},
"content": {
"type": "string",
"maxLength": 500000
},
"section_id": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$",
"maxLength": 128
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"section_id"
],
"properties": {
"action": {
"type": "string",
"const": "delete_section"
},
"section_id": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$",
"maxLength": 128
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"section_ids"
],
"properties": {
"action": {
"type": "string",
"const": "reorder_sections"
},
"section_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$",
"maxLength": 128
},
"maxItems": 50,
"minItems": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"action",
"title"
],
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"action": {
"type": "string",
"const": "rename"
}
},
"additionalProperties": false
}
]
},
"maxItems": 100,
"minItems": 1
},
"strategy_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "Strategy identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"title",
"kind",
"revision",
"sections",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"kind": {
"type": "string",
"const": "STRATEGY"
},
"title": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"status": {
"anyOf": [
{
"enum": [
"DRAFT",
"PUBLISHED"
],
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"content"
],
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"content": {
"type": "string"
}
},
"additionalProperties": false
}
},
"orphaned_discussion_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {}
}{
"title": "Edit strategy in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}set_strategy_publication — Change strategy status in Lightbringer
Publishes a strategy or returns it to draft on explicit user request. Published strategies become organisation-wide context for members and Lightbringer agents, including existing competitor monitoring. Publication does not schedule or start monitoring. Multiple strategies may be published simultaneously. Requires strategy management rights.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"strategy_id",
"publish"
],
"properties": {
"publish": {
"type": "boolean"
},
"strategy_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "Strategy identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"title",
"kind",
"revision",
"sections",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"kind": {
"type": "string",
"const": "STRATEGY"
},
"title": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"status": {
"anyOf": [
{
"enum": [
"DRAFT",
"PUBLISHED"
],
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"content"
],
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"content": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": {}
}{
"title": "Change strategy status in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}delete_strategy — Delete strategy from Lightbringer
Deprecated compatibility interface; the replacement is delete_asset. Both interfaces access the same Strategy records. Retained for existing clients during migration. Permanently deletes a strategy when explicitly requested by the user. Requires strategy management rights.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"strategy_id"
],
"properties": {
"strategy_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "Strategy identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"success"
],
"properties": {
"success": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}{
"title": "Delete strategy from Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}create_asset — Save record in Lightbringer
Creates one asset. Currently supports a Strategy with a title and populated Markdown sections, saved as a draft. Requires write consent and Strategy management rights. Returns its reference, link and revision; full state is available through fetch with include_asset: true when that parameter is advertised. Publication and patent services are separate actions. A repeated create can create a duplicate; search supports reconciliation of uncertain outcomes.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asset"
],
"properties": {
"asset": {
"type": "object",
"required": [
"type",
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"title",
"sections"
],
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"content"
],
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"content": {
"type": "string",
"pattern": "^[\\s\\S]*\\S[\\s\\S]*$",
"maxLength": 500000
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "strategy"
}
},
"additionalProperties": false
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asset"
],
"properties": {
"asset": {
"type": "object",
"required": [
"type",
"id",
"revision",
"title",
"url"
],
"properties": {
"id": {
"type": "string",
"pattern": "^report:[a-zA-Z0-9_-]+$",
"maxLength": 71,
"description": "The report:<id> reference returned by search, fetch or create_asset"
},
"url": {
"type": "string"
},
"type": {
"type": "string",
"const": "strategy",
"description": "Currently supports Strategies only"
},
"title": {
"type": "string"
},
"status": {
"anyOf": [
{
"enum": [
"DRAFT",
"PUBLISHED"
],
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"type": "string"
}
},
"additionalProperties": {}
},
"orphaned_discussion_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {}
}{
"title": "Save record in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_asset — Update record in Lightbringer
Updates one asset to the supplied state. Currently supports Strategy title and ordered Markdown sections. The input uses the revision and complete section state returned by fetch with include_asset: true; this read depends on the advertised include_asset parameter. Applies atomically at the supplied revision; conflicts require a fresh fetch and reconciliation. Supplying sections replaces the collection: omitted sections are deleted and new sections receive IDs. Unchanged section IDs and comment anchors are preserved. Edits touching pending review changes fail; detached discussions are reported. Requires write consent and Strategy management rights. Does not publish or run a service. Uncertain outcomes require readback and reconciliation before another write.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asset"
],
"properties": {
"asset": {
"type": "object",
"required": [
"type",
"id",
"revision",
"changes"
],
"properties": {
"id": {
"type": "string",
"pattern": "^report:[a-zA-Z0-9_-]+$",
"maxLength": 71,
"description": "The report:<id> reference returned by search, fetch or create_asset"
},
"type": {
"type": "string",
"const": "strategy",
"description": "Currently supports Strategies only"
},
"changes": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Omission leaves the title unchanged"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"content"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$",
"maxLength": 128,
"description": "Existing section ID from fetch; omit only for a new section"
},
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"content": {
"type": "string",
"maxLength": 500000,
"description": "Section Markdown; empty clears its body"
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1,
"description": "Complete desired ordered section collection. Omitted existing IDs are deleted; array order is saved. Preserve every section to keep. Omit this field to leave all sections unchanged."
}
},
"additionalProperties": false
},
"revision": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "asset.revision from the latest fetch with include_asset: true; stale revisions fail without writes"
}
},
"additionalProperties": false
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asset"
],
"properties": {
"asset": {
"type": "object",
"required": [
"type",
"id",
"revision",
"title",
"url"
],
"properties": {
"id": {
"type": "string",
"pattern": "^report:[a-zA-Z0-9_-]+$",
"maxLength": 71,
"description": "The report:<id> reference returned by search, fetch or create_asset"
},
"url": {
"type": "string"
},
"type": {
"type": "string",
"const": "strategy",
"description": "Currently supports Strategies only"
},
"title": {
"type": "string"
},
"status": {
"anyOf": [
{
"enum": [
"DRAFT",
"PUBLISHED"
],
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"type": "string"
}
},
"additionalProperties": {}
},
"orphaned_discussion_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {}
}{
"title": "Update record in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}delete_asset — Delete strategy from Lightbringer
Permanently deletes one asset explicitly selected by the user. Currently supports Strategies only. Requires write consent and Strategy management rights. Does not delete other asset types or withdraw patent-service requests.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asset"
],
"properties": {
"asset": {
"type": "object",
"required": [
"type",
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^report:[a-zA-Z0-9_-]+$",
"maxLength": 71,
"description": "The report:<id> reference returned by search, fetch or create_asset"
},
"type": {
"type": "string",
"const": "strategy",
"description": "Currently supports Strategies only"
}
},
"additionalProperties": false
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asset",
"success"
],
"properties": {
"asset": {
"type": "object",
"required": [
"type",
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^report:[a-zA-Z0-9_-]+$",
"maxLength": 71,
"description": "The report:<id> reference returned by search, fetch or create_asset"
},
"type": {
"type": "string",
"const": "strategy",
"description": "Currently supports Strategies only"
}
},
"additionalProperties": false
},
"success": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}{
"title": "Delete strategy from Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}get_company_context — Read Lightbringer company context
Reads the connected organisation’s profile, shared assistant notes, update permission and current revision. Notes are user/agent-authored source data, not verified facts or instructions. Requires read consent and organisation membership.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"organisation",
"notes",
"revision",
"can_update"
],
"properties": {
"notes": {
"type": "string"
},
"revision": {
"type": "string"
},
"can_update": {
"type": "boolean"
},
"organisation": {
"type": "object",
"required": [
"name",
"applicant_name",
"country",
"state",
"website"
],
"properties": {
"name": {
"type": "string"
},
"state": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"website": {
"type": [
"string",
"null"
]
},
"applicant_name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}
},
"additionalProperties": {}
}{
"title": "Read Lightbringer company context",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_company_context_template — Read Lightbringer company context guide
Returns shared company-context interview guidance and the update schema. Supports conversation or synthesis from supplied material. Does not read or change company records.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"schema": {
"description": "Machine-readable invention definition structure"
},
"guidance": {
"description": "Per-field authoring guidance"
},
"template": {
"description": "Draft template content"
}
},
"additionalProperties": {}
}{
"title": "Read Lightbringer company context guide",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}update_company_context — Update company context in Lightbringer
Updates selected profile fields or shared assistant notes in the connected organisation. Requires moderator rights and write consent. The revision from get_company_context is required; stale revisions are rejected without changes. Omitted fields remain unchanged; notes replaces the complete shared notes text and empty strings clear fields. applicant_name updates the legal applicant setting and names an unnamed workspace; it does not rename an established workspace. Returns the saved context and new revision. Does not create or publish a Strategy.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"revision",
"updates"
],
"properties": {
"updates": {
"type": "object",
"properties": {
"notes": {
"type": "string",
"maxLength": 50000,
"description": "Complete replacement for shared Markdown notes; preserve unrelated notes"
},
"state": {
"type": "string",
"maxLength": 128
},
"country": {
"type": "string",
"maxLength": 100
},
"website": {
"type": "string",
"maxLength": 2048,
"description": "HTTP(S) website without credentials; empty clears it"
},
"applicant_name": {
"type": "string",
"maxLength": 512,
"description": "Legal applicant name; empty clears it"
}
},
"additionalProperties": false
},
"revision": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"organisation",
"notes",
"revision",
"can_update"
],
"properties": {
"notes": {
"type": "string"
},
"revision": {
"type": "string"
},
"can_update": {
"type": "boolean"
},
"organisation": {
"type": "object",
"required": [
"name",
"applicant_name",
"country",
"state",
"website"
],
"properties": {
"name": {
"type": "string"
},
"state": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"website": {
"type": [
"string",
"null"
]
},
"applicant_name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}
},
"additionalProperties": {}
}{
"title": "Update company context in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}get_innovation_template — Read Lightbringer innovation capture guide
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"schema": {
"description": "Machine-readable invention definition structure"
},
"guidance": {
"description": "Per-field authoring guidance"
},
"template": {
"description": "Draft template content"
}
},
"additionalProperties": {}
}{
"title": "Read Lightbringer innovation capture guide",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}register_innovation — Save innovation in Lightbringer
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"definition"
],
"properties": {
"definition": {
"type": "object",
"required": [
"version",
"title",
"problem",
"invention",
"furtherDetails",
"reviewCompletion"
],
"properties": {
"title": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Short invention title"
},
"problem": {
"type": "object",
"required": [
"description",
"technologyField",
"problems",
"technicalCauses"
],
"properties": {
"problems": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
}
},
"minItems": 1,
"description": "Resolved concrete problem statements"
},
"description": {
"type": "string",
"maxLength": 3000,
"minLength": 200,
"description": "Detailed description of the problem solved by the invention"
},
"technicalCauses": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
}
},
"minItems": 1,
"description": "Resolved technical causes behind the identified problems"
},
"technologyField": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
},
"description": "Resolved technology field for the invention"
}
}
},
"version": {
"type": "number",
"const": 1,
"description": "Authoring contract version; value must be 1"
},
"priorArt": {
"type": "object",
"required": [
"summary"
],
"properties": {
"summary": {
"type": "string",
"maxLength": 2000,
"minLength": 100,
"description": "Known prior art relevant to the invention"
},
"shortcomings": {
"type": "string",
"maxLength": 2000,
"minLength": 100,
"description": "Ways the known prior art falls short"
}
},
"description": "Optional prior art section"
},
"invention": {
"type": "object",
"required": [
"description",
"inventionType",
"contexts",
"solution",
"technicalSolution"
],
"properties": {
"contexts": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
}
},
"minItems": 1,
"description": "Relevant contexts, scenarios, or operating environments"
},
"solution": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
},
"description": "Resolved invention-level solution statement"
},
"description": {
"type": "string",
"maxLength": 3000,
"minLength": 200,
"description": "Detailed description of what the invention does and how it works"
},
"inventionType": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
},
"description": "Resolved invention type"
},
"technicalSolution": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
},
"description": "Technical mechanism addressing the identified causes"
}
}
},
"furtherDetails": {
"type": "string",
"maxLength": 10000,
"minLength": 200,
"description": "Implementation details, examples, variants, embodiments, or usage details"
},
"reviewCompletion": {
"oneOf": [
{
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"const": "NO_OPEN_ISSUES",
"description": "The disclosure has no remaining open clarity questions"
},
"notes": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional review outcome note"
}
}
},
{
"type": "object",
"required": [
"mode",
"clarityIssues"
],
"properties": {
"mode": {
"type": "string",
"const": "OPEN_ISSUES_REMAIN",
"description": "The disclosure retains material technical gaps for inventor follow-up"
},
"notes": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional review outcome note"
},
"clarityIssues": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"label",
"description"
],
"properties": {
"type": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Short category label for the remaining clarity issue"
},
"label": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Concise title naming the specific remaining gap"
},
"description": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Technical information that remains missing or under-specified and why the gap matters"
}
}
},
"minItems": 1,
"description": "Remaining clarity deficiencies for inventor follow-up"
}
}
}
],
"description": "Review outcome and any remaining inventor follow-up"
},
"illustrationSuggestions": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"rationale"
],
"properties": {
"item": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Short label for the resolved disclosure selection"
},
"rationale": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Reason this selection fits the invention and belongs in the final disclosure"
},
"definition": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Optional clarifying definition or explanation of the selected concept"
}
}
},
"minItems": 1,
"description": "Optional suggestions for drawings, diagrams, or annotated visuals"
}
},
"description": "Complete V1 invention definition matching the advertised field structure; validated during registration"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"refNum": {
"type": [
"string",
"null"
]
},
"warnings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Non-blocking notices about the saved innovation; registration succeeded despite these warnings"
}
},
"additionalProperties": false
}{
"title": "Save innovation in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}search — Search Lightbringer organisation
Searches the Lightbringer organisation's documents (inventions, patent applications, and reports and Strategies), meetings and the files in its vault. The "meeting" category filters by title, reference, or indexed transcript/canvas text. Meeting result IDs resolve through fetch to canvas and transcript text. The "vault" category lists vault files (vault_file:<id>), matching every query word against the file name or folder path; file contents are not searched. Omitting query lists the whole vault the user can see. Vault results need a connection that can also write. 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; omitting query lists accessible records in the selected category. Saved own application and patent results can include a structured family overview: accessible members, jurisdictions, recorded statuses, priority provenance and coverage limits. Its refresh assessment compares stored references with saved links without calling a provider or changing records. 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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"description": "Free-text search query"
},
"cursor": {
"type": "string",
"description": "Opaque cursor from a previous search response"
},
"category": {
"enum": [
"application",
"patent",
"innovation",
"competitor_application",
"report",
"strategy",
"meeting",
"vault"
],
"type": "string"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"results"
],
"properties": {
"hasMore": {
"type": "boolean"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"text",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"part": {
"type": "string"
},
"text": {
"type": "string"
},
"parts": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"part",
"label"
],
"properties": {
"id": {
"type": "string"
},
"part": {
"enum": [
"disclosure",
"priority_draft",
"application_text"
],
"type": "string"
},
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"createdAt": {
"type": [
"string",
"null"
]
},
"revisionId": {
"type": [
"string",
"null"
]
},
"revisionType": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"title": {
"type": "string"
},
"family": {
"type": "object",
"required": [
"groupingKey",
"scope",
"applicationCount",
"recordedPublicationCount",
"regions",
"priorityDate",
"priorityDateSource",
"members",
"membersTruncated",
"coverage",
"refresh"
],
"properties": {
"scope": {
"type": "string",
"const": "accessible_saved_records"
},
"members": {
"type": "array",
"items": {
"type": "object",
"required": [
"documentId",
"title",
"refNum",
"applicationType",
"region",
"applicationNumber",
"publicationNumber",
"filingDate",
"recordedStatus",
"relationship"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": "string"
},
"filingDate": {
"type": [
"string",
"null"
]
},
"relationship": {
"enum": [
"self",
"parent",
"child",
"other_related"
],
"type": "string"
},
"recordedStatus": {
"type": [
"string",
"null"
]
},
"applicationType": {
"type": "string"
},
"applicationNumber": {
"type": [
"string",
"null"
]
},
"publicationNumber": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"refresh": {
"type": "object",
"required": [
"eligible",
"assessment",
"referencesAvailable",
"lastRefreshedAt",
"missingLinkCount",
"unmatchedReferenceCount",
"ambiguousReferenceCount",
"references",
"referencesTruncated"
],
"properties": {
"eligible": {
"type": "boolean",
"description": "Whether this own record has a usable publication number; does not establish write permission"
},
"assessment": {
"enum": [
"missing_links",
"unresolved_references",
"unknown",
"no_known_gap",
"unsupported"
],
"type": "string",
"description": "Read-only assessment of this record’s stored references. Missing links have accessible saved matches. Unresolved references need investigation; unknown and no_known_gap do not establish complete coverage."
},
"references": {
"type": "array",
"items": {
"type": "object",
"required": [
"direction",
"applicationNumber",
"publicationNumber",
"status",
"documentId"
],
"properties": {
"status": {
"enum": [
"linked",
"missing_link",
"unmatched",
"ambiguous"
],
"type": "string"
},
"direction": {
"enum": [
"parent",
"child"
],
"type": "string"
},
"documentId": {
"type": [
"string",
"null"
]
},
"applicationNumber": {
"type": "string"
},
"publicationNumber": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"lastRefreshedAt": {
"type": [
"string",
"null"
],
"description": "Last recorded explicit provider family refresh; null means the refresh date is unknown"
},
"missingLinkCount": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
{
"type": "null"
}
]
},
"referencesAvailable": {
"type": "boolean"
},
"referencesTruncated": {
"type": "boolean"
},
"ambiguousReferenceCount": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
{
"type": "null"
}
]
},
"unmatchedReferenceCount": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"regions": {
"type": "array",
"items": {
"type": "string"
}
},
"coverage": {
"type": "string",
"const": "unverified"
},
"groupingKey": {
"type": "string",
"description": "Representative accessible document key for grouping saved records; can change with links or access, not a global family ID"
},
"priorityDate": {
"type": [
"string",
"null"
]
},
"applicationCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Accessible saved application records in this group, including the selected record"
},
"membersTruncated": {
"type": "boolean"
},
"priorityDateSource": {
"enum": [
"imported",
"earliest_saved_priority_filing",
"unknown"
],
"type": "string"
},
"recordedPublicationCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Distinct publication numbers recorded on these applications, not all publications or inventions"
}
},
"additionalProperties": false
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}{
"title": "Search Lightbringer organisation",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}fetch — Read Lightbringer document or meeting
For Strategies, include_asset: true adds asset.type, asset.id, asset.revision and asset.data with the complete ordered sections for revision-checked updates. The option is available only when advertised and cannot be combined with include, mode or cursor. Returns the full content of a single document — invention, patent application, strategy, or report — or a meeting or vault file identified by its search result ID. A vault file returns its vault path, type, size and a download link valid for about an hour, plus the content of a text or code file up to 256 KB. A meeting returns a Markdown snapshot of its canvas text notes and all stored transcript sessions, with speakers, timestamps, and session status. 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. Saved own records can also return a structured family overview, including the current saved links and a per-record refresh assessment for readback after updates. Focused questions support include: ["claims"], ["description"], ["abstract"], or a combination. For a known document ID, mode: "outline" discovers native section availability without full text. Filtered content is returned in bounded pages with source/revision and content_version attribution. retrieval.has_more: true means the selected sections are incomplete. The next page is available with cursor: retrieval.next_cursor and the same id and include. Retrieval is complete only when the final page has has_more: false; stopping earlier leaves unread content. Stale cursors require restarting. Blocks identify oversized continuations with continued/continues; fragments with the same block_id concatenate directly. Missing/unknown sections and import warnings describe stored content, separately from page completeness. This reads stored content without importing, repairing, or contacting a patent provider. Omitting all options returns legacy full content.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The search result ID, such as meeting:<id> or vault_file:<id>, or a document identifier"
},
"mode": {
"enum": [
"outline",
"content"
],
"type": "string",
"description": "outline discovers section availability; content requires include"
},
"cursor": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Opaque next_cursor for the same ID, include and content version; requires include"
},
"include": {
"type": "array",
"items": {
"enum": [
"claims",
"description",
"abstract"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Native sections to retrieve; omission preserves legacy full fetch unless mode is outline"
},
"include_asset": {
"type": "boolean",
"description": "Opt in to validated Strategy asset state; defaults to false. Incompatible with include, mode or cursor"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"title",
"text",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"part": {
"type": "string"
},
"text": {
"type": "string"
},
"asset": {
"type": "object",
"required": [
"type",
"id",
"revision",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^report:[a-zA-Z0-9_-]+$",
"maxLength": 71
},
"data": {
"type": "object",
"required": [
"title",
"sections"
],
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"content"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$",
"maxLength": 128
},
"title": {
"type": "string"
},
"content": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "strategy"
},
"status": {
"anyOf": [
{
"enum": [
"DRAFT",
"PUBLISHED"
],
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"type": "string",
"maxLength": 128,
"minLength": 1
}
},
"additionalProperties": false
},
"parts": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"part",
"label"
],
"properties": {
"id": {
"type": "string"
},
"part": {
"enum": [
"disclosure",
"priority_draft",
"application_text"
],
"type": "string"
},
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"createdAt": {
"type": [
"string",
"null"
]
},
"revisionId": {
"type": [
"string",
"null"
]
},
"revisionType": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"title": {
"type": "string"
},
"family": {
"type": "object",
"required": [
"groupingKey",
"scope",
"applicationCount",
"recordedPublicationCount",
"regions",
"priorityDate",
"priorityDateSource",
"members",
"membersTruncated",
"coverage",
"refresh"
],
"properties": {
"scope": {
"type": "string",
"const": "accessible_saved_records"
},
"members": {
"type": "array",
"items": {
"type": "object",
"required": [
"documentId",
"title",
"refNum",
"applicationType",
"region",
"applicationNumber",
"publicationNumber",
"filingDate",
"recordedStatus",
"relationship"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": "string"
},
"filingDate": {
"type": [
"string",
"null"
]
},
"relationship": {
"enum": [
"self",
"parent",
"child",
"other_related"
],
"type": "string"
},
"recordedStatus": {
"type": [
"string",
"null"
]
},
"applicationType": {
"type": "string"
},
"applicationNumber": {
"type": [
"string",
"null"
]
},
"publicationNumber": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"refresh": {
"type": "object",
"required": [
"eligible",
"assessment",
"referencesAvailable",
"lastRefreshedAt",
"missingLinkCount",
"unmatchedReferenceCount",
"ambiguousReferenceCount",
"references",
"referencesTruncated"
],
"properties": {
"eligible": {
"type": "boolean",
"description": "Whether this own record has a usable publication number; does not establish write permission"
},
"assessment": {
"enum": [
"missing_links",
"unresolved_references",
"unknown",
"no_known_gap",
"unsupported"
],
"type": "string",
"description": "Read-only assessment of this record’s stored references. Missing links have accessible saved matches. Unresolved references need investigation; unknown and no_known_gap do not establish complete coverage."
},
"references": {
"type": "array",
"items": {
"type": "object",
"required": [
"direction",
"applicationNumber",
"publicationNumber",
"status",
"documentId"
],
"properties": {
"status": {
"enum": [
"linked",
"missing_link",
"unmatched",
"ambiguous"
],
"type": "string"
},
"direction": {
"enum": [
"parent",
"child"
],
"type": "string"
},
"documentId": {
"type": [
"string",
"null"
]
},
"applicationNumber": {
"type": "string"
},
"publicationNumber": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"lastRefreshedAt": {
"type": [
"string",
"null"
],
"description": "Last recorded explicit provider family refresh; null means the refresh date is unknown"
},
"missingLinkCount": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
{
"type": "null"
}
]
},
"referencesAvailable": {
"type": "boolean"
},
"referencesTruncated": {
"type": "boolean"
},
"ambiguousReferenceCount": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
{
"type": "null"
}
]
},
"unmatchedReferenceCount": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"regions": {
"type": "array",
"items": {
"type": "string"
}
},
"coverage": {
"type": "string",
"const": "unverified"
},
"groupingKey": {
"type": "string",
"description": "Representative accessible document key for grouping saved records; can change with links or access, not a global family ID"
},
"priorityDate": {
"type": [
"string",
"null"
]
},
"applicationCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Accessible saved application records in this group, including the selected record"
},
"membersTruncated": {
"type": "boolean"
},
"priorityDateSource": {
"enum": [
"imported",
"earliest_saved_priority_filing",
"unknown"
],
"type": "string"
},
"recordedPublicationCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Distinct publication numbers recorded on these applications, not all publications or inventions"
}
},
"additionalProperties": false
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"retrieval": {
"type": "object",
"required": [
"mode",
"included",
"missing",
"unknown",
"sections",
"content_version",
"source",
"blocks",
"has_more",
"import_status",
"warnings"
],
"properties": {
"mode": {
"enum": [
"content",
"outline"
],
"type": "string"
},
"blocks": {
"type": "array",
"items": {
"type": "object",
"required": [
"section",
"block_id",
"text",
"continued",
"continues"
],
"properties": {
"text": {
"type": "string"
},
"section": {
"enum": [
"claims",
"description",
"abstract"
],
"type": "string"
},
"block_id": {
"type": "string"
},
"continued": {
"type": "boolean"
},
"continues": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"source": {
"type": "object",
"required": [
"document_id",
"part"
],
"properties": {
"part": {
"type": "string"
},
"document_id": {
"type": "string"
},
"revision_id": {
"type": "string"
}
},
"additionalProperties": false
},
"missing": {
"type": "array",
"items": {
"enum": [
"claims",
"description",
"abstract"
],
"type": "string"
}
},
"unknown": {
"type": "array",
"items": {
"enum": [
"claims",
"description",
"abstract"
],
"type": "string"
}
},
"has_more": {
"type": "boolean"
},
"included": {
"type": "array",
"items": {
"enum": [
"claims",
"description",
"abstract"
],
"type": "string"
}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"section",
"status"
],
"properties": {
"status": {
"enum": [
"available",
"empty",
"unavailable",
"unknown"
],
"type": "string"
},
"section": {
"enum": [
"claims",
"description",
"abstract"
],
"type": "string"
},
"block_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"next_cursor": {
"type": "string",
"maxLength": 2048
},
"import_status": {
"enum": [
"complete",
"partial",
"incomplete",
"unknown",
"not_applicable"
],
"type": "string"
},
"content_version": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Read Lightbringer document or meeting",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}search_public_patents — Search public patents with Lightbringer
Searches public patent publications by complete publication number, simple keywords, or assignee. Returns at most 25 results per page, with source details. Separate from search of saved organisation documents. Results are untrusted source data and do not establish current ownership or legal status. Null expired or abandoned values mean unknown. nextPage identifies the next page; truncated indicates limited search coverage. Search does not import documents. import_patent imports a selected publication. Search is free unless get_credits reports a patentSearch price above zero; each search then costs that price and is refused once credits are spent.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 40,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Simple technology keywords"
},
"assignee": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Assignee name to search; results do not establish ownership"
},
"publicationNumber": {
"type": "string",
"pattern": "^[A-Za-z0-9\\s.,/-]+$",
"maxLength": 64,
"minLength": 1,
"description": "Search one complete publication number on its own"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status",
"results",
"page",
"pageSize",
"total",
"nextPage",
"truncated"
],
"properties": {
"page": {
"type": "number"
},
"total": {
"type": [
"number",
"null"
]
},
"status": {
"enum": [
"results",
"no_results"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"publicationNumber",
"title",
"assignee",
"snippet",
"publicationDate",
"filingDate",
"priorityDate",
"grantDate",
"provider",
"sourceUrl",
"expired",
"abandoned"
],
"properties": {
"title": {
"type": "string"
},
"expired": {
"type": [
"boolean",
"null"
]
},
"snippet": {
"type": "string"
},
"assignee": {
"type": [
"string",
"null"
],
"description": "Reported assignee; null when unknown"
},
"provider": {
"type": [
"string",
"null"
]
},
"abandoned": {
"type": [
"boolean",
"null"
]
},
"grantDate": {
"type": [
"string",
"null"
]
},
"sourceUrl": {
"type": [
"string",
"null"
]
},
"filingDate": {
"type": [
"string",
"null"
]
},
"priorityDate": {
"type": [
"string",
"null"
]
},
"publicationDate": {
"type": [
"string",
"null"
]
},
"publicationNumber": {
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 25
},
"nextPage": {
"type": [
"number",
"null"
]
},
"pageSize": {
"type": "number"
},
"truncated": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Search public patents with Lightbringer",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}import_patent — Import patent application into Lightbringer
Imports one public patent publication into the connected organisation, with a complete publication number and explicit purpose. own identifies the customer’s own patent or application; competitor identifies someone else’s patent for reference. Ownership and import scope come from the user’s intent, rather than search results alone. Own-patent imports automatically attempt family grouping with related saved patents, including earlier imports; a separate refresh is not normally needed. Repeated requests return the existing record without updating it. A different purpose or another publication of the same application can produce a conflict identifying the existing record. imported means the record was saved. receipt.status reports complete, partial or incomplete import processing; receipt.warnings explain limitations such as missing PDFs or uncertain family grouping. An incomplete receipt does not mean work is still running; a null receipt means completion details are unavailable. A timed-out request may have saved the record; repeating the same publication and purpose retrieves its saved outcome. Import cannot change an existing record’s purpose or replace its publication. A new import is free unless get_credits reports a patentImport price above zero; it then costs that price and is refused once credits are spent. Returning an existing record is free.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"publicationNumber",
"purpose"
],
"properties": {
"purpose": {
"enum": [
"own",
"competitor"
],
"type": "string",
"description": "own for the customer’s own portfolio; competitor for someone else’s patent"
},
"publicationNumber": {
"type": "string",
"pattern": "^[A-Za-z0-9\\s.,/-]+$",
"maxLength": 64,
"minLength": 1
},
"competitorCompanyName": {
"type": "string",
"maxLength": 191,
"minLength": 1
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status",
"documentId",
"url",
"publicationNumber",
"purpose",
"receipt"
],
"properties": {
"url": {
"type": "string"
},
"status": {
"enum": [
"imported",
"already_imported"
],
"type": "string"
},
"purpose": {
"enum": [
"own",
"competitor"
],
"type": "string"
},
"receipt": {
"anyOf": [
{
"type": "object",
"required": [
"version",
"status",
"provider",
"retrievedAt",
"sourceUrl",
"expired",
"abandoned",
"warnings"
],
"properties": {
"status": {
"enum": [
"incomplete",
"complete",
"partial"
],
"type": "string"
},
"expired": {
"type": [
"boolean",
"null"
]
},
"version": {
"type": "number",
"const": 1
},
"provider": {
"type": [
"string",
"null"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"abandoned": {
"type": [
"boolean",
"null"
]
},
"sourceUrl": {
"type": [
"string",
"null"
]
},
"retrievedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"documentId": {
"type": "string"
},
"publicationNumber": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Import patent application into Lightbringer",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}refresh_patent_family — Update patent family in Lightbringer
Updates family grouping for one saved own patent using public patent information and related own patents already saved in the connected organisation. Useful for an apparent missing relationship, an unfinished family update, or a requested check against newer public information. Imports already attempt family grouping automatically; routine refresh after import is unnecessary. Related publications must be imported separately before they can be included. Repeating import_patent only retrieves its saved outcome. Existing family relationships are retained, so refresh cannot remove incorrect relationships. Patent text, PDFs, images, legal status and own/competitor classification are unchanged. Competitor records are not supported. Returns counts of added and existing relationships, unresolved or ambiguous matches, and failures, with warnings. It does not return a list of family members. A null links result means the update did not finish; repeating the refresh attempts it again. Results do not establish complete family coverage. Where the organisation is charged in credits, a refresh costs a patent search and is refused once credits are spent.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"documentId"
],
"properties": {
"documentId": {
"type": "string",
"description": "Saved own patent document ID from import_patent, or document:<id> from search"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status",
"documentId",
"publicationNumber",
"url",
"refreshedAt",
"parentReferences",
"childReferences",
"links",
"warnings"
],
"properties": {
"url": {
"type": "string"
},
"links": {
"anyOf": [
{
"type": "object",
"required": [
"addedLinks",
"existingLinks",
"unresolvedReferences",
"ambiguousReferences",
"failedLinks"
],
"properties": {
"addedLinks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"failedLinks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"existingLinks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"ambiguousReferences": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"unresolvedReferences": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"refreshed",
"partial"
],
"type": "string"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"documentId": {
"type": "string"
},
"refreshedAt": {
"type": "string"
},
"childReferences": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"parentReferences": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"publicationNumber": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Update patent family in Lightbringer",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_credits — Check Lightbringer credits
Returns whether the connected organisation’s automated work is charged in Lightbringer credits, and if so the current balance, whether credit-consuming work is refused at zero, and what a patent import and a public patent search cost this user (0 when they are free). State disabled, internal or exempt means no credits are charged and the other fields are null; exhausted means the balance is spent. Paid automated analysis, such as the clarity feedback analysis, is charged by model usage rather than a fixed price.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"state",
"balance",
"blockedAtZero",
"prices"
],
"properties": {
"state": {
"enum": [
"disabled",
"internal",
"exempt",
"ok",
"exhausted"
],
"type": "string"
},
"prices": {
"anyOf": [
{
"type": "object",
"required": [
"patentImport",
"patentSearch"
],
"properties": {
"patentImport": {
"type": "number"
},
"patentSearch": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"balance": {
"type": [
"number",
"null"
]
},
"blockedAtZero": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}{
"title": "Check Lightbringer credits",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_tasks — List Lightbringer analysis tasks
Lists the current user’s automated tasks in the connected organisation, newest to oldest, optionally for an innovation, with their status. Recovers task IDs after a lost response or conversation. Feedback summaries are recorded states, not a poll of the analyses; feedback tasks and findings expire 30 days after creation. Pagination can return an empty page with a continuation cursor. Professional service requests are separate.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Pass next_cursor from the previous list_tasks response unchanged"
},
"invention_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "Optional innovation identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tasks",
"next_cursor"
],
"properties": {
"tasks": {
"type": "array",
"items": {
"type": "object",
"required": [
"task_id",
"type",
"invention_id",
"status",
"progress",
"created_at",
"expires_at"
],
"properties": {
"type": {
"type": "string",
"const": "innovation_feedback"
},
"status": {
"enum": [
"queued",
"running",
"succeeded",
"partially_succeeded",
"failed"
],
"type": "string"
},
"task_id": {
"type": "string"
},
"progress": {
"type": "object",
"required": [
"completed",
"total"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"completed": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
},
"created_at": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"invention_id": {
"type": "string"
}
},
"additionalProperties": false
}
},
"next_cursor": {
"anyOf": [
{
"type": "string",
"maxLength": 128,
"minLength": 1
},
{
"type": "null"
}
],
"description": "Opaque continuation cursor; pass unchanged to list_tasks, even when the page is empty."
}
},
"additionalProperties": false
}{
"title": "List Lightbringer analysis tasks",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}delete_task — Delete Lightbringer analysis task history
Permanently deletes an automated task owned by the current user in the connected organisation: a feedback task with its cached findings. Available in any execution state. Deletion removes tracking; it does not cancel a running analysis, delete the innovation, or withdraw a professional service request. Repeated deletion returns not_found.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "Automated task identifier to delete"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id",
"outcome",
"execution_cancelled"
],
"properties": {
"outcome": {
"enum": [
"deleted",
"not_found"
],
"type": "string"
},
"task_id": {
"type": "string"
},
"execution_cancelled": {
"type": "boolean",
"const": false,
"description": "Tracking deletion does not cancel upstream execution."
}
},
"additionalProperties": false
}{
"title": "Delete Lightbringer analysis task history",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}start_innovation_feedback — Start Lightbringer innovation analysis
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. Where the organisation is charged in credits, the clarity analysis costs credits. Once they are spent, a clarity-only request is refused; with other focus areas, clarity is reported as not started while the others still run.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"invention_id"
],
"properties": {
"focus": {
"enum": [
"clarity",
"problem",
"completeness",
"all"
],
"type": "string",
"default": "all",
"description": "The analysis focus area"
},
"invention_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The innovation identifier (invention_id)"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id",
"status",
"progress",
"results"
],
"properties": {
"type": {
"type": "string",
"const": "innovation_feedback"
},
"status": {
"enum": [
"queued",
"running",
"succeeded",
"partially_succeeded",
"failed"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"focus",
"analysis",
"status"
],
"properties": {
"error": {
"type": "string",
"description": "Analysis execution error"
},
"focus": {
"enum": [
"clarity",
"problem",
"completeness",
"unknown"
],
"type": "string"
},
"status": {
"enum": [
"queued",
"running",
"succeeded",
"failed"
],
"type": "string"
},
"analysis": {
"enum": [
"clarity",
"problem_identification",
"problem_causes",
"problem_improvements",
"technical_solution",
"implementation_examples",
"unknown"
],
"type": "string"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"description"
],
"properties": {
"link": {
"type": "string"
},
"title": {
"type": "string",
"description": "Finding or suggestion, as readable text or Markdown"
},
"category": {
"type": "string",
"description": "Issue category, when supplied by the analysis"
},
"retained": {
"type": "boolean",
"description": "Recorded retained decision, when supplied; not an agent instruction"
},
"discarded": {
"type": "boolean",
"description": "Recorded discarded decision, when supplied; not an agent instruction"
},
"definition": {
"type": "string"
},
"description": {
"type": "string",
"description": "Explanation or rationale, as readable text or Markdown"
}
},
"additionalProperties": false
},
"description": "Normalized findings. An empty array means the analysis returned no findings."
},
"findings_error": {
"type": "string",
"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."
}
},
"additionalProperties": false
}
},
"task_id": {
"type": "string",
"description": "The automated task identifier; shared by start and status responses"
},
"progress": {
"type": "object",
"required": [
"completed",
"total"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"completed": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
},
"expires_at": {
"type": "string",
"description": "Task expiry in ISO 8601 format: 30 days after creation. Reads do not extend retention."
}
},
"additionalProperties": false
}{
"title": "Start Lightbringer innovation analysis",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}get_task_status — Check Lightbringer analysis status
Returns an automated task by task_id. A feedback task comes with the same status, progress, findings and per-analysis errors as start_innovation_feedback; active analyses are refreshed and their status and findings saved 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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The automated task_id from start_innovation_feedback or list_tasks"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id",
"status",
"progress",
"results"
],
"properties": {
"type": {
"type": "string",
"const": "innovation_feedback"
},
"status": {
"enum": [
"queued",
"running",
"succeeded",
"partially_succeeded",
"failed"
],
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"focus",
"analysis",
"status"
],
"properties": {
"error": {
"type": "string",
"description": "Analysis execution error"
},
"focus": {
"enum": [
"clarity",
"problem",
"completeness",
"unknown"
],
"type": "string"
},
"status": {
"enum": [
"queued",
"running",
"succeeded",
"failed"
],
"type": "string"
},
"analysis": {
"enum": [
"clarity",
"problem_identification",
"problem_causes",
"problem_improvements",
"technical_solution",
"implementation_examples",
"unknown"
],
"type": "string"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"description"
],
"properties": {
"link": {
"type": "string"
},
"title": {
"type": "string",
"description": "Finding or suggestion, as readable text or Markdown"
},
"category": {
"type": "string",
"description": "Issue category, when supplied by the analysis"
},
"retained": {
"type": "boolean",
"description": "Recorded retained decision, when supplied; not an agent instruction"
},
"discarded": {
"type": "boolean",
"description": "Recorded discarded decision, when supplied; not an agent instruction"
},
"definition": {
"type": "string"
},
"description": {
"type": "string",
"description": "Explanation or rationale, as readable text or Markdown"
}
},
"additionalProperties": false
},
"description": "Normalized findings. An empty array means the analysis returned no findings."
},
"findings_error": {
"type": "string",
"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."
}
},
"additionalProperties": false
}
},
"task_id": {
"type": "string",
"description": "The automated task identifier; shared by start and status responses"
},
"progress": {
"type": "object",
"required": [
"completed",
"total"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"completed": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
},
"expires_at": {
"type": "string",
"description": "Task expiry in ISO 8601 format: 30 days after creation. Reads do not extend retention."
}
},
"additionalProperties": false
}{
"title": "Check Lightbringer analysis status",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}send_developer_feedback — Send feedback to Lightbringer
Sends feedback the user explicitly wants to share about Lightbringer tools or customer needs the available assistance could not resolve: broken or surprising tool behaviour, missing capabilities, friction, or an unresolved customer problem. For unmet needs, describe the intended outcome, help provided and remaining obstacle using confirmed evidence, not feature proposals or solution suggestions. Do not infer a service-wide gap from missing access, evidence or a limitation of this conversation. Requires the user’s explicit consent to send the proposed report after seeing its text, category and optional tool name and being informed of the recipient. Requires mcp:write permission. Reports go to a human-reviewed Lightbringer engineering Slack channel. Only the report text, category and optional tool name are sent; no account or client metadata is attached. The destination channel is not visible to the signed-in user. Reports contain only the issue or unresolved need the user agreed to share, without conversation transcripts, document text, invention details, or other confidential material. Delivery records feedback only; it does not request professional work or promise a response or resolution.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"category",
"feedback"
],
"properties": {
"category": {
"enum": [
"bug",
"tool_request",
"general"
],
"type": "string",
"description": "The kind of report: bug for broken or surprising behaviour, tool_request for a missing tool capability, general for unresolved customer needs or other feedback. A missing-capability report can describe the problem without proposing a solution"
},
"feedback": {
"type": "string",
"maxLength": 4000,
"minLength": 1,
"description": "The report text approved by the user for sending: a concise description of the issue or unresolved need. For unmet needs include the desired outcome, help provided and remaining problem; include timing, consequences and current alternatives only when known and safe to share. Keep unknowns explicit. Describe the problem without solution suggestions, without conversation transcripts, document text, invention details, or unrelated task context"
},
"tool_name": {
"type": "string",
"maxLength": 100,
"description": "The specific tool the report concerns, when there is one"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status",
"note"
],
"properties": {
"note": {
"type": "string"
},
"status": {
"enum": [
"delivered",
"not_delivered"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Send feedback to Lightbringer",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}list_reviews — List reviews in Lightbringer
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 strategy, report or case under review, and any connected invention. Strategy reviews are identified separately from report reviews.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"status": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "Filter by review status"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"reviews"
],
"properties": {
"reviews": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"type",
"status",
"target",
"myRole",
"awaiting",
"createdAt"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"myRole": {
"enum": [
"creator",
"participant"
],
"type": "string"
},
"status": {
"enum": [
"OPEN",
"CLOSED"
],
"type": "string"
},
"target": {
"enum": [
"document",
"report",
"strategy"
],
"type": "string"
},
"subject": {
"anyOf": [
{
"type": "object",
"required": [
"refNum"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"awaiting": {
"type": "array",
"items": {
"type": "object",
"required": [
"status"
],
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
}
},
"additionalProperties": false
}
},
"closedAt": {
"type": [
"string",
"null"
]
},
"myStatus": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": "string"
},
"agentDocId": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": [
"string",
"null"
]
},
"caseDocument": {
"anyOf": [
{
"type": "object",
"required": [
"documentId"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"instructions": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "List reviews in Lightbringer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_review — Read review in Lightbringer
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. A validation review (type ENTRY_PLAN_VALIDATION) asks which countries a European patent is validated in: the document lists the recommended and selected countries, and the validation field carries them as codes for set_validation_countries.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review_id"
],
"properties": {
"review_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The review identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review",
"threads",
"discussion",
"artifact"
],
"properties": {
"review": {
"type": "object",
"required": [
"id",
"title",
"type",
"status",
"target",
"myRole",
"awaiting",
"createdAt",
"participants"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"myRole": {
"enum": [
"creator",
"participant"
],
"type": "string"
},
"status": {
"enum": [
"OPEN",
"CLOSED"
],
"type": "string"
},
"target": {
"enum": [
"document",
"report",
"strategy"
],
"type": "string"
},
"subject": {
"anyOf": [
{
"type": "object",
"required": [
"refNum"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"awaiting": {
"type": "array",
"items": {
"type": "object",
"required": [
"status"
],
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
}
},
"additionalProperties": false
}
},
"closedAt": {
"type": [
"string",
"null"
]
},
"contacts": {
"anyOf": [
{
"type": "object",
"properties": {
"attorney": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"patentSpecialists": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"productSpecialist": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"myStatus": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": "string"
},
"agentDocId": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": [
"string",
"null"
]
},
"caseDocument": {
"anyOf": [
{
"type": "object",
"required": [
"documentId"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"instructions": {
"type": [
"string",
"null"
]
},
"participants": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"comment": {
"type": [
"string",
"null"
]
},
"respondedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"threads": {
"type": "array",
"items": {
"type": "object",
"required": [
"commentId",
"anchor",
"resolved",
"comments"
],
"properties": {
"anchor": {
"oneOf": [
{
"type": "object",
"required": [
"kind",
"section",
"block",
"quotedText"
],
"properties": {
"kind": {
"type": "string",
"const": "inline"
},
"block": {
"type": "string"
},
"section": {
"type": "string"
},
"quotedText": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"section"
],
"properties": {
"kind": {
"type": "string",
"const": "section"
},
"section": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "detached"
},
"path": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
]
},
"comments": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"authorId",
"time",
"text"
],
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"time": {
"type": "string"
},
"author": {
"type": [
"string",
"null"
]
},
"authorId": {
"type": "string"
},
"suggestedChange": {
"anyOf": [
{
"type": "object",
"required": [
"replacement"
],
"properties": {
"original": {
"type": [
"string",
"null"
]
},
"appliedAt": {
"type": [
"string",
"null"
]
},
"rationale": {
"type": [
"string",
"null"
]
},
"replacement": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"resolved": {
"type": "boolean"
},
"commentId": {
"type": "string"
}
},
"additionalProperties": false
}
},
"artifact": {
"type": "object",
"required": [
"status",
"markdown",
"amendments"
],
"properties": {
"reason": {
"type": "string"
},
"status": {
"enum": [
"rendered",
"notice",
"unavailable"
],
"type": "string"
},
"markdown": {
"type": [
"string",
"null"
]
},
"amendments": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"section",
"block",
"baseline",
"proposed",
"redline",
"patch"
],
"properties": {
"id": {
"type": "string"
},
"block": {
"type": "string"
},
"patch": {
"type": "string"
},
"source": {
"type": [
"string",
"null"
]
},
"redline": {
"type": "string"
},
"section": {
"type": "string"
},
"baseline": {
"type": "string"
},
"proposed": {
"type": "string"
},
"commentElementId": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"default": []
}
},
"additionalProperties": false
},
"discussion": {
"type": "array",
"items": {
"type": "object",
"required": [
"author",
"comment",
"createdAt"
],
"properties": {
"author": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"comment": {
"type": "string"
},
"createdAt": {
"type": "string"
}
},
"additionalProperties": false
}
},
"validation": {
"anyOf": [
{
"type": "object",
"required": [
"recommended",
"selected",
"validated"
],
"properties": {
"selected": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
},
"available": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"validated": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
},
"recommended": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}{
"title": "Read review in Lightbringer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}respond_to_review — Submit review response to Lightbringer
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review_id",
"response"
],
"properties": {
"message": {
"type": "string",
"maxLength": 2000,
"description": "The review response message"
},
"response": {
"enum": [
"approve",
"request_changes"
],
"type": "string",
"description": "The review response value"
},
"review_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The review identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review"
],
"properties": {
"review": {
"type": "object",
"required": [
"id",
"title",
"type",
"status",
"target",
"myRole",
"awaiting",
"createdAt",
"participants"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"myRole": {
"enum": [
"creator",
"participant"
],
"type": "string"
},
"status": {
"enum": [
"OPEN",
"CLOSED"
],
"type": "string"
},
"target": {
"enum": [
"document",
"report",
"strategy"
],
"type": "string"
},
"subject": {
"anyOf": [
{
"type": "object",
"required": [
"refNum"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"awaiting": {
"type": "array",
"items": {
"type": "object",
"required": [
"status"
],
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
}
},
"additionalProperties": false
}
},
"closedAt": {
"type": [
"string",
"null"
]
},
"contacts": {
"anyOf": [
{
"type": "object",
"properties": {
"attorney": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"patentSpecialists": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"productSpecialist": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"myStatus": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": "string"
},
"agentDocId": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": [
"string",
"null"
]
},
"caseDocument": {
"anyOf": [
{
"type": "object",
"required": [
"documentId"
],
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"refNum": {
"type": [
"string",
"null"
]
},
"documentId": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"instructions": {
"type": [
"string",
"null"
]
},
"participants": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"comment": {
"type": [
"string",
"null"
]
},
"respondedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Submit review response to Lightbringer",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}set_validation_countries — Set validation countries in Lightbringer
Sets the user's selection of countries on a validation review (type ENTRY_PLAN_VALIDATION): the countries a European patent is to be validated in, as two-letter EPC state codes or UP for the Unitary Patent. Replaces the whole selection; get_review shows the recommended and currently selected countries. Only a reviewer who has not yet approved, or a specialist, may change it while the review is open; a change sends earlier approvals back to pending. The review is then approved with respond_to_review.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review_id",
"countries"
],
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"maxItems": 40,
"minItems": 1,
"description": "The countries to validate in, as two-letter codes (UP for the Unitary Patent)"
},
"review_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The review identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"validation"
],
"properties": {
"validation": {
"type": "object",
"required": [
"recommended",
"selected",
"validated"
],
"properties": {
"selected": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
},
"available": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"validated": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
},
"recommended": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"unitaryPatentMember": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Set validation countries in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}add_comment — Add review comment in Lightbringer
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review_id",
"quoted_text",
"comment"
],
"properties": {
"comment": {
"type": "string",
"description": "The comment text"
},
"review_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The review identifier"
},
"quoted_text": {
"type": "string",
"description": "Quoted passage from the review markdown to anchor on"
},
"target_user_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_-]*[A-Za-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"description": "User identifiers to notify. Identifiers without document access are ignored."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status"
],
"properties": {
"hint": {
"type": "string"
},
"hints": {
"type": "array",
"items": {
"type": "string"
}
},
"anchor": {
"oneOf": [
{
"type": "object",
"required": [
"kind",
"section",
"block",
"quotedText"
],
"properties": {
"kind": {
"type": "string",
"const": "inline"
},
"block": {
"type": "string"
},
"section": {
"type": "string"
},
"quotedText": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"section"
],
"properties": {
"kind": {
"type": "string",
"const": "section"
},
"section": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "detached"
},
"path": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
]
},
"status": {
"enum": [
"created",
"ambiguous",
"not_found",
"unsupported"
],
"type": "string"
},
"replyTo": {
"type": "string"
},
"commentId": {
"type": "string"
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"required": [
"section",
"contextBefore",
"quotedText",
"contextAfter"
],
"properties": {
"block": {
"type": "string"
},
"section": {
"type": "string"
},
"quotedText": {
"type": "string"
},
"contextAfter": {
"type": "string"
},
"contextBefore": {
"type": "string"
}
},
"additionalProperties": false
}
},
"instructions": {
"type": "string"
},
"mentionedUserIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"title": "Add review comment in Lightbringer",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}add_discussion_comment — Add review discussion comment in Lightbringer
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review_id",
"comment"
],
"properties": {
"comment": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "The comment text"
},
"review_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The review identifier"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"discussion"
],
"properties": {
"discussion": {
"type": "array",
"items": {
"type": "object",
"required": [
"author",
"comment",
"createdAt"
],
"properties": {
"author": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"comment": {
"type": "string"
},
"createdAt": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "Add review discussion comment in Lightbringer",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}reply_to_comment — Reply to review comment in Lightbringer
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"review_id",
"comment_id",
"comment"
],
"properties": {
"comment": {
"type": "string",
"description": "The reply text"
},
"review_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "The review identifier"
},
"comment_id": {
"type": "string",
"description": "The comment thread identifier"
},
"target_user_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9](?:[A-Za-z0-9_-]*[A-Za-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"description": "User identifiers to notify. Identifiers without target access are ignored."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"commentId"
],
"properties": {
"commentId": {
"type": "string"
},
"mentionedUserIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"title": "Reply to review comment in Lightbringer",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}list_trade_secrets — List trade secret register in Lightbringer
Lists the trade secret register entries the user can open in the connected Lightbringer organisation, as index rows: reference, title, status and dates. Entry content is not included. Which entries appear follows the user’s register access in Lightbringer, and an empty list means the user can open none. Returns up to 25 entries per page with a cursor for the next page.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 25,
"minimum": 1,
"description": "How many register entries to return"
},
"cursor": {
"type": "string",
"pattern": "^\\d{1,9}$",
"description": "nextCursor from the previous page"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"entries",
"nextCursor"
],
"properties": {
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"tradeSecretId",
"reference",
"title",
"status",
"statusChangedAt",
"markedAt"
],
"properties": {
"title": {
"type": [
"string",
"null"
],
"description": "Non-revealing title, or null when none has been set"
},
"status": {
"anyOf": [
{
"enum": [
"SECRET",
"DISCLOSED_UNDER_OBLIGATION",
"PUBLISHED",
"LOST"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Assessed status; null means not assessed, not that the entry is secret"
},
"markedAt": {
"type": "string",
"description": "When the entry was marked as a trade secret (ISO 8601, UTC)"
},
"reference": {
"type": "string",
"description": "Register reference, such as TS-0001"
},
"tradeSecretId": {
"type": "string",
"description": "Register entry identifier"
},
"statusChangedAt": {
"type": [
"string",
"null"
],
"description": "Date the status last changed (YYYY-MM-DD)"
}
},
"additionalProperties": false
}
},
"nextCursor": {
"type": [
"string",
"null"
],
"description": "Cursor for the next page; null on the last page"
}
},
"additionalProperties": false
}{
"title": "List trade secret register in Lightbringer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}request_upload_url — Request Lightbringer file upload link
Starts uploading one file to Lightbringer: an illustration such as a sketch or diagram for a draft innovation (destination kind illustration), which becomes the next drawing in its Illustrations section, or a file for a folder in the organisation's vault (destination kind vault). Returns a URL the file is PUT to directly, valid for 15 minutes, a curl command that uploads it from disk, and the destination page where the user can add it in the app instead. The file itself is uploaded; its contents are not accepted as text. Files up to 25 MB. Illustrations: PNG, JPEG or WebP. Vault: PDF, Office documents (Word, Excel, PowerPoint, OpenDocument, RTF), images (PNG, JPEG, WebP), and text or code files. A vault file name must be free in its folder.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"destination",
"file_name",
"content_length"
],
"properties": {
"file_name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "The file name, with its extension; the attachment is listed under this name"
},
"destination": {
"type": "object",
"required": [
"kind"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "For illustration: the innovation id (invention_id). Not used for vault."
},
"kind": {
"enum": [
"illustration",
"vault"
],
"type": "string",
"description": "illustration for an image added to an innovation's Illustrations section; vault for a file stored in the organisation's vault"
},
"path": {
"type": "string",
"maxLength": 1024,
"description": "For vault: the folder, such as /Contracts/2026. Missing folders are created; the vault root when omitted. Not used for the other kinds."
}
},
"description": "Where the file goes: a draft innovation's Illustrations section, or a vault folder"
},
"content_length": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The exact file size in bytes",
"exclusiveMinimum": 0
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"upload_id",
"upload_request",
"expires_at",
"destination_url",
"curl",
"next_steps"
],
"properties": {
"curl": {
"type": "string"
},
"upload_id": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"next_steps": {
"type": "string"
},
"upload_request": {
"type": "object",
"required": [
"url",
"method",
"headers"
],
"properties": {
"url": {
"type": "string"
},
"method": {
"type": "string",
"const": "PUT"
},
"headers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
},
"destination_url": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}{
"title": "Request Lightbringer file upload link",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}register_upload — Attach uploaded file in Lightbringer
Finishes an upload after the file was PUT to the URL from request_upload_url: checks it and adds it to the destination, as the next drawing in an innovation's Illustrations section or as a file in a vault folder. Until this succeeds the file is not added. If the file has not arrived yet, or Lightbringer asks to try again, the same upload can be registered again. Registering again after success returns the same result.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"upload_id"
],
"properties": {
"upload_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 64,
"minLength": 1,
"description": "upload_id from request_upload_url"
},
"description": {
"type": "string",
"maxLength": 4096,
"description": "Illustrations only: what the drawing shows, in plain text. Shown under it in the Illustrations section."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"attachment",
"illustration",
"size_bytes",
"destination_url",
"summary"
],
"properties": {
"summary": {
"type": "string"
},
"attachment": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"fileName",
"mimeType",
"source",
"createdAt"
],
"properties": {
"id": {
"type": "string"
},
"ref": {
"type": [
"string",
"null"
]
},
"source": {
"type": "string"
},
"fileName": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"createdAt": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"size_bytes": {
"type": [
"number",
"null"
]
},
"vault_file": {
"type": "object",
"required": [
"id",
"name",
"path",
"mimeType",
"sizeBytes"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"mimeType": {
"type": [
"string",
"null"
]
},
"sizeBytes": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
"illustration": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"number",
"name",
"description"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"number": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"description": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"destination_url": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}{
"title": "Attach uploaded file in Lightbringer",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
5 advertised
draft-strategy — Develop and save a draft strategy
Develop an IP strategy conversationally or from existing material and save a populated draft.
draft-invention-disclosure — Capture and save an innovation
Capture and save an innovation, or enrich an existing record, using the current capture guide.
start-innovation-feedback — Get feedback on an innovation
Runs automated analysis of the innovation description on an innovation and helps interpret the findings.
- invention
- Which invention (autocompletes from your inventions) (required)
- focus
- No description
request-patent-preparation — Request patent preparation
Request Lightbringer patent preparation for a selected registered innovation and report the confirmed outcome.
- invention
- Which invention (autocompletes from your inventions) (required)
summarize-my-reviews — Summarise my reviews
Overview of reviews waiting for you, with help reading, commenting, and responding.
Resources
1 advertised
Lightbringer review inbox
ui://lightbringer/review-inbox.html90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 6629 ms
- 95th percentile latency
- 6629 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 6629 ms · metadata changed · 41 tool(s), 1 resource(s), 0 resource template(s), 5 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http lightbringer-mcp https://mcp.lightbringer.com/mcpCodex
codex mcp add lightbringer-mcp --url https://mcp.lightbringer.com/mcpCursor
{
"mcpServers": {
"lightbringer-mcp": {
"url": "https://mcp.lightbringer.com/mcp"
}
}
}Cline
{
"mcpServers": {
"lightbringer-mcp": {
"type": "streamableHttp",
"url": "https://mcp.lightbringer.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"lightbringer-mcp": {
"type": "http",
"url": "https://mcp.lightbringer.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http lightbringer-mcp https://mcp.lightbringer.com/mcpClaude Desktop
https://mcp.lightbringer.com/mcpWindsurf
{
"mcpServers": {
"lightbringer-mcp": {
"serverUrl": "https://mcp.lightbringer.com/mcp"
}
}
}Let your agent find its tools
Find servers like Lightbringer MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Lightbringer MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.