Documentation available through Learnosity Build Aide MCP
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.
- Learnosity help site - API reference, integration guides, technical documentation, and how-to articles.
- Author guide - Authoring workflows, question types, and content creation in the Author Site.
- Feedback Aide documentation - Feedback Aide API reference, including endpoints and request and response formats.
- Learnosity demos - Learnosity API and partner demos.
- Learnosity on GitHub - Learnosity's public repositories, including SDKs, demos, and reference implementations.
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.
Tools
The server exposes eight read-only tools in three groups:
- Documentation tools for discovering, searching, and retrieving Learnosity documentation.
- Skills tools for discovering and retrieving Learnosity skills.
- Feedback tools for sharing feedback on Learnosity Build Aide MCP.
Some documentation tools accept a source identifier to specify which documentation sources to use. The available source identifiers are:
- Learnosity help site:
help_site - Author guide:
author_guide - Feedback Aide:
feedback_aide - Learnosity demos:
demos - Learnosity on GitHub:
github
Documentation tools
list_docs_sources
Lists the configured documentation sources. Use this tool to identify the available sources and their source identifiers.
This tool does not require any parameters. It returns the source identifier, type, and title for each configured source.
list_docs_categories
Lists the available documentation categories.
| Parameter | Type | Required | Description |
|---|---|---|---|
source |
string or null | No | Source identifier to retrieve categories from. The default is null, which returns categories from all sources. |
The response includes the source, category identifier, and category name. Results are sorted by source and then by category name.
Categories are available for the Learnosity help site and author guide. Feedback Aide, Learnosity demos, and GitHub do not use categories.
search_docs_sources
Searches the indexed Learnosity documentation. Use this as the primary tool for discovering relevant documentation.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Search query. |
sources |
array of string or null | No | Source identifiers to search. The default is null, which searches all sources. |
category_id |
string or null | No | Category identifier used to filter the results. |
limit |
integer | No | Maximum number of results to return. The default is 10. Valid values are 1 through 100. |
off_golden_path_reason |
string or null | No | Reason for searching for a lower-level API instead of the recommended API. See Search and the golden path gate. |
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.
| Field | Type | Description |
|---|---|---|
source |
string | Source identifier containing the document. |
article_id |
string | Identifier of the document. |
resource_uri |
string | The learnosity:// URI for the document. |
title |
string | Document title. |
url |
string | Published URL of the document. |
section_id |
string or null | Identifier of the section containing the document. |
section_name |
string | Name of the section containing the document. |
category_id |
string or null | Identifier of the category containing the document. |
category_name |
string | Name of the category containing the document. |
snippet |
string | Extract of the matching content. |
match_type |
string | The type of match that returned the result. |
images |
array of object | Images referenced by the document. |
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 What the golden path gate does.
An invalid source identifier returns an error.
read_document
Retrieves an indexed document.
| Parameter | Type | Required | Description |
|---|---|---|---|
source |
string | Yes | Source identifier containing the document. |
article_id |
string | Yes | Identifier of the document to retrieve. |
The response includes the source, article identifier, title, URL, section and category information, last-updated date, markdown content, and images.
Images are returned separately from the markdown content in an images array.
| Field | Type | Description |
|---|---|---|
source |
string | Source identifier containing the document. |
article_id |
string | Identifier of the document. |
title |
string | Document title. |
url |
string | Published URL of the document. |
section_id |
string or null | Identifier of the section containing the document. |
section_name |
string | Name of the section containing the document. |
category_id |
string or null | Identifier of the category containing the document. |
category_name |
string | Name of the category containing the document. |
updated_at |
string | Date the document was last updated. |
body_text |
string | Document content in Markdown format. |
images |
array of object | Images referenced by the document. |
Skills tools
skills_list
Lists the available Learnosity skills.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
integer | No | Maximum number of skills to return. The default is 200. Valid values are 1 through 2000. |
apis |
array of string or null | No | Filters skills by the APIs they use. The default is null, which does not apply an API filter. |
When you specify apis, the response includes only skills that declare every specified API. API matching is case-insensitive.
Each result includes the skill identifier, resource URI, size, title, goal, and APIs covered by the skill.
| Field | Type | Description |
|---|---|---|
id |
string | Identifier of the Skill. |
resource_uri |
string | The learnosity:// URI for the Skill. |
size_bytes |
integer | Size of the Skill content in bytes. |
title |
string | Title of the Skill. |
goal |
string | What the Skill helps you achieve. |
apis |
array of string | APIs covered by the Skill. |
skills_read
Retrieves a skill and returns its content in markdown format.
| Parameter | Type | Required | Description |
|---|---|---|---|
skill_id |
string | Yes | Identifier of the skill to retrieve. Skill identifiers use kebab case. |
max_bytes |
integer | No | Maximum amount of skill content to return. The default is 200000 bytes. Valid values are 1024 through 2000000 bytes. |
If the skill exceeds max_bytes, its content is truncated at a character boundary and the response indicates that the content has been truncated.
| Field | Type | Description |
|---|---|---|
id |
string | Identifier of the Skill. |
resource_uri |
string | The learnosity:// URI for the Skill. |
size_bytes |
integer | Size of the Skill content in bytes. |
truncated |
boolean | Whether the content was truncated to max_bytes. |
max_bytes |
integer | The byte limit applied to the response. |
content |
string | Skill content in Markdown format. |
skills_search
Searches skills by identifier, title, goal, declared APIs, or content.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Search query. |
limit |
integer | No | Maximum number of results to return. The default is 20. Valid values are 1 through 200. |
The response includes matching skills, the field containing the match, and a content snippet.
| Field | Type | Description |
|---|---|---|
id |
string | Identifier of the Skill. |
resource_uri |
string | The learnosity:// URI for the Skill. |
title |
string | Title of the Skill. |
match_field |
string | The field that matched the query. |
snippet |
string | Extract of the matching content. |
Feedback tools
get_feedback_link
Retrieves the URL of the Learnosity Build Aide MCP feedback page, where you can submit feedback about Learnosity Build Aide MCP.
This tool does not require any parameters. It returns a message for your AI coding assistant to display and the feedback page URL.
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.
Resources
Alongside tools, the server publishes MCP resources under the learnosity:// scheme. Resources suit clients that prefer addressable reads to tool calls, and they return the same content.
| Resource | Serves |
|---|---|
learnosity://sources/index |
The configured documentation sources |
learnosity://skills/index |
Every available skill, with identifier, title, goal, and APIs |
learnosity://skills/skill/{skill_id} |
One skill's markdown body |
learnosity://help-site/index |
Article metadata for the help site |
learnosity://help-site/article/{article_id} |
One help site article in full |
learnosity://author-guide/index |
Article metadata for the author guide |
learnosity://author-guide/article/{article_id} |
One author guide article in full |
learnosity://feedback-aide/index |
Endpoint metadata for Feedback Aide |
learnosity://feedback-aide/article/{article_id} |
One Feedback Aide endpoint document |
learnosity://demos/index |
Page metadata for the demo site |
learnosity://demos/article/{article_id} |
One demos page |
learnosity://github/index |
Repository metadata for Learnosity's public GitHub organisation |
learnosity://github/article/{article_id} |
One repository README |
Note that resource URIs use hyphens where source identifiers use underscores - the help site is help_site as a tool argument and help-site in a resource URI. Every search result includes its own resource URI, so you rarely need to construct one by hand.
Transport and sessions management
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.
The Accept header must include both application/json and text/event-stream. Requests that specify only one of these content types receive a HTTP 406 Not Acceptable response.
Clients that establish a connection using an initialization handshake receive a Mcp-Session-Id header in the initial response. Include this session identifier in all subsequent requests, including the GET request that opens the server-to-client event stream and the DELETE request that terminates the session.
Clients using MCP protocol version 2026-07-28 or later send self-contained requests and do not receive a session identifier.
To check service availability, send a GET request to /health-check. The endpoint returns 200 while the service is still serving, so read the response body rather than the status code.
Errors
The documentation and Skills tools can return the following errors:
-
"Unknown source: {source}"- The specifiedsourcevalue does not match a configured source identifier. -
"Unknown source(s): {sources}"- One or more values insourcesdo not match configured source identifiers. -
"Article {article_id} not found in local cache. Documentation is always up to date."- The specifiedarticle_idis not available in the documentation index. -
"Invalid skill id. Must be kebab-case ([a-z0-9-])."- The specifiedskill_iddoes not use kebab case. -
"Skill '{skill_id}' not found"- The specifiedskill_iddoes not match an available Skill. -
"Skill '{skill_id}' could not be parsed."- The requested Skill could not be read.
Search and the golden path gate
How search works
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.
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.
If semantic search is unavailable, Learnosity Build Aide MCP returns lexical search results instead.
The golden path
The golden path represents the recommended APIs for a typical Learnosity integration:
Author API → Items API → Reports API
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.
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.
| Lower-level API | Prefer | Why |
|---|---|---|
| Questions API | Items API | Renders standalone Questions, leaving Activity assembly, session handling, and submission to your application. |
| Assess API | Items API | Provides the assessment player without Item sourcing or session management. |
| Question Editor API | Author API | Edits an individual Question without Item or Activity authoring. |
What the golden path gate does
When search_docs_sources 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.
The golden path gate can produce the following outcomes:
- 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.
- 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.
- Reason provided - An
off_golden_path_reasonis supplied with the request. Matching results are returned without being withheld.
| Field | Type | Description |
|---|---|---|
type |
string | Always golden_path. |
message |
string | The recommendation to use the golden path. |
content_withheld |
integer | Number of results withheld. 0 for an advisory outcome. |
required_parameter |
string | The parameter needed to retrieve the withheld results. Present only when results were withheld. |
next_request_instruction |
string | How to repeat the request. Present only when results were withheld. |
reason |
string | The off_golden_path_reason supplied with the request. Present only when a reason was given. |
Using off_golden_path_reason
Use off_golden_path_reason 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.
search_docs_sources( query = "Assess API initialisation options", off_golden_path_reason = "Existing player built on Assess API; migrating is out of scope this quarter" )
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.
The golden path gate applies only to discovery through search_docs_sources. It does not prevent direct access to documentation, Skills, or MCP resources.
Skills
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.
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.
Available skills catalog
The catalog is continuously expanding. Skills currently available:
| Skill | Identifier | What it covers |
|---|---|---|
| Golden Path (Author, Items, Reports) | golden-path-author-items-reports |
The core end-to-end integration path - authoring content, delivering an assessment, and reporting on results |
| Signature Generation | generate-and-troubleshoot-request-signatures |
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 |
| LTS Upgrade Paths | lts-upgrade-paths |
End-to-end upgrade methodology and common breaking changes, including multi-version jumps |
| Customise Assessment / UI Regions | customise-assessment-ui-regions |
Assessment player customisation - moving the table of contents, triggering standard and custom dialogs programmatically, and the core UI Region patterns |
| SDK Install / set-up | install-and-set-up-the-sdk |
Working with Learnosity supported SDKs (PHP, Python, Node.js, Ruby, Java, and .NET/C#) and pointing to the right direction |
| Content Migration | content-migration |
Data API migration patterns, @learnosity/lib-qti-converter import workflow, QTI conversion, and the SET ITEMS step required to make imported content visible in Authoring |
| Multi-Tenancy | multi-tenancy |
Customer segregation, recommended architecture patterns, and common pitfalls |
| Build Custom Questions and Features | build-custom-questions-and-features |
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 |
Ask your assistant to list the currently available skills for an authoritative, up-to-date answer.
Example: Upgrade to a newer Learnosity LTS version
This illustrates the intended workflow. Exact assistant behavior varies by client and model.
1. Establish the upgrade path
"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."
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.
2. Narrow the breaking changes to your integration
"Which of those breaking changes affect Items API and Reports API? We don't use Author API."
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.
If the upgrade also means moving to a newer SDK, ask for that skill directly:
"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."
3. Verify your configuration against the target version
"Check my Items API initialization options against the target LTS and flag anything removed or renamed."
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.