| { |
| "name": "save_document", |
| "description": "Create or update a Linear document. If `id` is provided, updates the existing document; otherwise creates a new one. When creating, `title` is required and exactly one parent (`project`, `issue`, `initiative`, `cycle`, or `team`) must be specified. On update, passing a parent reparents the document.", |
| "inputSchema": { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "type": "object", |
| "properties": { |
| "id": { |
| "description": "Document ID or slug to update. Omit to create a new document.", |
| "type": "string" |
| }, |
| "title": { |
| "description": "Document title (required when creating)", |
| "type": "string" |
| }, |
| "content": { |
| "description": "Content as Markdown. Do not escape the string — use literal newlines and special characters, not escape sequences. To mention a user, use @displayName (e.g., @johndoe)", |
| "type": "string" |
| }, |
| "project": { |
| "description": "Project name, ID, or slug", |
| "type": "string" |
| }, |
| "issue": { |
| "description": "Issue ID or identifier (e.g., LIN-123)", |
| "type": "string" |
| }, |
| "initiative": { |
| "description": "Initiative name or ID", |
| "type": "string" |
| }, |
| "cycle": { |
| "description": "Cycle name, number, or ID. When passing a name or number, also pass `team` to disambiguate.", |
| "type": "string" |
| }, |
| "team": { |
| "description": "Team name or ID. Attaches the document to the team, unless `cycle` is also passed, in which case it disambiguates the cycle.", |
| "type": "string" |
| }, |
| "icon": { |
| "description": "Icon name or emoji code (e.g. \"Rocket\" or \":eagle:\"), not a raw Unicode emoji", |
| "type": "string" |
| }, |
| "color": { |
| "description": "Hex color", |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false |
| } |
| } |