n8n-bookstack-agent-tool
Version:
Comprehensive BookStack API integration tool for n8n AI Agent with MCP framework compatibility
347 lines (346 loc) • 11.6 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BookStack n8n Agent Tool Commands",
"description": "Available commands for the BookStack n8n Agent Tool with MCP framework compatibility",
"type": "object",
"properties": {
"commands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"inputSchema": {
"type": "object",
"properties": {
"type": { "type": "string" },
"properties": { "type": "object" },
"required": { "type": "array", "items": { "type": "string" } }
}
}
}
}
}
},
"commands": [
{
"name": "getDocs",
"description": "Load the docs page for the API.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
},
{
"name": "getDocsJson",
"description": "Show a JSON view of the API docs data.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
},
{
"name": "listAttachments",
"description": "Get a listing of attachments visible to the user. The external property indicates whether the attachment is simple a link.",
"inputSchema": {
"type": "object",
"properties": {
"count": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Number of records to return" },
"offset": { "type": "integer", "minimum": 0, "description": "Number of records to skip" },
"sort": { "type": "string", "description": "Field to sort by with optional +/- prefix" }
},
"required": []
}
},
{
"name": "createAttachment",
"description": "Create a new attachment in the system. An uploaded_to value must be provided containing an ID of the page.",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "name field" },
"uploaded_to": { "type": "integer", "description": "uploaded_to field" },
"link": { "type": "string", "description": "link field" },
"file": { "type": "string", "description": "file field" }
},
"required": ["uploaded_to"]
}
},
{
"name": "getAttachment",
"description": "Get the details & content of a single attachment of the given ID.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "updateAttachment",
"description": "Update the details of a single attachment.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" },
"name": { "type": "string", "description": "name field" },
"link": { "type": "string", "description": "link field" }
},
"required": ["id"]
}
},
{
"name": "deleteAttachment",
"description": "Delete an attachment of the given ID.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "listBooks",
"description": "Get a listing of books visible to the user.",
"inputSchema": {
"type": "object",
"properties": {
"count": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Number of records to return" },
"offset": { "type": "integer", "minimum": 0, "description": "Number of records to skip" },
"sort": { "type": "string", "description": "Field to sort by with optional +/- prefix" }
},
"required": []
}
},
{
"name": "createBook",
"description": "Create a new book in the system.",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "name field" },
"description": { "type": "string", "description": "description field" },
"tags": { "type": "array", "description": "tags field" }
},
"required": ["name"]
}
},
{
"name": "getBook",
"description": "View the details of a single book.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "updateBook",
"description": "Update the details of a single book.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" },
"name": { "type": "string", "description": "name field" },
"description": { "type": "string", "description": "description field" },
"tags": { "type": "array", "description": "tags field" }
},
"required": ["id"]
}
},
{
"name": "deleteBook",
"description": "Delete a single book. This will typically send the book to the recycle bin.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "exportBookHtml",
"description": "Export a book as a contained HTML file.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "exportBookPdf",
"description": "Export a book as a PDF file.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "exportBookPlaintext",
"description": "Export a book as a plain text file.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "exportBookMarkdown",
"description": "Export a book as a markdown file.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "listChapters",
"description": "Get a listing of chapters visible to the user.",
"inputSchema": {
"type": "object",
"properties": {
"count": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Number of records to return" },
"offset": { "type": "integer", "minimum": 0, "description": "Number of records to skip" },
"sort": { "type": "string", "description": "Field to sort by with optional +/- prefix" }
},
"required": []
}
},
{
"name": "createChapter",
"description": "Create a new chapter in the system.",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "name field" },
"description": { "type": "string", "description": "description field" },
"book_id": { "type": "integer", "description": "book_id field" },
"tags": { "type": "array", "description": "tags field" }
},
"required": ["name", "book_id"]
}
},
{
"name": "getChapter",
"description": "View the details of a single chapter.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "updateChapter",
"description": "Update the details of a single chapter.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" },
"name": { "type": "string", "description": "name field" },
"description": { "type": "string", "description": "description field" },
"book_id": { "type": "integer", "description": "book_id field" },
"tags": { "type": "array", "description": "tags field" }
},
"required": ["id"]
}
},
{
"name": "deleteChapter",
"description": "Delete a chapter. This will typically send the chapter to the recycle bin.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "listPages",
"description": "Get a listing of pages visible to the user.",
"inputSchema": {
"type": "object",
"properties": {
"count": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Number of records to return" },
"offset": { "type": "integer", "minimum": 0, "description": "Number of records to skip" },
"sort": { "type": "string", "description": "Field to sort by with optional +/- prefix" }
},
"required": []
}
},
{
"name": "createPage",
"description": "Create a new page in the system. The ID of a parent book or chapter is required.",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "name field" },
"html": { "type": "string", "description": "html field" },
"markdown": { "type": "string", "description": "markdown field" },
"book_id": { "type": "integer", "description": "book_id field" },
"chapter_id": { "type": "integer", "description": "chapter_id field" },
"tags": { "type": "array", "description": "tags field" }
},
"required": ["name"]
}
},
{
"name": "getPage",
"description": "View the details of a single page.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
},
{
"name": "updatePage",
"description": "Update the details of a single page.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" },
"name": { "type": "string", "description": "name field" },
"html": { "type": "string", "description": "html field" },
"markdown": { "type": "string", "description": "markdown field" },
"book_id": { "type": "integer", "description": "book_id field" },
"chapter_id": { "type": "integer", "description": "chapter_id field" },
"tags": { "type": "array", "description": "tags field" }
},
"required": ["id"]
}
},
{
"name": "deletePage",
"description": "Delete a page. This will typically send the page to the recycle bin.",
"inputSchema": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "id parameter" }
},
"required": ["id"]
}
}
]
}