Try out the server and chatbot in an interactive, temporary Room for rapid testing and development. When the Room closes (goes inactive), all tools and chatbots are automatically removed.

1. Install Meshagent

pip install "meshagent[all]"

2. Sign up / Authenticate

Follow instructions at docs.meshagent.com/cli/getting_started to obtain an account and authenticate your CLI.

3. Start the MCP Server Tool in a Test Room

meshagent service test --room=test --role=agent --image=meshagent/mcp-edubase:latest --env MESHAGENT_PORT=8001 --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" --name=mcp-edubase-service-test
  • What this does: Opens a Meshagent Room named test and starts the EduBase MCP server as an agent. Tools are instantly available in the Room. The Room (and services) auto-close if left inactive.

4. Join with a Chatbot Agent & EduBase Toolkit

meshagent chatbot join --room=test --agent-name=mcp-edubase --name=mcp-edubase --toolkit=mcp-edubase
  • What this does: Launches a Meshagent-powered chatbot agent in the Room with access to the EduBase toolkit.
    • You can add multiple toolkits to the same agent or join with multiple agents in the same Room.
    • The output provides a Room link, e.g.: https://app.meshagent.com/rooms/...

5. Test in Your Browser

Open the Room link (from the previous step) in your browser, send a message to the agent chatbot, and interact with the MCP Server tools in real time!

Project Level Deployment: Persistent Services in All Rooms

For production or always-on deployment, create persistent Meshagent services that automatically join every new Room in your Meshagent project. This ensures EduBase tools and the chatbot are always present, with no need to manage local servers/processes.

1. Create a Persistent MCP Server Service

meshagent service create --role=agent --image=meshagent/mcp-edubase:latest --env MESHAGENT_PORT=8001 --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" --name=mcp-edubase-service

2. Create a Project-Level Chatbot Agent

meshagent service create --image="meshagent/cli:latest" --port="num=9001 path=/agent liveness=/ type=meshagent.callable participant_name=mcp-edubase-chatbot" --env="MESHAGENT_PORT=9001" --name="mcp-edubase-chatbot-service" --command="meshagent chatbot service --agent-name=mcp-edubase-chatbot --toolkit=mcp-edubase"
Result:
Every time a Room is created in your Meshagent project, both the MCP server and a chatbot agent are automatically started inside that Room, with no extra work required.

Tools Available

Below is a summary of available tools and detailed parameter documentation. These tools let AI agents and chatbots interact with EduBase’s platform to manage users, classes, quizzes, exams, SCORM materials, tags, and more.

Tools Summary

Tools provided by this ServerShort Description
edubase_delete_class_membersRemove user(s) from a class.
edubase_delete_class_permissionRemove a user permission from a class.
edubase_delete_class_tagRemove a tag attachment from a class.
edubase_delete_course_permissionRemove a user permission from a course.
edubase_delete_course_tagRemove a tag attachment from a course.
edubase_delete_event_permissionRemove a user permission from an event.
edubase_delete_event_tagRemove a tag attachment from an event.
edubase_delete_examRemove/archive exam.
edubase_delete_exam_permissionRemove a user permission from an exam.
edubase_delete_exam_tagRemove a tag attachment from an exam.
edubase_delete_exam_usersRemove user(s) from an exam.
edubase_delete_integration_permissionRemove a user permission from an integration.
edubase_delete_integration_tagRemove a tag attachment from an integration.
edubase_delete_organization_membersRemove user(s) from an organization.
edubase_delete_organization_permissionRemove a user permission from an organization.
edubase_delete_organization_tagRemove a tag attachment from an organization.
edubase_delete_questionPermanently delete a Quiz question.
edubase_delete_quizRemove/archive Quiz set.
edubase_delete_quiz_permissionRemove a user permission from a quiz.
edubase_delete_quiz_questionsRemove question(s) from a Quiz set, or one of its question group.
edubase_delete_quiz_tagRemove a tag attachment from a Quiz.
edubase_delete_scorm_permissionRemove a user permission from a SCORM learning material.
edubase_delete_scorm_tagRemove a tag attachment from a SCORM learning material.
edubase_delete_tag_permissionRemove a user permission from a tag.
edubase_delete_userDelete user.
edubase_delete_user_assumeRevoke assume token.
edubase_delete_user_classesRemove user from class(es).
edubase_delete_user_loginDelete a previously generated login link.
edubase_delete_user_organizationsRemove user from organization(s).
edubase_delete_video_permissionRemove a user permission from a video.
edubase_delete_video_tagRemove a tag attachment from a video.
edubase_get_classGet/check class.
edubase_get_class_assignmentsList all assignments in a class.
edubase_get_class_membersList all members in a class.
edubase_get_class_permissionCheck if a user has permission on a class.
edubase_get_class_tagCheck if tag is attached to a class.
edubase_get_class_tagsList all attached tags of a class.
edubase_get_classesList owned and managed classes.
edubase_get_course_permissionCheck if a user has permission on a course.
edubase_get_course_tagCheck if tag is attached to a course.
edubase_get_course_tagsList all attached tags of a course.
edubase_get_event_permissionCheck if a user has permission on an event.
edubase_get_event_tagCheck if tag is attached to an event.
edubase_get_event_tagsList all attached tags of an event.
edubase_get_examGet/check exam.
edubase_get_exam_permissionCheck if a user has permission on an exam.
edubase_get_exam_results_rawGet raw results for a specific exam.
edubase_get_exam_results_userGet user results for a specific exam.
edubase_get_exam_tagCheck if tag is attached to an exam.
edubase_get_exam_tagsList all attached tags of an exam.
edubase_get_exam_usersList all users on an exam.
edubase_get_examsList owned and managed exams.
edubase_get_integration_permissionCheck if a user has permission on an integration.
edubase_get_integration_tagCheck if tag is attached to an integration.
edubase_get_integration_tagsList all attached tags of an integration.
edubase_get_organizationGet/check organization.
edubase_get_organization_membersList all members in an organization.
edubase_get_organization_permissionCheck if a user has permission on an organization.
edubase_get_organization_tagCheck if tag is attached to an organization.
edubase_get_organization_tagsList all attached tags of an organization.
edubase_get_organizationsList owned and managed organizations.
edubase_get_questionCheck existing question.
edubase_get_quizGet/check Quiz set.
edubase_get_quiz_permissionCheck if a user has permission on a quiz.
edubase_get_quiz_play_resultsGet detailed results for a specific Quiz play.
edubase_get_quiz_questionsList all questions and question groups in a Quiz set.
edubase_get_quiz_results_userGet user results for a specific Quiz set.
edubase_get_quiz_tagCheck if tag is attached to a Quiz.
(and many more)

Tools Details (Sample)

edubase_delete_class_members

Remove user(s) from a class.
ParameterTypeDescription
classstringclass identification string
usersstringcomma-separated user IDs

edubase_delete_class_permission

Remove a user permission from a class.
ParameterTypeDescription
classstringclass identification
permissionstringpermission level (view / report / control / modify / grant / admin)
userstringuser identification

edubase_delete_class_tag

Remove a tag attachment from a class.
ParameterTypeDescription
classstringclass identification
tagstringtag identification

edubase_get_class

Get/check class.
ParameterTypeDescription
classstringclass identification string

edubase_post_quiz

Create a new Quiz set.
ParameterTypeDescription
quizstringquiz identification string

(For the full list and details, see the original tool descriptions or generated documentation.)

Meshagent brings orchestration, scalability, and real-time LLM tools to your EduBase workflows. Enjoy cloud-managed rooms and easy integration—no local hosting required!