> ## Documentation Index
> Fetch the complete documentation index at: https://docs.junojourney.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP tool reference

> What your AI assistant can do in Juno over MCP, grouped by what you can ask for, and who gets each group.

export const RelatedPages = ({pages = []}) => {
  if (pages.length === 0) return null;
  return <>
      <br />
      <strong>Related articles</strong>
      <CardGroup cols={2}>
        {pages.map(page => <Card title={page.title} href={page.href} key={page.href} />)}
      </CardGroup>
    </>;
};

export const SupportContact = () => {
  return <Info title="Still need help?">
      Contact us at <a href="mailto:support@junojourney.com">support@junojourney.com</a> or open <strong>Support</strong> from your profile menu in Juno.
    </Info>;
};

<Info>
  Your assistant finds out which tools you have when it connects. This page groups them by what you can ask for, so you know what to expect and who gets what.
</Info>

You never call a tool yourself. You ask in plain words and your assistant picks the tools. The names below are what you see in your assistant's tool list and in its "used a tool" messages.

## Who gets which tools

Every tool follows your own Juno role. Most tools you can't use don't appear in your assistant at all.

| Group | Who gets it |
| - | - |
| [Search and read](#search-and-read) | Everyone who connects. Searching outside learning content also needs the LXP module. |
| [Courses, quizzes, and Journeys](#courses-quizzes-and-journeys) | Organizations with the Learning module (LMS). |
| [HTML lessons](#html-lessons) | Organizations with the Learning module (LMS). |
| [Images, audio, and video](#images-audio-and-video) | Organizations with the Learning module (LMS). |
| [Channel pages and topics](#channel-pages-and-topics) | Anyone who can create channels, for channels they admin. |
| [Channel library](#channel-library) | This may not be enabled for your organization. |
| [Company Academy page](#company-academy-page) | Admins, and anyone with admin access in the Platform area. |
| [On-Demand Catalog page](#on-demand-catalog-page) | The same people, in organizations with the LXP module. |
| [Public academy site](#public-academy-site) | This may not be enabled for your organization. Your public catalog must also be on. |
| [Page version history](#page-version-history) | The same people who get that page's tools above. |
| [Learning data](#learning-data) | Managers and Admins by default. |
| [Assign and notify](#assign-and-notify) | This may not be enabled for your organization. |
| [Company and user context](#company-and-user-context) | This may not be enabled for your organization. |
| [Guided first build](#guided-first-build) | This may not be enabled for your organization. |

If your administrator turns on a group while you're connected, reconnect the Juno server so the new tools load. See [Security & permissions](/mcp/security).

<Note>
  In assistants that support interactive cards, some tools show one: a created-course card with an **Open in Juno** link, review-before-send cards for assignments and notifications, page previews, the HTML lesson player, and the explainer storyboard.
</Note>

## Search and read

Ask: *"Do we already have a course on data privacy?"* or *"Summarize our onboarding course and tell me what's missing."* Assistants search your library first so they reuse what you already have.

| Tool | What it does |
| - | - |
| `search_lms_content` | Searches your Juno library for courses, quizzes, Journeys, and other units. |
| `read_unit_text` | Reads a unit's full text, including text from embedded documents, video, and audio, so the assistant can answer from it and cite it. |
| `search_external_content` | Searches third-party learning content such as Udemy, YouTube, and LinkedIn Learning. Needs the LXP module. |
| `read_skill` | Loads a how-to playbook for a multi-step job, such as learning analytics or library search. Appears only when a playbook applies to you. |
| `list_unit_types`, `list_editor_components`, `list_editor_themes`, `get_plate_json_conventions` | Reference material for building content: the unit types you can create, the editor components and themes, and the conventions for writing a section. Everyone who connects gets these, even without the Learning module. |

## Courses, quizzes, and Journeys

Ask: *"Plan a short course on our expense policy for new managers, and show me the outline before you create anything."* Your assistant plans first, builds one section at a time, checks its work, and publishes only when you say so.

| Tool | What it does |
| - | - |
| `plan_course_structure`, `plan_quiz`, `plan_journey` | Draft an outline for you to approve before anything is created. |
| `create_unit` | Creates a course, quiz, survey, or Journey. |
| `add_section_to_course` | Adds a section to a course. |
| `update_section_content` | Writes a section: text, images, callouts, columns, flashcards, and the questions of a quiz or survey. |
| `update_unit_metadata` | Changes the title, description, tags, theme, level, language, duration, or cover image. |
| `configure_quiz` | Sets attempts, passing score, time limit, whether results are shown, question order, and when answers are revealed. |
| `add_unit_to_journey`, `reorder_unit_children`, `remove_unit_child` | Attaches existing content to a Journey, reorders its steps or a course's sections, or removes one. Removing doesn't delete the unit. |
| `read_unit_content_blocks`, `list_unit_children` | Reads a unit's editable content, or lists a Journey's steps or a course's sections in order. |
| `validate_section_relevancy`, `validate_unit` | Checks a section against the course goals, and checks a whole unit for missing covers, thin sections, and quiz grading gaps. |
| `publish_unit` | Publishes a course or quiz, or every course and quiz in a Journey. |
| `get_authoring_guide`, `get_layout_guideline`, `get_section_recipes` | Reference material your assistant reads to write well: the authoring workflow, section layouts, and instructional patterns. |

<Note>
  Changes to a course, quiz, or survey are saved as a draft and stay invisible to learners until you publish. Changes to a Journey's steps are saved directly, not as a draft.
</Note>

## HTML lessons

Ask: *"Build an interactive lesson where people practice spotting phishing emails."* HTML lessons are custom-built games, simulations, and branching scenarios. See [HTML Lessons](/learning/html-lessons) for the full loop, and [SCORM Content](/learning/scorm-content) for how they track completion.

| Tool | What it does |
| - | - |
| `get_html_lesson_guide` | Reads the rules for a lesson that records score, completion, and resume state. |
| `draft_html_lesson`, `edit_html_lesson_file`, `put_html_lesson_file` | Stages a lesson as a draft, edits one file in it, or adds an image, audio clip, video, or font. |
| `preview_html_lesson` | Plays the lesson in a preview and logs every tracking call, so you can check how it looks and how it grades before saving. |
| `create_html_lesson` | Saves the draft as a playable unit. It's live immediately, with no publish step. |
| `read_html_lesson`, `update_html_lesson` | Reads a saved lesson, then saves your changes as a new version. |
| `list_html_lesson_versions`, `revert_html_lesson_to_version` | Shows every saved version and restores an earlier one. Restoring adds it as a new version, so the history stays intact. |

## Images, audio, and video

Ask: *"Give this course a cover image, then add a short narrated explainer video to section 2."*

| Tool | What it does |
| - | - |
| `generate_image` | Creates an AI image for a course cover, a section banner, or the body of a section. |
| `generate_audio` | Turns a script into spoken narration. |
| `generate_video` | Creates realistic AI footage, like filmed b-roll. The footage has no titles or captions baked in. |
| `preview_explainer_storyboard`, `generate_explainer_video` | Shows a storyboard of scenes and narration for you to review, then renders a designed explainer video that teaches even with the sound off. |
| `get_video_status` | Checks a video that's rendering and collects it when it's done. A render continues after the chat ends, so you can pick it up in a later chat. |
| `request_media_upload`, `attach_uploaded_media` | Brings in a file you already have, such as an image, video, audio clip, document, or HTML lesson file, about 200 MB or smaller, to use in a course. |

## Channel pages and topics

Ask: *"Design the page for our Sales Enablement channel, and add topics for Onboarding and Product."* You can change only channels you admin, and `list_channels` marks which those are.

| Tool | What it does |
| - | - |
| `list_channels` | Lists the channels you can access, with the ones you administer marked. |
| `get_channel_structure` | Reads a channel's layout settings, topic tree, and content counts. |
| `create_channel_topic`, `reorder_channel_topics` | Adds a topic or subtopic, or sets the order of topics. |
| `generate_channel_topic_cover` | Creates an AI cover image for a topic. Needs the Learning module. |
| `update_channel_layout` | Changes a channel's page design (hero, page, and topic pages) and its view settings: default view, sort, topics display, hero style, accent color, and card sizes. It can also set the view, sort, card size, and a custom order for a single topic. |
| `preview_channel_page` | Shows how a page design will look before you save it. Nothing is saved. |
| `set_live_channel_version` | Publishes a saved design to all members, or rolls back to an earlier one. |

<Warning>
  A new page design is saved as a draft that members don't see until it's published. View settings are different: they apply to all members right away. So does removing a channel's custom page entirely, though the earlier design can be restored.
</Warning>

`list_channels` also comes with the [channel library](#channel-library) tools, so people with those tools can see their channels even when they can't design channel pages.

## Channel library

This may not be enabled for your organization.

Ask: *"Add the new security course to the Compliance channel,"* or *"Find three good videos on giving feedback and let me approve each one before you add them."*

| Tool | What it does |
| - | - |
| `get_channel_content` | Reads what's pinned in a channel, so the assistant doesn't add something twice. |
| `channel_add_content` | Adds a course, quiz, Journey, event, or SCORM lesson to a channel, and can file it under a topic. Members are notified according to their preferences, a Slack-connected channel posts it to Slack, and a channel set to auto-assign gives it to every member. |
| `remove_channel_content` | Unpins content from a channel. Channel admins only, and it asks you to confirm first. The content itself isn't deleted. |
| `create_channel` | Creates a channel. You become its admin, and it's private by default. Also needs permission to create channels. |
| `delete_channel` | Moves a channel to the recycle bin. Channel admins only, and it asks you to confirm first. |
| `prepare_external_content_review`, `add_external_content_to_channel` | Shows a card of outside content candidates, one checkbox each, then adds only the items you approve. |

## Company Academy page

Ask: *"Redesign our Company Academy page in our brand colors, and translate it into French and German."*

| Tool | What it does |
| - | - |
| `get_academy_structure` | Reads the page setup: the languages it exists in, its versions, and which version is live. |
| `preview_academy_page` | Shows a design as it will be stored. Nothing is saved. |
| `update_academy_layout` | Designs the custom page every employee lands on. It's saved as a new version and doesn't go live yet. |
| `set_live_academy_version` | Puts a version in front of the whole company in one language, or stops serving a language. Your assistant should confirm with you first. |
| `translate_academy_page` | Creates versions of the page in other languages, from the page currently live in your main language. They're saved as drafts, so you publish each language yourself. |

Admins can also preview, publish, and roll back versions, and add languages, without your assistant. See [Pages](/admin/pages).

## On-Demand Catalog page

The page your LXP learners land on. It works like the Company Academy page.

| Tool | What it does |
| - | - |
| `get_lxp_catalog_structure` | Reads the page setup, versions, and what's live. |
| `preview_lxp_catalog_page` | Shows a design as it will be stored. Nothing is saved. |
| `update_lxp_catalog_layout` | Designs the page, using rows of personalized recommendations. Saved as a new version, not live. |
| `set_live_lxp_catalog_version` | Puts a version in front of every LXP learner in one language, or stops serving a language. Your assistant should confirm with you first. |
| `create_lxp_recommendation_strip` | Adds a custom recommendations row the built-in rows don't cover, such as a topic, a region, or a provider. The row may stay empty until Juno finishes setting it up. |

## Public academy site

This may not be enabled for your organization.

Ask: *"Change our public course catalog to use our brand colors, then draft a new About page."*

| Tool | What it does |
| - | - |
| `update_public_academy_settings` | Changes how the public catalog looks: colors, fonts, corner radius, cards or rows, filter tabs, card style, navigation menu, and header. |
| `manage_public_academy_pages` | Lists, uploads, publishes, and reads back the site's custom HTML landing pages, such as the homepage and About, and chooses the home page. |
| `preview_public_academy_page` | Shows a landing page as it will be stored. Nothing is saved. |

Settings and page changes are saved as drafts until they're published. The exception is a brand-new page, which goes live as soon as it's saved.

## Page version history

Ask: *"Go back to the hero we had last week."*

| Tool | What it does |
| - | - |
| `list_page_versions` | Lists every saved version of a channel page, the Company Academy page, the On-Demand Catalog page, or a public academy page, with its status, author, date, and which one is live. Can also open an older version, so your assistant can reuse its design or roll back to it. |

To roll back, the assistant publishes the older version with that page's own go-live tool, and should confirm with you first.

## Learning data

Ask: *"Who in Sales is overdue on Compliance 2026?"* or *"How are completion rates trending for onboarding?"* Results follow your role. Anything beyond your role comes back as a permission error.

| Tool | What it does |
| - | - |
| `list_insights`, `get_insights` | Lists the questions Juno can answer from ready-made insights, then fetches the numbers over time. Organization-wide insights need an Admin. |
| `list_dashboards`, `get_dashboard_data` | Finds a saved insight dashboard and reads its numbers, exactly as they appear on screen. |
| `drill_insight` | Turns an insight into the filters for the learners behind the number. It's always a live, current-state read, so it can differ from a past data point. |
| `get_now_snapshot` | Shows where assignments stand right now: overdue, never started, stuck in progress, due soon. Organization-wide, so Admins only. |
| `learning_activities_describe`, `learning_activities_get_filter_options`, `learning_activities_query`, `learning_activities_grouped` | Asks about Learning Activities, one row per learner and content item, as lists or as totals. Admins see the organization. Managers see their own people. |
| `learning_activities_save_view` | Saves a request you just ran as a private view on your Learning Activities board. Your assistant offers once and saves only if you agree. Names are unique, with up to 20 views. |

See [Learning Management](/admin/learning-management) and [Learning Activities](/managers/learning-activities) for the table your saved views open in.

## Assign and notify

This may not be enabled for your organization.

Ask: *"Assign the Compliance 2026 course to everyone in Legal by the end of the month, and send them a reminder."* Your assistant should confirm the content and the audience with you before it assigns or sends.

| Tool | What it does |
| - | - |
| `resolve_cohort` | Turns a phrase like "the design team in New York" into a concrete audience, with a count, sample names, and filter options. |
| `search_users` | Finds specific learners to add to an audience. |
| `prepare_assignment` | Opens an assignment card where you review the content, audience, steps or sessions, and due date, then assign. |
| `assign_unit` | Assigns content to a chosen audience directly. |
| `list_notification_variables` | Lists the placeholders, like a first name, that fill in for each recipient. |
| `prepare_notification` | Opens a notification card where you edit and send an email and in-app notification. |
| `send_notification` | Sends an email and in-app notification to a chosen audience. |

## Company and user context

This may not be enabled for your organization.

| Tool | What it does |
| - | - |
| `get_company_context` | Reads your organization's published company profile, including its terminology and tone, and the brand colors and logos, so authored pages match your look. |
| `update_user_context` | Saves a lasting preference of yours, such as "keep answers concise" or "reply in French". |

## Guided first build

This may not be enabled for your organization. It also needs the Learning module, permission to create channels, and the [channel library](#channel-library) tools.

Ask: *"I'm new to Juno. Where do I start?"*

| Tool | What it does |
| - | - |
| `start_juno_onboarding` | Walks someone new through a first build, one step at a time. |

The guide builds real work in one private channel you can keep: courses on your own material, an explainer video, an interactive practice lesson, a branded channel page, and a Journey that ties it together. It teaches you the prompts as it goes, so you can repeat each step on your own. Your assistant asks for your approval after each step, and picks up where you left off if you come back later.

## Prompts in your assistant

If you have the Learning module, assistants that show MCP prompts, as buttons or slash commands, list two for building courses. Juno also has its own buttons that open a ready-made prompt in your assistant. See [Start from inside Juno](/mcp/overview#start-from-inside-juno).

| Prompt | What it does |
| - | - |
| Plan a course outline (review before committing) | Proposes a 3 to 7 section outline for your topic, then waits. It creates the course only after you approve. |
| Author a single section end-to-end | Picks a layout, fills it in, adds images, saves, and validates one section of an existing course. |

<SupportContact />

<RelatedPages
  pages={[
{ href: "/mcp/overview", title: "MCP overview" },
{ href: "/mcp/security", title: "Security & permissions" },
{ href: "/mcp/troubleshooting", title: "Troubleshooting" },
{ href: "/learning/html-lessons", title: "HTML Lessons" },
{ href: "/admin/pages", title: "Pages" }
]}
/>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.