RateMySupervisor MCP
Consulta datos de evaluación de supervisores con coincidencia aproximada para nombres en chino y pinyin.
Documentación
RateMySupervisor_MCP
RateMySupervisor_MCP es un servidor construido sobre FastMCP que proporciona una interfaz para consultar datos de evaluaciones de supervisores de RateMySupervisor. Los modelos de lenguaje grandes (LLM) u otros clientes compatibles con el protocolo MCP pueden obtener fácilmente información sobre supervisores, departamentos y evaluaciones a través de este servidor. El servidor incluye una función inteligente de coincidencia difusa para nombres de supervisores, que admite el reconocimiento automático de nombres en chino y pinyin, y puede guiar a los modelos de lenguaje para realizar consultas eficientes y precisas mediante instrucciones detalladas.
demo
Fuente de datos
Fuente de datos: https://github.com/pengp25/RateMySupervisor, este repositorio utiliza herramientas de scraping para obtener datos de evaluaciones de supervisores de RateMySupervisor, almacenados como data/comments_data.json.
comments_data.json almacena datos en formato json de la siguiente manera:
[
{
"school_cate": "",
"university": "",
"department": "",
"supervisor": "",
"rate": 0,
"description": ""
}
]
Instalación y ejecución
-
Clonar el repositorio
git clone https://github.com/CJL196/RateMySupervisor_MCP.git cd RateMySupervisor_MCP -
Instalar dependencias El proyecto depende de
fastmcp,pydanticypinyin. Instálelos con el siguiente comando:pip install -r requirements.txt -
Ejecutar el servidor Ejecute directamente
server.pypara iniciar el servidor MCP:python server.pyEl servidor se ejecutará en modo MCP Stdio, esperando la conexión de clientes.
Configuración del cliente MCP
Para integrar este servidor en un cliente compatible con MCP (como cursor o cline), puede utilizar una configuración similar a la siguiente. Asegúrese de modificar las rutas en command y args a la ruta absoluta de server.py en su sistema.
{
"mcpServers": {
"RateMySupervisor": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "python",
"args": [
"/path/to/your/RateMySupervisor_MCP/server.py"
],
"env": {}
}
}
}
Herramientas disponibles (API)
El servidor (name="导师评价查询系统") proporciona las siguientes herramientas:
1. search_supervisor_by_name
Busca evaluaciones relacionadas mediante coincidencia difusa del nombre del supervisor.
Nota: Esta herramienta admite coincidencia inteligente de nombres. Cuando se ingresa un nombre en chino (como "何凯明"), el servidor buscará automáticamente su forma en chino y su forma correspondiente en pinyin (como "Kaiming He"), manejando eficazmente los casos en que los nombres de los supervisores en los datos estén en inglés o pinyin.
- Parámetros:
name(string, obligatorio): El nombre del supervisor a buscar.
- Respuesta exitosa:
{ "success": true, "data": [ { "school_cate": "985", "university": "哈尔滨工业大学", "department": "机电工程学院", "supervisor": "周裕(深圳,千人计划)", "rate": 2.5, "description": "自证认识导师:57年生人...\n学术水平:喜欢发高质量论文..." } ] } - Respuesta de error:
{ "success": false, "message": "没有找到名为 '张三' 的导师。" }
2. get_departments_by_university
Obtiene la lista de todos los departamentos de una universidad según su nombre.
- Parámetros:
university(string, obligatorio): El nombre de la universidad a consultar.
- Respuesta exitosa:
{ "success": true, "data": [ "机电工程学院", "计算机科学与技术学院" ] } - Respuesta de error:
{ "success": false, "message": "没有找到大学 '未知大学' 的信息或该大学下没有院系列表。" }
3. get_supervisors_by_university_and_department
Obtiene la lista de todos los supervisores de un departamento según la universidad y el nombre del departamento.
- Parámetros:
university(string, obligatorio): Nombre de la universidad.department(string, obligatorio): Nombre del departamento.
- Respuesta exitosa:
{ "success": true, "data": [ "杨立军", "白基成", "郝明晖" ] } - Respuesta de error:
{ "success": false, "message": "在 '哈尔滨工业大学' 的 '未知学院' 没有找到导师信息。" }
4. get_reviews
Obtiene evaluaciones específicas según la información completa de universidad, departamento y supervisor.
- Parámetros:
university(string, obligatorio): Nombre de la universidad.department(string, obligatorio): Nombre del departamento.supervisor(string, obligatorio): Nombre del supervisor. Admite coincidencia difusa inteligente (nombre en chino y pinyin).
- Respuesta exitosa:
{ "success": true, "data": [ { "school_cate": "985", "university": "哈尔滨工业大学", "department": "机电工程学院", "supervisor": "杨立军", "rate": 5.0, "description": "自证认识导师:办公室在制造楼5楼..." } ] } - Respuesta de error:
{ "success": false, "message": "没有找到关于 '哈尔滨工业大学' '机电工程学院' 的 '王五' 导师的评价。" }