Servidor MCP

Lightbringer

com.lightbringer/connector

Qué hace este MCP

Captures and analyzes inventions, manages patent-related documents and reviews, supports collaboration, and requests patent preparation services.

add_comment
Add review comment
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.
Destructivo
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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}
add_discussion_comment
Add discussion comment
Posts a standalone comment to the review's discussion feed, visible to the review creator and all participants, and returns the updated discussion. Unlike add_comment, it is not anchored to a passage of the document — it suits general remarks, questions, or status updates about the review as a whole. Eligible review participants receive in-app and email notifications.
Destructivo
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
delete_task
Delete automated task
Permanently deletes an automated task owned by the current user in the connected organisation, including its cached findings. Available in any execution state. Deletion removes tracking; it does not cancel upstream analysis, delete the innovation, or withdraw a professional service request. Repeated deletion returns not_found.
Destructivo Idempotente
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
fetch
Fetch
Returns the full content of a single document — invention, patent application, strategy, or report — or a meeting identified by its search result ID. 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.
Solo lectura
Esquema de entrada
{'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 a document identifier'}}}
Esquema de salida
{'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'}, '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'}, 'metadata': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
get_innovation
Get innovation
Returns an innovation record rendered as markdown, including the problem, solution, technical details, and prior art.
Solo lectura
Esquema de entrada
{'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)'}}}
Esquema de salida
{'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'}}, 'additionalProperties': False}
get_innovation_template
Get innovation registration template
Returns the current innovation registration template: the schema, per-field guidance, and structure used to create a new innovation, together with capture guidance on gathering the innovation content — interviewing an inventor who is present, or authoring from existing material — before drafting.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'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': {}}
get_review
Get review
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.
Solo lectura
Esquema de entrada
{'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'}}}
Esquema de salida
{'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'], '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}}}, 'additionalProperties': False}
get_task_status
Get automated task status
Returns an automated feedback task by task_id, with the same status, progress, findings and per-analysis errors as start_innovation_feedback. Refreshes active analyses and saves their status and available findings in Lightbringer. Succeeded, partially_succeeded and failed are terminal; queued and running tasks are still in progress. findings_error denotes unavailable findings and does not change terminal execution status. This endpoint does not track professional service requests, patent preparation or filing milestones.
Esquema de entrada
{'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 returned by start_innovation_feedback'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'status', 'progress', 'results'], 'properties': {'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}
import_patent
Import patent publication
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.
Acceso externo Idempotente
Esquema de entrada
{'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â\x80\x99s own portfolio; competitor for someone elseâ\x80\x99s patent'}, 'publicationNumber': {'type': 'string', 'pattern': '^[A-Za-z0-9\\s.,/-]+$', 'maxLength': 64, 'minLength': 1}, 'competitorCompanyName': {'type': 'string', 'maxLength': 191, 'minLength': 1}}}
Esquema de salida
{'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}
list_innovations
List innovations
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.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'description': 'Free-text filter on title/reference'}}}
Esquema de salida
{'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}
list_reviews
List reviews
Lists reviews where the user is a participant or creator, including each review's status, the user's response status, which participants are still awaited, the title and reference number of the report or case under review, and, for report reviews, the invention the report is connected to.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'status': {'enum': ['open', 'closed'], 'type': 'string', 'description': 'Filter by review status'}}}
Esquema de salida
{'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'], '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}
list_tasks
List automated tasks
Lists the current user’s unexpired automated tasks in the connected organisation, optionally for an innovation. Recovers task IDs after a lost response or conversation. Returns recorded status summaries without polling upstream analyses. Tasks and findings expire 30 days after creation. Pagination can return an empty page with a continuation cursor. Professional service requests are separate.
Solo lectura
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
refresh_patent_family
Refresh saved patent family
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.
Acceso externo Idempotente
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
register_innovation
Register innovation
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.
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
reply_to_comment
Reply to comment thread
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.
Destructivo
Esquema de entrada
{'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.'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['commentId'], 'properties': {'commentId': {'type': 'string'}, 'mentionedUserIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
request_patent_preparation
Request 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 inventor. Returns whether preparation was newly requested or had already been requested. Email delivery status is not included. Separate from registration; does not itself complete preparation, file a patent or pay for services.
Destructivo Idempotente
Esquema de entrada
{'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)'}}}
Esquema de salida
{'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}
respond_to_review
Respond to review
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.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['review_id', 'response'], 'properties': {'message': {'type': 'string', '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'}}}
Esquema de salida
{'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'], '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}
search
Search
Searches the Lightbringer organisation's documents (inventions, patent applications, and reports) and meetings. The "meeting" category filters by title, reference, or indexed transcript/canvas text. Meeting result IDs resolve through fetch to canvas and transcript text. Returns matching results, each with an ID, title, and summary. A document result also lists its parts: the texts it has accumulated across its lifecycle (innovation description, priority draft, application text revisions), each with an ID that fetch accepts. Supports cursor-based pagination. Document content is indexed asynchronously, so a recently created or edited document can take a short while to become searchable; an empty result reflects the current index and does not by itself establish that a matching document is absent.
Solo lectura
Esquema de entrada
{'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', 'meeting'], 'type': 'string'}}}
Esquema de salida
{'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'}, 'metadata': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}}, 'nextCursor': {'type': ['string', 'null']}}, 'additionalProperties': False}
search_public_patents
Search public patents
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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'}}}
Esquema de salida
{'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'}, '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}
send_developer_feedback
Send developer feedback
Sends a report about the Lightbringer tools themselves to the engineering team: broken or surprising tool behaviour, missing capabilities, or friction encountered while working. Reports are sent to a human-reviewed engineering Slack channel, together with user, organisation, and connected-client identifiers and organisation name when available, and are not visible to the signed-in user. A good report stays high-level — the goal, the approach, the obstacle — and leaves out document text, invention details, and other confidential material.
Destructivo
Esquema de entrada
{'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 capability, general for anything else'}, 'feedback': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'What was being attempted, how, and what got in the way â\x80\x94 high-level, without document text or invention details'}, 'tool_name': {'type': 'string', 'maxLength': 100, 'description': 'The specific tool the report concerns, when there is one'}}}
Esquema de salida
{'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}
start_innovation_feedback
Start innovation feedback
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.
Esquema de entrada
{'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)'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'status', 'progress', 'results'], 'properties': {'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}
update_innovation
Update innovation sections
Updates one or more sections of an existing innovation record with new content and returns the updated innovation. Overwrites the specified sections.
Destructivo Idempotente
Esquema de entrada
{'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)'}}}
Esquema de salida
{'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'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
whoami
Who am I
Returns the signed-in Lightbringer user and organisation for this connection.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'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}, 'organisation': {'type': 'object', 'properties': {'name': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
Añadido
refresh_patent_family
1 de October de 2026 a las 02:53
Añadido
import_patent
1 de October de 2026 a las 02:53
Añadido
search_public_patents
1 de October de 2026 a las 02:53
Modificado
fetch
1 de October de 2026 a las 02:53
Modificado
search
1 de October de 2026 a las 02:53
Añadido
reply_to_comment
17 de September de 2026 a las 12:35
Añadido
add_discussion_comment
17 de September de 2026 a las 12:35
Añadido
add_comment
17 de September de 2026 a las 12:35
Añadido
respond_to_review
17 de September de 2026 a las 12:35
Añadido
get_review
17 de September de 2026 a las 12:35
Añadido
list_reviews
17 de September de 2026 a las 12:35
Añadido
send_developer_feedback
17 de September de 2026 a las 12:35
Añadido
get_task_status
17 de September de 2026 a las 12:35
Añadido
start_innovation_feedback
17 de September de 2026 a las 12:35
Añadido
delete_task
17 de September de 2026 a las 12:35
Añadido
list_tasks
17 de September de 2026 a las 12:35
Añadido
fetch
17 de September de 2026 a las 12:35
Añadido
search
17 de September de 2026 a las 12:35
Añadido
register_innovation
17 de September de 2026 a las 12:35
Añadido
get_innovation_template
17 de September de 2026 a las 12:35
Añadido
request_patent_preparation
17 de September de 2026 a las 12:35
Añadido
update_innovation
17 de September de 2026 a las 12:35
Añadido
get_innovation
17 de September de 2026 a las 12:35
Añadido
list_innovations
17 de September de 2026 a las 12:35
Añadido
whoami
17 de September de 2026 a las 12:35