{"count":8,"next_page":null,"page":1,"page_count":1,"per_page":30,"previous_page":null,"articles":[{"id":39503171212189,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/39503171212189.json","html_url":"https://help.learnosity.com/hc/en-us/articles/39503171212189-About-Learnosity-Build-Aide-MCP","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":0,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-09-29T04:58:20Z","updated_at":"2026-11-02T11:35:14Z","name":"About Learnosity Build Aide MCP","title":"About Learnosity Build Aide MCP","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-11-02T09:32:54Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<p>The Learnosity Build Aide MCP server is a hosted Model Context Protocol service that connects compatible AI coding assistants to Learnosity documentation and integration guidance.</p><p>Once connected, your AI coding assistant can answer questions about Learnosity, look up API and SDK information, create API request blueprints, and guide you through common integration workflows using Learnosity documentation as its source.</p><p>There is nothing to install or maintain on your own infrastructure. Connect your MCP-compatible client to the Learnosity Build Aide MCP server to get started.</p><h2 id=\"h_01M3NR9WDSNJH8FNS88W1R17TE\">Who should use Learnosity Build Aide MCP</h2><ul>\n<li data-list-item-id=\"eed0dfbbff12311679c5abf31831ce6e2\">Developers building their first Learnosity integration.</li>\n<li data-list-item-id=\"ea2be48be44d5d1961570cce152321289\">Developers troubleshooting an existing integration.</li>\n<li data-list-item-id=\"efb8f381215bd56e6e4520db29d6f4c45\">Teams upgrading between Learnosity LTS versions.</li>\n<li data-list-item-id=\"eed5ed21580a3272875466ab673cf4a03\">Developers debugging an existing integration.</li>\n<li data-list-item-id=\"e9d90449b32dfa81310dfc4da8356184d\">Developers evaluating Learnosity integration requirements.</li>\n</ul><h2 id=\"h_01M3NR9WDSHJ8E0HSVPK8F147Z\">What Learnosity Build Aide MCP does</h2><ul>\n<li data-list-item-id=\"e0051b572fd6175d48fe6f07ffeb288bd\">Searches Learnosity documentation.</li>\n<li data-list-item-id=\"e7b5edaea1ee03d695d175a1cb6b8d42b\">Provides source-backed answers.</li>\n<li data-list-item-id=\"e350c75a90262056eb8c41976ea31199c\">Provides API and SDK guidance.</li>\n<li data-list-item-id=\"e2f67f4de53187d89506783e3777c79a4\">Guides developers through supported integration workflows.</li>\n<li data-list-item-id=\"ec16ec77bac05ac529ed6b5f9162ea507\">Provides version-aware guidance where available.</li>\n</ul><h2 id=\"h_01M3NR9WDTYBDMBSF2095KESMW\">What Learnosity Build Aide MCP does not do</h2><p>The Learnosity Build Aide MCP server operates entirely at development time. It does not:</p><ul>\n<li data-list-item-id=\"eec2e401c7d890ead8eec94dac1f44e27\">sign requests.</li>\n<li data-list-item-id=\"ee612f7c9794bc675ab402608bd4645bc\">execute requests against Learnosity APIs.</li>\n<li data-list-item-id=\"e307ce5f7f3a7c2f909603e56201b1f8d\">load, store, or transmit your consumer keys or secrets.</li>\n<li data-list-item-id=\"e849108157e1dff34d03c1fdd09d1292d\">prescribe or impose an application architecture.</li>\n<li data-list-item-id=\"e8386cab57ac5fb6d8cb8644ea56f951b\">interact with assessment delivery or any live runtime infrastructure.</li>\n</ul><p>The server returns guidance, request blueprints, and reference material. Signing, credential handling, persistence, and request execution all remain the responsibility of your application and its runtime.</p><p>Every tool the server exposes is read-only. The tools cannot write, modify, or delete data.</p><p> </p><!-- Usersnap form for MCP docs --><div style=\"margin: auto; width: 420px;\" id=\"mcpDocsInlineForm\"></div><script>\n    window.onUsersnapMCPDocsLoad = function(api) {\n      // mountNode is an element in which the widget should be rendered\n      api.init({ mountNode: document.getElementById('mcpDocsInlineForm') });\n    };\n    var script = document.createElement('script');\n    script.defer = 1;\n    script.src = 'https://widget.usersnap.com/embed/load/94def54f-52ae-4a9c-bce9-5f1c53f7af1d?onload=onUsersnapMCPDocsLoad';\n    document.getElementsByTagName('head')[0].appendChild(script);\n  </script>","user_segment_ids":[]},{"id":39503747254813,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/39503747254813.json","html_url":"https://help.learnosity.com/hc/en-us/articles/39503747254813-Getting-started-with-Learnosity-Build-Aide-MCP","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":1,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-09-29T05:40:09Z","updated_at":"2026-11-04T10:16:55Z","name":"Getting started with Learnosity Build Aide MCP","title":"Getting started with Learnosity Build Aide MCP","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-11-04T10:16:55Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<h2 id=\"h_01M3NT9Q7Y29XHG0HNEQDRAWPX\">Before you begin</h2><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Requirement</th>\n<th>Detail</th>\n</tr></thead>\n<tbody>\n<tr>\n<td>MCP-compatible client</td>\n<td>VS Code, Cursor, Kiro, Claude Code, or any client supporting the MCP HTTP transport</td>\n</tr>\n<tr>\n<td>Network access</td>\n<td>Outbound HTTPS to <code>mcp.learnosity.com</code>\n</td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td>None. The server is open and requires no API key or account</td>\n</tr>\n</tbody>\n</table></figure><p>No Learnosity credentials are required to use this MCP server. You will of course need them to run the integration you build.</p><h2 id=\"h_01M3NTF0VZRJ0PB0WWTY0KCH4N\">Connect to Learnosity Build Aide MCP</h2><h3 id=\"h_01M3NTF0VZB5H2J834YXEN6TWD\">Install Learnosity Build Aide MCP from your client</h3><p>The Learnosity Build Aide MCP server is distributed through the marketplaces, extension directories, and plugin stores of all major MCP-compatible clients. In most cases, connecting takes two steps:</p><ol>\n<li data-list-item-id=\"ef5dcf2fa909e88cdbea382b5cb290db3\">Open your client's MCP server directory, extension marketplace, or plugin store.</li>\n<li data-list-item-id=\"e45c351c2aebded5b90b92076fbd1bff1\">Search for Learnosity Build Aide MCP, then click Install (or Connect, depending on the client).</li>\n</ol><p>There is no account to create, no API key to paste, and no configuration file to edit.</p><h3 id=\"h_01M3NTF0VZJ1H0PRTX8FPYT175\">Connect to Learnosity Build Aide MCP manually</h3><p>If your client does not list the Learnosity Build Aide MCP server in its directory, or you prefer to configure it yourself, add the following to your <code>mcp.json</code>:</p><pre class=\"language-auto\">{\n  \"mcpServers\": {\n    \"learnosity-build-aide\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.learnosity.com/build/build-aide\"\n    }\n  }\n}</pre><h2 id=\"h_01M3NTTSJ78HE1CNJ8RRRNBZ1F\">Confirm your connection</h2><p>Restart or reload your client, then open its MCP servers panel. The Learnosity Build Aide MCP server (or <code>learnosity-build-aide</code>, if you connected manually) should appear as <code>learnosity-build-aide</code> should appear as Connected, with the Learnosity tools listed beneath it.</p><p>Try one of these prompts to confirm the MCP server is actually being consulted. For example:</p><ul>\n<li data-list-item-id=\"efe9e6c508d5b8afb7d9af9d1cb0cc9e5\">\"Using the Learnosity Build Aide MCP, show me the init options available for <code>LearnosityAuthor.init</code>.\"</li>\n<li data-list-item-id=\"e0731c2388231881471ba8ed0e519d408\">\"Use the Learnosity Build Aide MCP to walk me through the golden path: authoring an Item, delivering it, and reporting on the result.\"</li>\n<li data-list-item-id=\"e3c267890fb96ab67b096f8e453e95fbb\">\"With the Learnosity Build Aide MCP, explain how to generate a valid request signature in Node.js.\"</li>\n</ul><p>If your assistant answers without referencing the server, prompt it explicitly - most clients let you name a server directly.</p><!-- Usersnap form for MCP docs --><div style=\"margin: auto; width: 420px;\" id=\"mcpDocsInlineForm\"></div><script>\n    window.onUsersnapMCPDocsLoad = function(api) {\n      // mountNode is an element in which the widget should be rendered\n      api.init({ mountNode: document.getElementById('mcpDocsInlineForm') });\n    };\n    var script = document.createElement('script');\n    script.defer = 1;\n    script.src = 'https://widget.usersnap.com/embed/load/94def54f-52ae-4a9c-bce9-5f1c53f7af1d?onload=onUsersnapMCPDocsLoad';\n    document.getElementsByTagName('head')[0].appendChild(script);\n  </script>","user_segment_ids":[]},{"id":39537602360477,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/39537602360477.json","html_url":"https://help.learnosity.com/hc/en-us/articles/39537602360477-Using-Learnosity-Build-Aide-MCP","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":2,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-09-30T08:51:30Z","updated_at":"2026-11-02T11:34:53Z","name":"Using Learnosity Build Aide MCP","title":"Using Learnosity Build Aide MCP","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-11-02T09:48:51Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<h2 id=\"h_01M3RGVBRQWCQJGY531AH5603Z\">Documentation available through Learnosity Build Aide MCP</h2><p>The Learnosity Build Aide MCP server indexes Learnosity's published documentation and makes it searchable and retrievable by your assistant. Learnosity Build Aide MCP retrieves information from these sources to provide documentation-grounded guidance.</p><ul>\n<li data-list-item-id=\"ec3f351ff9d6a3debf642d9d921c6e91b\">\n<a href=\"https://help.learnosity.com\">Learnosity help site</a> - API reference, integration guides, technical documentation, and how-to articles.</li>\n<li data-list-item-id=\"e31d842c2ad46bcb14397bccafc145bd9\">\n<a href=\"https://authorguide.learnosity.com\">Author guide</a> - Authoring workflows, question types, and content creation in the Author Site.</li>\n<li data-list-item-id=\"ed71c7296fd68c49d6acc92ca534340f0\">\n<a href=\"https://feedbackaide.learnosity.com/docs\">Feedback Aide documentation</a> - Feedback Aide API reference, including endpoints and request and response formats.</li>\n<li data-list-item-id=\"e3034347b82397a98882c0e0720098fd7\">\n<a href=\"https://demos.learnosity.com\">Learnosity demos</a> - Learnosity API and partner demos.</li>\n<li data-list-item-id=\"eb68b7a262297cbb4515f76f19b9bc76c\">\n<a href=\"https://github.com/Learnosity\">Learnosity on GitHub</a> - Learnosity's public repositories, including SDKs, demos, and reference implementations.</li>\n</ul><p>Because the assistant retrieves from these sources directly, it can cite where an answer came from, and will tell you when documentation does not cover a topic rather than filling the gap with a guess.</p><h2 id=\"h_01M3RGVBRQGAARCB80JVCAA2BG\">Tools</h2><p>The server exposes eight read-only tools in three groups:</p><ul>\n<li data-list-item-id=\"e9054143d9db94b3e5051ef2489965840\">Documentation tools for discovering, searching, and retrieving Learnosity documentation.</li>\n<li data-list-item-id=\"e74a87a60e08141a87fdc668c237ace4e\">Skills tools for discovering and retrieving Learnosity skills.</li>\n<li data-list-item-id=\"e7fe4ae3ed49fb5aac4e82e75b7f5514a\">Feedback tools for sharing feedback on Learnosity Build Aide MCP.</li>\n</ul><p>Some documentation tools accept a source identifier to specify which documentation sources to use. The available source identifiers are:</p><ul>\n<li data-list-item-id=\"e73819fd17599f6750d98a15763961c2e\">Learnosity help site: <code>help_site</code>\n</li>\n<li data-list-item-id=\"eed195c0eeb22620e8652a4daa11f4a78\">Author guide: <code>author_guide</code>\n</li>\n<li data-list-item-id=\"e76a0a138e0231be7a8e62f73c337069a\">Feedback Aide: <code>feedback_aide</code>\n</li>\n<li data-list-item-id=\"e9c1d2b0b34028a8b21587565a2448863\">Learnosity demos: <code>demos</code>\n</li>\n<li data-list-item-id=\"ed856a949881fe0b9a272cfed7887d53a\">Learnosity on GitHub: <code>github</code>\n</li>\n</ul><h3 id=\"h_01M3RGVBRQN88303ST1A6RCWW8\">Documentation tools</h3><h4 id=\"h_01M3RGVBRQJH62QS2AEKVQZJWC\"><code>list_docs_sources</code></h4><p>Lists the configured documentation sources. Use this tool to identify the available sources and their source identifiers.</p><p>This tool does not require any parameters. It returns the source identifier, type, and title for each configured source.</p><h4 id=\"h_01M3RH1MG1CACYYVP2C5JPJ945\"><code>list_docs_categories</code></h4><p>Lists the available documentation categories.</p><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr></thead>\n<tbody><tr>\n<td><code>source</code></td>\n<td>string or null</td>\n<td>No</td>\n<td>Source identifier to retrieve categories from. The default is null, which returns categories from all sources.</td>\n</tr></tbody>\n</table></figure><p>The response includes the source, category identifier, and category name. Results are sorted by source and then by category name.</p><p>Categories are available for the Learnosity help site and author guide. Feedback Aide, Learnosity demos, and GitHub do not use categories.</p><h4 id=\"h_01M3RH1MG22X4GN7N4F0C26081\"><code>search_docs_sources</code></h4><p>Searches the indexed Learnosity documentation. Use this as the primary tool for discovering relevant documentation.</p><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>query</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Search query.</td>\n</tr>\n<tr>\n<td><code>sources</code></td>\n<td>array of string or null</td>\n<td>No</td>\n<td>Source identifiers to search. The default is null, which searches all sources.</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>string or null</td>\n<td>No</td>\n<td>Category identifier used to filter the results.</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of results to return. The default is <code>10</code>. Valid values are <code>1</code> through <code>100</code>.</td>\n</tr>\n<tr>\n<td><code>off_golden_path_reason</code></td>\n<td>string or null</td>\n<td>No</td>\n<td>Reason for searching for a lower-level API instead of the recommended API. See <a href=\"#h_01M3RH1MG3878VMVK89TBN99BM\">Search and the golden path gate</a>.</td>\n</tr>\n</tbody>\n</table></figure><p>The response includes the query, applied category filter, and matching results. Each result can include the source, article identifier, resource URI, title, URL, section and category information, a content snippet, match type, and images.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 18%;\">\n<col style=\"width: 16%;\">\n<col style=\"width: 66%;\">\n</colgroup>\n<thead><tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>source</code></td>\n<td>string</td>\n<td>Source identifier containing the document.</td>\n</tr>\n<tr>\n<td><code>article_id</code></td>\n<td>string</td>\n<td>Identifier of the document.</td>\n</tr>\n<tr>\n<td><code>resource_uri</code></td>\n<td>string</td>\n<td>The <code>learnosity://</code> URI for the document.</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>Document title.</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>Published URL of the document.</td>\n</tr>\n<tr>\n<td><code>section_id</code></td>\n<td>string or null</td>\n<td>Identifier of the section containing the document.</td>\n</tr>\n<tr>\n<td><code>section_name</code></td>\n<td>string</td>\n<td>Name of the section containing the document.</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>string or null</td>\n<td>Identifier of the category containing the document.</td>\n</tr>\n<tr>\n<td><code>category_name</code></td>\n<td>string</td>\n<td>Name of the category containing the document.</td>\n</tr>\n<tr>\n<td><code>snippet</code></td>\n<td>string</td>\n<td>Extract of the matching content.</td>\n</tr>\n<tr>\n<td><code>match_type</code></td>\n<td>string</td>\n<td>The type of match that returned the result.</td>\n</tr>\n<tr>\n<td><code>images</code></td>\n<td>array of object</td>\n<td>Images referenced by the document.</td>\n</tr>\n</tbody>\n</table></figure><p>The response also includes an alerts array, but only when the golden path gate is triggered by the query or by one of the results. It is absent from every other response. See <a href=\"#h_01M3RH1MG3SNJWJH4BEFDX99XD\">What the golden path gate does</a>.</p><p>An invalid source identifier returns an error.</p><h4 id=\"h_01M3RH1MG2DNMY5MB4Z9QGR8ZN\"><code>read_document</code></h4><p>Retrieves an indexed document.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 14%;\">\n<col style=\"width: 10%;\">\n<col style=\"width: 13%;\">\n<col style=\"width: 63%;\">\n</colgroup>\n<thead><tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>source</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Source identifier containing the document.</td>\n</tr>\n<tr>\n<td><code>article_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Identifier of the document to retrieve.</td>\n</tr>\n</tbody>\n</table></figure><p>The response includes the source, article identifier, title, URL, section and category information, last-updated date, markdown content, and images.</p><p>Images are returned separately from the markdown content in an <code>images</code> array.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 20%;\">\n<col style=\"width: 17%;\">\n<col style=\"width: 63%;\">\n</colgroup>\n<thead><tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>source</code></td>\n<td>string</td>\n<td>Source identifier containing the document.</td>\n</tr>\n<tr>\n<td><code>article_id</code></td>\n<td>string</td>\n<td>Identifier of the document.</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>Document title.</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>Published URL of the document.</td>\n</tr>\n<tr>\n<td><code>section_id</code></td>\n<td>string or null</td>\n<td>Identifier of the section containing the document.</td>\n</tr>\n<tr>\n<td><code>section_name</code></td>\n<td>string</td>\n<td>Name of the section containing the document.</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>string or null</td>\n<td>Identifier of the category containing the document.</td>\n</tr>\n<tr>\n<td><code>category_name</code></td>\n<td>string</td>\n<td>Name of the category containing the document.</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>string</td>\n<td>Date the document was last updated.</td>\n</tr>\n<tr>\n<td><code>body_text</code></td>\n<td>string</td>\n<td>Document content in Markdown format.</td>\n</tr>\n<tr>\n<td><code>images</code></td>\n<td>array of object</td>\n<td>Images referenced by the document.</td>\n</tr>\n</tbody>\n</table></figure><h3 id=\"h_01M3RH1MG27DY3ES2VJ8D1VDKY\">Skills tools</h3><h4 id=\"h_01M3RH1MG2HQK6RMAGCWH171DK\"><code>skills_list</code></h4><p>Lists the available Learnosity skills.</p><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of skills to return. The default is <code>200</code>. Valid values are <code>1</code> through <code>2000</code>.</td>\n</tr>\n<tr>\n<td><code>apis</code></td>\n<td>array of string or null</td>\n<td>No</td>\n<td>Filters skills by the APIs they use. The default is null, which does not apply an API filter.</td>\n</tr>\n</tbody>\n</table></figure><p>When you specify <code>apis</code>, the response includes only skills that declare every specified API. API matching is case-insensitive.</p><p>Each result includes the skill identifier, resource URI, size, title, goal, and APIs covered by the skill.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 17%;\">\n<col style=\"width: 19%;\">\n<col style=\"width: 64%;\">\n</colgroup>\n<thead><tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Identifier of the Skill.</td>\n</tr>\n<tr>\n<td><code>resource_uri</code></td>\n<td>string</td>\n<td>The <code>learnosity://</code> URI for the Skill.</td>\n</tr>\n<tr>\n<td><code>size_bytes</code></td>\n<td>integer</td>\n<td>Size of the Skill content in bytes.</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>Title of the Skill.</td>\n</tr>\n<tr>\n<td><code>goal</code></td>\n<td>string</td>\n<td>What the Skill helps you achieve.</td>\n</tr>\n<tr>\n<td><code>apis</code></td>\n<td>array of string</td>\n<td>APIs covered by the Skill.</td>\n</tr>\n</tbody>\n</table></figure><h4 id=\"h_01M3RH1MG2E3X9D1E43760B6ET\"><code>skills_read</code></h4><p>Retrieves a skill and returns its content in markdown format.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 14%;\">\n<col style=\"width: 10%;\">\n<col style=\"width: 12%;\">\n<col style=\"width: 64%;\">\n</colgroup>\n<thead><tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>skill_id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Identifier of the skill to retrieve. Skill identifiers use kebab case.</td>\n</tr>\n<tr>\n<td><code>max_bytes</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum amount of skill content to return. The default is <code>200000</code> bytes. Valid values are <code>1024</code> through <code>2000000</code> bytes.</td>\n</tr>\n</tbody>\n</table></figure><p>If the skill exceeds <code>max_bytes</code>, its content is truncated at a character boundary and the response indicates that the content has been truncated.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 18%;\">\n<col style=\"width: 15%;\">\n<col style=\"width: 67%;\">\n</colgroup>\n<thead><tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Identifier of the Skill.</td>\n</tr>\n<tr>\n<td><code>resource_uri</code></td>\n<td>string</td>\n<td>The <code>learnosity://</code> URI for the Skill.</td>\n</tr>\n<tr>\n<td><code>size_bytes</code></td>\n<td>integer</td>\n<td>Size of the Skill content in bytes.</td>\n</tr>\n<tr>\n<td><code>truncated</code></td>\n<td>boolean</td>\n<td>Whether the content was truncated to <code>max_bytes</code>.</td>\n</tr>\n<tr>\n<td><code>max_bytes</code></td>\n<td>integer</td>\n<td>The byte limit applied to the response.</td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>Skill content in Markdown format.</td>\n</tr>\n</tbody>\n</table></figure><h4 id=\"h_01M3RH1MG27C7JCKYQSMB99PJ0\"><code>skills_search</code></h4><p>Searches skills by identifier, title, goal, declared APIs, or content.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 15%;\">\n<col style=\"width: 10%;\">\n<col style=\"width: 13%;\">\n<col style=\"width: 62%;\">\n</colgroup>\n<thead><tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>query</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Search query.</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of results to return. The default is <code>20</code>. Valid values are <code>1</code> through <code>200</code>.</td>\n</tr>\n</tbody>\n</table></figure><p>The response includes matching skills, the field containing the match, and a content snippet.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 21%;\">\n<col style=\"width: 16%;\">\n<col style=\"width: 63%;\">\n</colgroup>\n<thead><tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Identifier of the Skill.</td>\n</tr>\n<tr>\n<td><code>resource_uri</code></td>\n<td>string</td>\n<td>The <code>learnosity://</code> URI for the Skill.</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>Title of the Skill.</td>\n</tr>\n<tr>\n<td><code>match_field</code></td>\n<td>string</td>\n<td>The field that matched the query.</td>\n</tr>\n<tr>\n<td><code>snippet</code></td>\n<td>string</td>\n<td>Extract of the matching content.</td>\n</tr>\n</tbody>\n</table></figure><h3 id=\"h_01M5HJ0VG3SRZCCD8VNTF1ZHP2\">Feedback tools</h3><h4 id=\"h_01M5HJ0VG3Y91VYDMJ338ZDFY5\"><code>get_feedback_link</code></h4><p>Retrieves the URL of the <a href=\"https://help.learnosity.com/hc/en-us/articles/39542355295389-Provide-Feedback\" target=\"_blank\" rel=\"noopener noreferrer\">Learnosity Build Aide MCP feedback</a> page, where you can submit feedback about Learnosity Build Aide MCP.</p><p>This tool does not require any parameters. It returns a message for your AI coding assistant to display and the feedback page URL.</p><p>The tool does not collect or submit feedback. Your AI coding assistant provides the link, which you can use to access the feedback page and submit your feedback.</p><h2 id=\"h_01M3RH1MG2HKQ4BRM7B0Q55N17\">Resources</h2><p>Alongside tools, the server publishes MCP resources under the <code>learnosity://</code> scheme. Resources suit clients that prefer addressable reads to tool calls, and they return the same content.</p><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Resource</th>\n<th>Serves</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>learnosity://sources/index</code></td>\n<td>The configured documentation sources</td>\n</tr>\n<tr>\n<td><code>learnosity://skills/index</code></td>\n<td>Every available skill, with identifier, title, goal, and APIs</td>\n</tr>\n<tr>\n<td><code>learnosity://skills/skill/{skill_id}</code></td>\n<td>One skill's markdown body</td>\n</tr>\n<tr>\n<td><code>learnosity://help-site/index</code></td>\n<td>Article metadata for the help site</td>\n</tr>\n<tr>\n<td><code>learnosity://help-site/article/{article_id}</code></td>\n<td>One help site article in full</td>\n</tr>\n<tr>\n<td><code>learnosity://author-guide/index</code></td>\n<td>Article metadata for the author guide</td>\n</tr>\n<tr>\n<td><code>learnosity://author-guide/article/{article_id}</code></td>\n<td>One author guide article in full</td>\n</tr>\n<tr>\n<td><code>learnosity://feedback-aide/index</code></td>\n<td>Endpoint metadata for Feedback Aide</td>\n</tr>\n<tr>\n<td><code>learnosity://feedback-aide/article/{article_id}</code></td>\n<td>One Feedback Aide endpoint document</td>\n</tr>\n<tr>\n<td><code>learnosity://demos/index</code></td>\n<td>Page metadata for the demo site</td>\n</tr>\n<tr>\n<td><code>learnosity://demos/article/{article_id}</code></td>\n<td>One demos page</td>\n</tr>\n<tr>\n<td><code>learnosity://github/index</code></td>\n<td>Repository metadata for Learnosity's public GitHub organisation</td>\n</tr>\n<tr>\n<td><code>learnosity://github/article/{article_id}</code></td>\n<td>One repository README</td>\n</tr>\n</tbody>\n</table></figure><p>Note that resource URIs use hyphens where source identifiers use underscores - the help site is <code>help_site</code> as a tool argument and <code>help-site</code> in a resource URI. Every search result includes its own resource URI, so you rarely need to construct one by hand.</p><h2 id=\"h_01M5HKKR5DAG58XS1W324X8Y2Z\">Transport and sessions management</h2><p>Learnosity Build Aide MCP uses the MCP Streamable HTTP transport. Clients send JSON-RPC requests in the body of a HTTP POST request. The server returns responses as an HTTP event stream, allowing progress notifications to be sent before the final result.</p><p>The <code>Accept</code> header must include both <code>application/json</code> and <code>text/event-stream</code>. Requests that specify only one of these content types receive a HTTP <code>406 Not Acceptable</code> response.</p><p>Clients that establish a connection using an initialization handshake receive a <code>Mcp-Session-Id</code> header in the initial response. Include this session identifier in all subsequent requests, including the <code>GET</code> request that opens the server-to-client event stream and the <code>DELETE</code> request that terminates the session.</p><p>Clients using MCP protocol version 2026-07-28 or later send self-contained requests and do not receive a session identifier.</p><p>To check service availability, send a <code>GET</code> request to <code>/health-check</code>. The endpoint returns <code>200</code> while the service is still serving, so read the response body rather than the status code.</p><h2 id=\"h_01M5HKKR5DD7JRMAC1K5FQE1AM\">Errors</h2><p>The documentation and Skills tools can return the following errors:</p><ul>\n<li data-list-item-id=\"e6adbd987d65161763d67cade5e551aca\">\n<code>\"Unknown source: {source}\"</code> - The specified <code>source</code> value does not match a configured source identifier.</li>\n<li data-list-item-id=\"e5ee6b5505c6ad4bef8c87f9646dee892\">\n<code>\"Unknown source(s): {sources}\"</code> - One or more values in <code>sources</code> do not match configured source identifiers.</li>\n<li data-list-item-id=\"e91d1687204aa18509fa255c7821060f8\">\n<code>\"Article {article_id} not found in local cache. Documentation is always up to date.\"</code> - The specified <code>article_id</code> is not available in the documentation index.</li>\n<li data-list-item-id=\"e777039554be6cbe44fcf2227106de351\">\n<code>\"Invalid skill id. Must be kebab-case ([a-z0-9-]).\"</code> - The specified <code>skill_id</code> does not use kebab case.</li>\n<li data-list-item-id=\"e661ea426ae4db51f6de7c608f9ad9b23\">\n<code>\"Skill '{skill_id}' not found\"</code> - The specified <code>skill_id</code> does not match an available Skill.</li>\n<li data-list-item-id=\"ead4d04ab8b7bf02b41fd953261a3306e\">\n<code>\"Skill '{skill_id}' could not be parsed.\"</code> - The requested Skill could not be read.</li>\n</ul><h2 id=\"h_01M3RH1MG3878VMVK89TBN99BM\">Search and the golden path gate</h2><h3 id=\"h_01M3RH1MG3NNJ2FYZWMPY3DG5C\">How search works</h3><p>Learnosity Build Aide MCP combines lexical and semantic search to find relevant information in the indexed documentation. Results from both search methods are merged and ranked, and each result identifies the type of match.</p><p>Title matches are ranked higher than body-content matches. Release log articles are given a lower priority so that documentation explaining a feature is prioritized over release notes that only mention it.</p><p>If semantic search is unavailable, Learnosity Build Aide MCP returns lexical search results instead.</p><h3 id=\"h_01M3RH1MG3731P9W9195RCKA0Y\">The golden path</h3><p>The <a href=\"https://help.learnosity.com/hc/en-us/articles/360000754578-Recommended-Deployment-Patterns-Golden-Path\">golden path</a> represents the recommended APIs for a typical Learnosity integration:</p><p>Author API → Items API → Reports API</p><p>Author API is used to create assessment content and Activities. Items API delivers the Activity and creates a learner session. Reports API uses the Activity and session information to report on the results. The golden path skill provides guidance for this end-to-end workflow.</p><p>Learnosity also publishes lower-level APIs for custom builds. They are fully supported and documented, but the recommended API is generally a better starting point for common integration workflows.</p><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Lower-level API</th>\n<th>Prefer</th>\n<th>Why</th>\n</tr></thead>\n<tbody>\n<tr>\n<td>Questions API</td>\n<td>Items API</td>\n<td>Renders standalone Questions, leaving Activity assembly, session handling, and submission to your application.</td>\n</tr>\n<tr>\n<td>Assess API</td>\n<td>Items API</td>\n<td>Provides the assessment player without Item sourcing or session management.</td>\n</tr>\n<tr>\n<td>Question Editor API</td>\n<td>Author API</td>\n<td>Edits an individual Question without Item or Activity authoring.</td>\n</tr>\n</tbody>\n</table></figure><h3 id=\"h_01M3RH1MG3SNJWJH4BEFDX99XD\">What the golden path gate does</h3><p>When <code>search_docs_sources</code> identifies a search for Questions API, Assess API, or Question Editor API, it can return a golden path alert recommending the corresponding higher-level API.</p><p>The golden path gate can produce the following outcomes:</p><ul>\n<li data-list-item-id=\"e17fa6ff060e47bcfe41ebad23e36ad39\">Advisory - The query references a lower-level API, but no search result matches that API. No results are withheld, and the response includes a recommendation to use the golden path.</li>\n<li data-list-item-id=\"e4cbd8cd0f36f24c53ed1182d122899de\">Gating - One or more results match a lower-level API. Matching results are withheld, while other results are returned. The response indicates how many results were withheld.</li>\n<li data-list-item-id=\"e40a27d758a0b1813478f6c601cc18293\">Reason provided - An <code>off_golden_path_reason</code> is supplied with the request. Matching results are returned without being withheld.</li>\n</ul><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 24%;\">\n<col style=\"width: 11%;\">\n<col style=\"width: 65%;\">\n</colgroup>\n<thead><tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>Always <code>golden_path</code>.</td>\n</tr>\n<tr>\n<td><code>message</code></td>\n<td>string</td>\n<td>The recommendation to use the golden path.</td>\n</tr>\n<tr>\n<td><code>content_withheld</code></td>\n<td>integer</td>\n<td>Number of results withheld. <code>0</code> for an advisory outcome.</td>\n</tr>\n<tr>\n<td><code>required_parameter</code></td>\n<td>string</td>\n<td>The parameter needed to retrieve the withheld results. Present only when results were withheld.</td>\n</tr>\n<tr>\n<td><code>next_request_instruction</code></td>\n<td>string</td>\n<td>How to repeat the request. Present only when results were withheld.</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>string</td>\n<td>The <code>off_golden_path_reason</code> supplied with the request. Present only when a reason was given.</td>\n</tr>\n</tbody>\n</table></figure><h3 id=\"h_01M3RH1MG3SVE4KVH1WXXWAT0P\">Using off_golden_path_reason</h3><p>Use <code>off_golden_path_reason</code> to explain why your integration needs a lower-level API instead of the recommended API. Specify the parameter on each applicable search request because the value does not persist between searches.</p><pre class=\"language-auto\">search_docs_sources(\n  query = \"Assess API initialisation options\",\n  off_golden_path_reason = \"Existing player built on Assess API; migrating is out of scope this quarter\"\n)</pre><p>If the reason does not identify a specific requirement for using the lower-level API, Learnosity Build Aide MCP can continue to recommend the golden path.</p><p>The golden path gate applies only to discovery through <code>search_docs_sources</code>. It does not prevent direct access to documentation, Skills, or MCP resources.</p><h2 id=\"h_01M3RH1MG375YDTY1R85308MCW\">Skills</h2><p>Skills are the most substantial part of the server. Skills provide guided workflows for specific Learnosity integration tasks. A skill can provide the steps, decisions, supporting documentation, and guidance needed to complete a workflow.</p><p>Skills are composable - a skill can reference another skill. This means you get consistent, non-contradictory advice regardless of which entry point you start from.</p><h2 id=\"h_01M3RPFA09PKJQ971QQ1PCK158\">Available skills catalog</h2><p>The catalog is continuously expanding. Skills currently available:</p><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Skill</th>\n<th>Identifier</th>\n<th>What it covers</th>\n</tr></thead>\n<tbody>\n<tr>\n<td>Golden Path (Author, Items, Reports)</td>\n<td><code>golden-path-author-items-reports</code></td>\n<td>The core end-to-end integration path - authoring content, delivering an assessment, and reporting on results</td>\n</tr>\n<tr>\n<td>Signature Generation</td>\n<td><code>generate-and-troubleshoot-request-signatures</code></td>\n<td>Signature construction, HMAC-SHA256, SDK usage per language, and the common failure modes: localhost-vs-live domain mismatch, incorrect credentials, and encoded characters in keys or secrets</td>\n</tr>\n<tr>\n<td>LTS Upgrade Paths</td>\n<td><code>lts-upgrade-paths</code></td>\n<td>End-to-end upgrade methodology and common breaking changes, including multi-version jumps</td>\n</tr>\n<tr>\n<td>Customise Assessment / UI Regions</td>\n<td><code>customise-assessment-ui-regions</code></td>\n<td>Assessment player customisation - moving the table of contents, triggering standard and custom dialogs programmatically, and the core UI Region patterns</td>\n</tr>\n<tr>\n<td>SDK Install / set-up</td>\n<td><code>install-and-set-up-the-sdk</code></td>\n<td>Working with Learnosity supported SDKs (PHP, Python, Node.js, Ruby, Java, and .NET/C#) and pointing to the right direction</td>\n</tr>\n<tr>\n<td>Content Migration</td>\n<td><code>content-migration</code></td>\n<td>Data API migration patterns, <code>@learnosity/lib-qti-converter</code> import workflow, QTI conversion, and the SET ITEMS step required to make imported content visible in Authoring</td>\n</tr>\n<tr>\n<td>Multi-Tenancy</td>\n<td><code>multi-tenancy</code></td>\n<td>Customer segregation, recommended architecture patterns, and common pitfalls</td>\n</tr>\n<tr>\n<td>Build Custom Questions and Features</td>\n<td><code>build-custom-questions-and-features</code></td>\n<td>Building a custom Question or Feature - choosing between the two, sequencing the module, scorer and authoring schema, hosting the built assets, and catching the failures that report nothing</td>\n</tr>\n</tbody>\n</table></figure><p>Ask your assistant to list the currently available skills for an authoritative, up-to-date answer.</p><h2 id=\"h_01M3RPFA0A2ZQQQPG9092FRK21\">Example: Upgrade to a newer Learnosity LTS version</h2><p>This illustrates the intended workflow. Exact assistant behavior varies by client and model.</p><p><strong>1. Establish the upgrade path</strong></p><p>\"Use the Learnosity Build Aide MCP LTS Upgrade Paths skill to plan an upgrade from the LTS version we're pinned to up to the current release. We're five versions behind.\"</p><p>The assistant retrieves the LTS Upgrade Paths skill and returns the upgrade methodology, the releases between your current and target version, and the breaking changes introduced at each one. A multi-version jump is returned as a sequence rather than a single hop, so you can see which release introduced each change.</p><p><strong>2. Narrow the breaking changes to your integration</strong></p><p>\"Which of those breaking changes affect Items API and Reports API? We don't use Author API.\"</p><p>The assistant filters the upgrade guidance to the APIs and features your integration actually uses, and cites the documentation behind each change so you can confirm the detail rather than taking it on trust.</p><p>If the upgrade also means moving to a newer SDK, ask for that skill directly:</p><p>\"Now use the SDK Install / set-up skill to show me how to move our Node.js SDK to the version that supports the target LTS.\"</p><p><strong>3. Verify your configuration against the target version</strong></p><p>\"Check my Items API initialization options against the target LTS and flag anything removed or renamed.\"</p><p>The assistant validates your initialization object against the published reference for the target version and flags options that have been removed, renamed, or given new defaults.</p><p> </p><!-- Usersnap form for MCP docs --><div style=\"margin: auto; width: 420px;\" id=\"mcpDocsInlineForm\"></div><script>\n    window.onUsersnapMCPDocsLoad = function(api) {\n      // mountNode is an element in which the widget should be rendered\n      api.init({ mountNode: document.getElementById('mcpDocsInlineForm') });\n    };\n    var script = document.createElement('script');\n    script.defer = 1;\n    script.src = 'https://widget.usersnap.com/embed/load/94def54f-52ae-4a9c-bce9-5f1c53f7af1d?onload=onUsersnapMCPDocsLoad';\n    document.getElementsByTagName('head')[0].appendChild(script);\n  </script>","user_segment_ids":[]},{"id":39537846634653,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/39537846634653.json","html_url":"https://help.learnosity.com/hc/en-us/articles/39537846634653-Learnosity-Build-Aide-MCP-security-data-handling-and-limitations","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":3,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-09-30T08:59:15Z","updated_at":"2026-11-02T11:34:36Z","name":"Learnosity Build Aide MCP security, data handling, and limitations","title":"Learnosity Build Aide MCP security, data handling, and limitations","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-11-02T09:52:34Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<h2 id=\"h_01M3RR8NBPHR7B530TMCM9G0YG\">Security and data handling</h2><figure class=\"wysiwyg-table\"><table>\n<thead><tr>\n<th>Concern</th>\n<th>How it is handled</th>\n</tr></thead>\n<tbody>\n<tr>\n<td>Credentials</td>\n<td>The server never requests, receives, or stores consumer keys or secrets. Signing happens entirely in your application.</td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td>None required. The server exposes public documentation and guidance only. See <a href=\"#h_01M5HPMC7T4FSNJDMKS79ES47D\">Why Learnosity Build Aide MCP does not require authentication</a>.</td>\n</tr>\n<tr>\n<td>Write access</td>\n<td>None. Every tool is read-only, and no tool changes state.</td>\n</tr>\n<tr>\n<td>Usage data</td>\n<td>Anonymised operational metrics (tool name, timing, error type) are collected to monitor service health. Client identifiers are a keyed digest of the connecting address, which the server cannot reverse. Raw IP addresses are not retained in metrics.</td>\n</tr>\n<tr>\n<td>Proprietary content</td>\n<td>Raw documentation source files remain server-side. Clients receive structured responses, not the underlying corpus.</td>\n</tr>\n</tbody>\n</table></figure><p><strong>Note:</strong> Learnosity cannot control what you paste into your AI assistant, or how that assistant's model handles it. The MCP server itself will never ask for a secret - but standard practice applies: keep credentials in environment variables and out of your chat window, whatever tooling you are using.</p><h2 id=\"h_01M5HPMC7T4FSNJDMKS79ES47D\">Why Learnosity Build Aide MCP does not require authentication</h2><p>The Learnosity Build Aide MCP server does not require authentication because it provides access only to publicly available Learnosity documentation and integration guidance. The server does not store credentials or sign API requests, and all available tools are read-only.</p><p>Rate limits help protect the service from excessive requests and maintain availability for users. For more information, see <a href=\"#h_01M3RR8NBPTTN4KJ0V2A3MY308\">Rate limits</a>.</p><p>This authentication model applies to the currently available tools and documentation sources. Introducing tools that modify data or provide access to nonpublic information would require a review of the authentication and security requirements.</p><h2 id=\"h_01M3RR8NBPTTN4KJ0V2A3MY308\">Rate limits</h2><p>MCP-protocol requests are rate limited at three levels to protect service quality for all users.</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 24%;\">\n<col style=\"width: 22%;\">\n<col style=\"width: 54%;\">\n</colgroup>\n<thead><tr>\n<th>Limit</th>\n<th>Threshold</th>\n<th>Window</th>\n</tr></thead>\n<tbody>\n<tr>\n<td>Per session</td>\n<td>20 requests</td>\n<td>5 seconds</td>\n</tr>\n<tr>\n<td>Per client, across all sessions</td>\n<td>100 requests</td>\n<td>5 seconds</td>\n</tr>\n<tr>\n<td>Global (all clients)</td>\n<td>900 requests</td>\n<td>5 seconds</td>\n</tr>\n</tbody>\n</table></figure><p>When a limit is exceeded, the client receives a JSON-RPC error with code <code>-32000</code>. Health-check endpoints are not affected. The error message names the scope, the limit, and how long to wait before retrying.</p><p>These limits are set well above normal interactive use. A single developer working conversationally will not encounter them. If you are consistently hitting the per-session limit, it usually indicates an agent looping - check your assistant's tool-call behavior before assuming a service problem.</p><h2 id=\"h_01M3RR8NBPXY2M894P1BZAYNFD\">Content freshness</h2><p>The server always serves current Learnosity documentation. It refreshes automatically from the published sources, so there is no local copy to maintain, no cache to clear, and no redeployment or client update required on your side.</p><h2 id=\"h_01M5HPY6F825YT14FZ1MG1FES5\">Reporting a security issue</h2><p>If you believe you have identified a security vulnerability in the Learnosity Build Aide MCP server, submit a support ticket and identify it as a security issue.</p><p>Include the affected tool or resource and the steps required to reproduce the issue.</p><p>The Learnosity support team forwards security reports directly to the Learnosity security team.</p><p>Do not use the <a href=\"https://help.learnosity.com/hc/en-us/articles/39542355295389-Provide-Feedback\" target=\"_blank\" rel=\"noopener noreferrer\">Learnosity MCP feedback</a> page to report security vulnerabilities. Submit a support ticket to ensure the issue is directed to the appropriate team.</p><h2 id=\"h_01M3RR8NBP83VBD57SXXSJ8B7D\">Limitations</h2><ul>\n<li data-list-item-id=\"e8d15653d44ad08b98d9cfe109c2e7353\">The tool surface is evolving. Available skills and tools expand regularly. Behavior may change between releases.</li>\n<li data-list-item-id=\"e8c5867ae798f6d2dec3f2589e85e441c\">Development-time only. No runtime, delivery, or live-API capability. See <a href=\"https://help.learnosity.com/hc/en-us/articles/39503171212189-About-Learnosity-Build-MCP-Docs#what-learnosity-build-mcp-docs-does-not-do\" target=\"_blank\" rel=\"noopener noreferrer\">What Learnosity Build Aide MCP does not do in the About Learnosity Build Aide MCP article.</a>.</li>\n<li data-list-item-id=\"e9664053155571700e35008c2b9982e72\">Documentation-bounded. The server is only as accurate as the underlying Learnosity documentation. Where documentation is incomplete, the server's results will be too, and we are actively closing those gaps.</li>\n<li data-list-item-id=\"e1caebf2956c09ae5b49e067e512a7c91\">Assistant behavior varies. Different clients and models make different decisions about when to consult an MCP server. Naming the server explicitly in your prompt produces the most consistent results.</li>\n</ul><p> </p><!-- Usersnap form for MCP docs --><div style=\"margin: auto; width: 420px;\" id=\"mcpDocsInlineForm\"></div><script>\n    window.onUsersnapMCPDocsLoad = function(api) {\n      // mountNode is an element in which the widget should be rendered\n      api.init({ mountNode: document.getElementById('mcpDocsInlineForm') });\n    };\n    var script = document.createElement('script');\n    script.defer = 1;\n    script.src = 'https://widget.usersnap.com/embed/load/94def54f-52ae-4a9c-bce9-5f1c53f7af1d?onload=onUsersnapMCPDocsLoad';\n    document.getElementsByTagName('head')[0].appendChild(script);\n  </script>","user_segment_ids":[]},{"id":39539272308253,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/39539272308253.json","html_url":"https://help.learnosity.com/hc/en-us/articles/39539272308253-Troubleshooting-Learnosity-Build-Aide-MCP","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":4,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-09-30T09:38:41Z","updated_at":"2026-11-02T11:34:21Z","name":"Troubleshooting Learnosity Build Aide MCP","title":"Troubleshooting Learnosity Build Aide MCP","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-11-02T10:00:39Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<h2 id=\"h_01M3RT6W8XF4XPNCAN94RE250D\">The Learnosity Build Aide MCP server does not show as Connected</h2><ol>\n<li data-list-item-id=\"efa4848a48cb7d7f23e8ee02d59694920\">Fully restart your client. Some clients do not pick up newly installed MCP servers on reload alone.</li>\n<li data-list-item-id=\"eca5438316e4d2170be72b42a157bdca7\">Check outbound HTTPS access to <code>mcp.learnosity.com</code> - corporate proxies and VPNs are a frequent blocker.</li>\n<li data-list-item-id=\"eebd323d6965fcfbbb0e7c685d693f156\">Confirm the server is enabled in your client's MCP panel. Some clients install a server in a disabled state.</li>\n<li data-list-item-id=\"ed9e33ad4f1d3014634bd1c0474b9e2ee\">If you connected manually rather than through a marketplace, validate your configuration - see <a href=\"https://help.learnosity.com/hc/en-us/articles/39503747254813-Getting-started-with-Learnosity-Build-Aide-MCP#connect-to-learnosity-build-aide-mcp-manually\" target=\"_blank\" rel=\"noopener noreferrer\">Connect to Learnosity Build Aide MCP manually</a> under the Getting started with Learnosity Build Aide MCP article.</li>\n</ol><h2 id=\"h_01M3RT6W8YFJ4EDG8K11RFK0MM\">The AI assistant does not use Learnosity Build Aide MCP to answer questions</h2><p>Name it explicitly: \"Using the Learnosity Build Aide MCP, …\". Most clients also provide a way to inspect which tools were called for a given response - worth checking if answers seem generic.</p><h2 id=\"h_01M3RT6W8Y7ZHRXGBT2RWD8YFT\">A search returned fewer results than expected, with a golden path alert</h2><p>Learnosity Build Aide MCP may withhold search results for a lower-level API when the golden path gate is triggered. Review the golden path alert to see which results were withheld. If you need to use the lower-level API, run the search again and set <code>off_golden_path_reason</code> to the reason for using that API.</p><p>For more information, see <a href=\"https://help.learnosity.com/hc/en-us/articles/39537602360477-Using-Learnosity-Build-MCP-Docs#search-and-the-golden-path-gate\" target=\"_blank\" rel=\"noopener noreferrer\">Search and the golden path gate</a> in the Using Learnosity Build Aide MCP article.</p><h2 id=\"h_01M3RT6W8YVF57CB01JVHA0A4J\">I receive an unknown source error</h2><p>The source identifier is not recognized by the Learnosity Build Aide MCP server. Ask your AI coding assistant to call <code>list_docs_sources</code> to retrieve the available source identifiers.</p><p>Source identifiers use underscores, such as <code>help_site</code>, while resource URIs use hyphens, such as <code>help-site</code>.</p><h2 id=\"h_01M3RT6W8Z7MC1KRBZWE9VRSZB\">I receive an article not found error</h2><p>The article identifier is not available in the current documentation index. Run the search again to retrieve the current article identifier.</p><h2 id=\"h_01M3RT6W8ZCRD4VSMXK87E0DWR\">I receive a JSON-RPC -32000 error</h2><p>You have hit a rate limit. Wait a few seconds and retry. If it recurs during ordinary use, your assistant is likely looping tool calls.</p><h2 id=\"h_01M3RT6W8Z0JD44ZCTG1HHBFCC\">The response received is incorrect or incomplete</h2><p>Please report it. Documentation gaps are the single largest source of incorrect agent answers, and specific reports are the fastest route to a fix. See <a href=\"https://help.learnosity.com/hc/en-us/articles/39542355295389-Provide-Feedback\" target=\"_blank\" rel=\"noopener noreferrer\">Provide Feedback</a>.</p><p> </p><!-- Usersnap form for MCP docs --><div style=\"margin: auto; width: 420px;\" id=\"mcpDocsInlineForm\"></div><script>\n    window.onUsersnapMCPDocsLoad = function(api) {\n      // mountNode is an element in which the widget should be rendered\n      api.init({ mountNode: document.getElementById('mcpDocsInlineForm') });\n    };\n    var script = document.createElement('script');\n    script.defer = 1;\n    script.src = 'https://widget.usersnap.com/embed/load/94def54f-52ae-4a9c-bce9-5f1c53f7af1d?onload=onUsersnapMCPDocsLoad';\n    document.getElementsByTagName('head')[0].appendChild(script);\n  </script>","user_segment_ids":[]},{"id":39542230495517,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/39542230495517.json","html_url":"https://help.learnosity.com/hc/en-us/articles/39542230495517-Frequently-asked-questions","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":5,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-09-30T11:07:19Z","updated_at":"2026-11-02T11:34:10Z","name":"Frequently asked questions","title":"Frequently asked questions","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-11-02T10:00:20Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<h2 id=\"h_01M3RZJ2WSBW8CJKD996Z2XF4D\">Does it cost anything?</h2><p>No. The Learnosity Build Aide MCP server is provided at no cost.</p><h2 id=\"h_01M3RZJ2WS67JRW707GF2TB8TA\">Do I need a Learnosity account or API credentials to connect?</h2><p>No. The server requires no authentication. You will need credentials to run the integration you build, but not to use the MCP server.</p><h2 id=\"h_01M3RZJ2WSAYQ19B3QA15YCT6K\">Which AI assistants and IDEs are supported?</h2><p>Any client supporting the MCP HTTP transport. This includes VS Code, Cursor, Kiro, and Claude Code, among others - all of which have been tested.</p><h2 id=\"h_01M3RZJ2WT7PEBYCQXVXY2GEZE\">How many tools does the server expose?</h2><p>The Learnosity Build Aide MCP server exposes eight tools. The <code>list_docs_sources</code>, <code>list_docs_categories</code>, <code>search_docs_sources</code>, and <code>read_document</code> tools provide access to documentation. The <code>skills_list</code>, <code>skills_read</code>, and <code>skills_search</code> tools provide access to Skills. The <code>get_feedback_link</code> tool provides a link for sharing feedback.</p><p>For more information, see <a href=\"https://help.learnosity.com/hc/en-us/articles/39537602360477-Using-Learnosity-Build-Aide-MCP#tools\" target=\"_blank\" rel=\"noopener noreferrer\">Tools</a> in the Using Learnosity Build Aide MCP article.</p><h2 id=\"h_01M3RZJ2WT249VWCJZPJ926CWG\">What is the difference between tools and resources?</h2><p>Tools and resources provide access to the same content in different ways. Your AI coding assistant calls tools, while resources are accessed using a <code>learnosity://</code> URI. Search results include both an article identifier and the corresponding resource URI.</p><h2 id=\"h_01M3RZJ2WTRXCDQ7ZQZ4D0164K\">Why did my search return a golden path alert?</h2><p>A golden path alert can appear when your search query or its results reference a lower-level API. The alert recommends the corresponding API from the Learnosity golden path and can indicate when results for the lower-level API have been withheld.</p><p>For more information, see <a href=\"https://help.learnosity.com/hc/en-us/articles/39537602360477-Using-Learnosity-Build-MCP-Docs#search-and-the-golden-path-gate\" target=\"_blank\" rel=\"noopener noreferrer\">Search and the golden path gate</a>.</p><h2 id=\"h_01M3RZJ2WTQM6TV6DPFJD6XZJ6\">Can I turn the golden path gate off?</h2><p>No. To retrieve results for a lower-level API when the golden path gate withholds them, set <code>off_golden_path_reason</code> to the reason your integration requires that API. Specify the parameter on each applicable search request because the value does not persist between requests.</p><h2 id=\"h_01M3RZJ2WTRMFWFRCWM94JTPHH\">Can it write code for me?</h2><p>Your assistant writes the code. The MCP server supplies accurate Learnosity knowledge for it to work from - which is the difference between code that runs and code that looks like it should.</p><h2 id=\"h_01M3RZJ2WTQ784N8H6A4B96R9X\">Will it sign my requests?</h2><p>No, and this is deliberate. Signing requires your secret, and your secret should never leave your environment. The server explains signing thoroughly; your application performs it.</p><h2 id=\"h_01M3RZJ2WT88H9DAAVH37765CS\">How current is the information?</h2><p>The documentation index refreshes every 24 hours from the published Learnosity sources, so answers reflect the current documentation.</p><h2 id=\"h_01M3RZJ2WTSZ8JJ303KG8AMHMG\">Which documentation does it cover?</h2><p>The Learnosity Help site, the Author Guide site, Feedback Aide backend documentation, the Learnosity Demos site, and Learnosity's public GitHub repositories. For more information, see <a href=\"https://help.learnosity.com/hc/en-us/articles/39537602360477-Using-Learnosity-Build-Aide-MCP#documentation-available-through-learnosity-build-aide-mcp\" target=\"_blank\" rel=\"noopener noreferrer\">Documentation available through Learnosity Build Aide MCP</a> in the Using Learnosity Build Aide MCP article.</p><h2 id=\"h_01M3RZJ2WTRQQ8YTJ852MR1ZV7\">Does it support version-specific (LTS) guidance?</h2><p>Yes, LTS-aware guidance is supported, and the LTS Upgrade Paths Skill is built around it. Coverage continues to expand as version-aware documentation rolls out.</p><h2 id=\"h_01M3RZJ2WT6PHWKX3T9K18H06R\">Is my code or prompt data sent to Learnosity?</h2><p>Only the tool your assistant calls reaches the server. Learnosity collects anonymised operational metrics - tool name, timing, error type - to monitor service health. Your source code is not transmitted.</p><h2 id=\"h_01M3RZJ2WTP599CG8XWZXFTCEC\">What if a Skill I need does not exist yet?</h2><p>The catalog is driven directly by customer pain points. Tell us what you need - see <a href=\"https://help.learnosity.com/hc/en-us/articles/39542355295389-Provide-Feedback\" target=\"_blank\" rel=\"noopener noreferrer\">Provide Feedback</a>.</p><p> </p><!-- Usersnap form for MCP docs --><div style=\"margin: auto; width: 420px;\" id=\"mcpDocsInlineForm\"></div><script>\n    window.onUsersnapMCPDocsLoad = function(api) {\n      // mountNode is an element in which the widget should be rendered\n      api.init({ mountNode: document.getElementById('mcpDocsInlineForm') });\n    };\n    var script = document.createElement('script');\n    script.defer = 1;\n    script.src = 'https://widget.usersnap.com/embed/load/94def54f-52ae-4a9c-bce9-5f1c53f7af1d?onload=onUsersnapMCPDocsLoad';\n    document.getElementsByTagName('head')[0].appendChild(script);\n  </script>","user_segment_ids":[]},{"id":39542355295389,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/39542355295389.json","html_url":"https://help.learnosity.com/hc/en-us/articles/39542355295389-Provide-Feedback","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":6,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-09-30T11:11:27Z","updated_at":"2026-11-02T11:33:34Z","name":"Provide Feedback","title":"Provide Feedback","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-09-30T23:42:08Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<p>The skills catalog is prioritized from real integration problems reported by real customers. If something is missing, wrong, or harder than it should be, that is useful information.</p><p>There are two ways to reach us:</p><ul>\n<li data-list-item-id=\"e17caabafad51c5225293751182eeccc2\">Use the feedback widget on this page for quick comments, corrections, or anything that does not warrant a ticket or response from us.</li>\n<li data-list-item-id=\"ee3052564b6d70067e7a531ebb8e640a6\">Open a support ticket if you are blocked, or if the issue needs a response.</li>\n</ul><p>When reporting, the most helpful detail is:</p><ul>\n<li data-list-item-id=\"e33aa82500314986ff34b861666aa4ce7\">which tool or Skill you used</li>\n<li data-list-item-id=\"ed109922710db0f1ff21baf4f21a75e0f\">what you were trying to achieve</li>\n<li data-list-item-id=\"e2150c80e8491cf7e45260db7673fe161\">what you expected, and what you got</li>\n<li data-list-item-id=\"e684fdde9a7eda501e90f658248714b65\">anything factually incorrect or missing.</li>\n</ul><p> </p><!-- Usersnap form for MCP docs --><div style=\"margin: auto; width: 420px;\" id=\"mcpDocsInlineForm\"></div><script>\n    window.onUsersnapMCPDocsLoad = function(api) {\n      // mountNode is an element in which the widget should be rendered\n      api.init({ mountNode: document.getElementById('mcpDocsInlineForm') });\n    };\n    var script = document.createElement('script');\n    script.defer = 1;\n    script.src = 'https://widget.usersnap.com/embed/load/94def54f-52ae-4a9c-bce9-5f1c53f7af1d?onload=onUsersnapMCPDocsLoad';\n    document.getElementsByTagName('head')[0].appendChild(script);\n  </script>","user_segment_ids":[]},{"id":40294187430045,"url":"https://learnositysupport.zendesk.com/api/v2/help_center/en-us/articles/40294187430045.json","html_url":"https://help.learnosity.com/hc/en-us/articles/40294187430045-Learnosity-Build-Aide-MCP-Terms-of-Service","author_id":29234975706397,"comments_disabled":false,"draft":false,"promoted":false,"position":7,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":39503070619933,"created_at":"2026-10-30T11:43:40Z","updated_at":"2026-11-02T11:33:15Z","name":"Learnosity Build Aide MCP: Terms of Service","title":"Learnosity Build Aide MCP: Terms of Service","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-10-30T11:43:55Z","user_segment_id":null,"permission_group_id":89809,"content_tag_ids":[],"label_names":[],"body":"<p>The Learnosity Build Aide MCP makes Learnosity's published documentation and integration guidance available through the Model Context Protocol (MCP). Third-party AI agents can use it to help you build with Learnosity.</p><p>Read the information below before you use the Learnosity Build Aide MCP.</p><h2 id=\"h_01M669W34C5NYNW4YHTYZ7KQWV\">Availability</h2><p>The Learnosity Build Aide MCP is provided on an 'as available' basis. It is not subject to any availability, uptime, support, response or resolution commitments applicable to Learnosity Software or Services under a customer agreement.</p><h2 id=\"h_01M669W34C14DPCW4PZFGNQQK2\">Third-party agent output</h2><p>The Learnosity Build Aide MCP makes Learnosity's published documentation and integration guidance available through the Model Context Protocol. The MCP may be used by third-party AI agents, coding assistants and other developer tools. Learnosity is not responsible for, and does not warrant the accuracy, completeness or suitability of, any code, configuration, recommendations or other output generated by those third-party tools using information obtained through the MCP. Any such output should be appropriately reviewed and tested before use, particularly in a production environment.</p><h2 id=\"h_01M669W34CN9EQ0SA0NZ70XBMY\">Changes/rate limits</h2><p>Learnosity may apply reasonable rate limits and may modify, suspend or discontinue the Learnosity Build Aide MCP from time to time.</p><h2 id=\"h_01M669W34C4T0DDACF25PHSNQ1\">Personal data</h2><p>Users should not submit personal data or other sensitive information through third-party tools when using the MCP unless they are satisfied that the relevant third-party tool is appropriate for that information.</p>","user_segment_ids":[]}],"sort_by":"position","sort_order":"asc"}