EdyVision/student-services-mcp
If you are the rightful owner of student-services-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Student Services MCP Server is a FastAPI-based server that provides student services functionality through a Model Control Protocol (MCP) interface.
title: Student Services MCP Server tags:
- mcp
- fictitious
- education emoji: 🧾 colorFrom: blue colorTo: green sdk: docker sdk_version: "1.0" app_file: Dockerfile pinned: false
Student Services MCP Server
This is a FastAPI-MCP based server that provides student services functionality through an MCP (Model Control Protocol) interface. The server allows you to manage and check student financial aid eligibility. It was built as part of the 5-Day Google AI Kaggle Competition / Course
in Q1 of 2025 and has since been expanded to have additional functionality to support the new Academic Planning Agent
sample project.
For the original agent concept, check out the Medium post or Kaggle notebook for full submission details.
For the new Academic Planning Assistant, check out Academic Planning Assistant Project.
It demonstrates how to:
- Fetch student profiles and academic history
- Determine financial aid eligibility based on academic performance and field of study
- Handle synthetic data for demonstration purposes
Prerequisites
- Python 3.13+
- uv - A fast Python package installer and resolver
- Docker (optional, for containerized deployment)
Features
- Fetch student information
- Check student eligibility for financial aid
- Manage student records
- Real-time eligibility updates
API Endpoints
The server exposes the following main endpoints:
/messages/
- Main endpoint for all MCP operations/mcp
- Server-Sent Events endpoint for real-time updates
Available Commands
fetch_students
- Retrieves a list of all studentscheck_financial_aid_eligibility <student_id>
- Checks financial aid eligibility for a specific studentfetch_student <student_id>
- Retrieves detailed information for a specific student
Development
The server uses:
- FastAPI for the web framework
- UV for Python package management
- MCP for the protocol implementation
Local Development
- Clone the repository:
git clone https://github.com/edyvision/student-services-demo-mcp.git
cd student-services-demo-mcp
- Install dependencies:
uv sync
# or
make install
- Run the server:
uv run main.py
#or
make start.mcp
- Connecting with Custom Client or Agent
A simple Python client is provided to interact with the server. The client is located in
src/client.py
. Here's how to use it:
from src.client import StudentServicesMCPClient
# Create a client instance
client = StudentServicesMCPClient()
# Connect
await client.connect_to_server()
# Fetch students
students = await client.fetch_students(limit: int = <limit>)
# Check eligibility for a specific student
student_id = "<student_id>"
eligibility = await client.check_financial_aid_eligibility(student_id)
# Fetch details for a specific student
student_details = await client.fetch_student(student_id)
Docker Setup
Building the Image and Running Container
docker compose up --build
The server will be available at http://localhost:7860
Deployment
This project deploys to HuggingFace. Simply create a new HuggingFace Space, update the Makefile with your space URL, then run the following:
make hf.deploy
Connecting to Cursor
To connect Cursor to either your local or HF deployed space, update the mcp.json file to include the following:
{
"mcpServers": {
"student-services-mcp-hf": {
"url": "https://<hf_user-handle>-student-services-demo-mcp.hf.space/mcp",
"headers": {
"Authorization": "Bearer ${HF_TOKEN}",
"Accept": "text/event-stream",
"Cache-Control": "no-cache",
"Connection": "keep-alive"
}
},
"student-services-mcp-local": {
"url": "http://0.0.0.0:7860/mcp"
}
}
}