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

demo1 demo2

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

  1. Clonar el repositorio

    git clone https://github.com/CJL196/RateMySupervisor_MCP.git
    cd RateMySupervisor_MCP
    
  2. Instalar dependencias El proyecto depende de fastmcp, pydantic y pinyin. Instálelos con el siguiente comando:

    pip install -r requirements.txt
    
  3. Ejecutar el servidor Ejecute directamente server.py para iniciar el servidor MCP:

    python server.py
    

    El 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": "没有找到关于 '哈尔滨工业大学' '机电工程学院' 的 '王五' 导师的评价。"
    }