juno-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@juno-mcpshow my attendance details"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Juno ERP MCP Client
A modular Model Context Protocol (MCP) server for interacting with MGMU Juno ERP. It exposes both student (own data) and employee (university-wide management) capabilities as tools for use with LLMs (like Claude).
🚀 Features
Student tools: profile, academic info, attendance (+ graph), fees, admission, exam results, schedule, courses, search.
Employee tools: university-wide search and the full student-management dashboard (personal info, academics, fees, attendance/marks graphs, exams, transfers, hostel, library, placement, grievances, leave, and more) — looked up by
studentId.Profile-image proxy:
search_universityrewrites profile-picture URLs to this server, which streams the authenticated image back so the AI panel can render it directly.Optional proxy: route ERP traffic through an HTTP/HTTPS/SOCKS proxy, or auto-pick a free one.
Related MCP server: MUSTer MCP Server
🛠️ Setup
Install Dependencies:
npm installConfigure Environment: copy
.env.exampleto.envand fill it in.cp .env.example .envStudent account:
STUDENT_EMAIL/STUDENT_PASSWORD(legacyemail/passwordstill work).Employee account:
EMPLOYEE_EMAIL/EMPLOYEE_PASSWORD— required for the employee tools and the image proxy.PUBLIC_URL: the externally reachable base URL of this server (used to build image links). Defaults tohttp://localhost:<PORT>.Proxy (optional): set
PROXY_URL, orPROXY_USE_RANDOM=trueto auto-pick a free one. No proxy is used unless configured.
Build:
npm run build
🏃 Running the Server
npm run dev # live development
# or
npm run build && npm startThe MCP endpoint is http://localhost:8987/mcp. Health check at /health.
🖼️ Profile-image proxy
search_university returns each hit with its imageUrl rewritten to:
<PUBLIC_URL>/img/getStudentProfileImageById.json?id=<id>
<PUBLIC_URL>/img/getEmployeeProfileImageById.json?id=<id>Requesting that URL makes the server fetch the image from the ERP using the logged-in employee session and stream it back, so the AI can display it without its own credentials. Only the two known profile-image endpoints are proxied (it is not an open proxy).
🐳 Docker Support
The image is published to GHCR: ghcr.io/danish-mar/juno-mcp:master.
docker-compose up -d --build
docker logs -f juno-mcp
docker-compose downThis depends on juno-erp-client@^1.1.0 from npm, so the Docker build's
npm install resolves it from the registry with no extra setup.
🧰 Available Tools
Student (logged-in student's own data)
get_profile, get_academic_info, get_admission_details, get_remaining_fees,
get_fees_structure, get_attendance_details, get_attendance_graph,
get_exam_details, get_student_results, get_today_schedule,
get_courses_for_term, search_student
Employee (staff account)
search_university— search all students/staff; profile images are proxied.Per-student lookups (take a
studentId):get_student_personal_information,get_student_academic_info,get_student_admission_details,get_student_fees_details,get_student_fee_structure,get_student_receivable,get_student_attendance_details,get_student_attendance_graph,get_student_marks_graph,get_student_clinical_attendance_analysis,get_student_exam_details,get_student_transfer_details,get_student_transfer_history,get_student_event_details,get_student_grievances,get_student_library_details,get_student_placement_details,get_student_hostel_details,get_student_course_file_details,get_student_leave_history
🔒 Security
Credentials are loaded from
.env(gitignored), never hardcoded.Sessions are kept in memory per role and refreshed automatically on expiry.
The image proxy is restricted to the two ERP profile-image endpoints.
📄 License
ISC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/danish-mar/juno-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server