RateMySupervisor MCP

Consultar dados de avaliação de supervisores com correspondência aproximada para nomes em chinês e pinyin.

Documentação

RateMySupervisor_MCP

RateMySupervisor_MCP é um servidor construído com FastMCP que fornece uma interface para consultar dados de avaliações de orientadores do 导师评价网. Modelos de linguagem de grande porte (LLMs) ou outros clientes compatíveis com o protocolo MCP podem obter facilmente informações sobre orientadores, departamentos e avaliações por meio deste servidor. O servidor possui funcionalidade integrada de correspondência difusa inteligente para nomes de orientadores, com suporte ao reconhecimento automático de nomes em chinês e pinyin, e pode guiar o modelo de linguagem de grande porte por meio de instruções detalhadas para consultas eficientes e precisas.

demo

demo1 demo2

Fonte de Dados

Fonte de dados: https://github.com/pengp25/RateMySupervisor, este repositório utiliza ferramentas de web scraping para obter dados de avaliações de orientadores do 导师推荐网, armazenados como data/comments_data.json.

comments_data.json armazena dados json no seguinte formato:

[
  {
    "school_cate": "", 
    "university": "", 
    "department": "", 
    "supervisor": "", 
    "rate": 0, 
    "description": ""
  }
]

Instalação e Execução

  1. Clonar o repositório

    git clone https://github.com/CJL196/RateMySupervisor_MCP.git
    cd RateMySupervisor_MCP
    
  2. Instalar dependências O projeto depende de fastmcp, pydantic e pinyin. Instale com o seguinte comando:

    pip install -r requirements.txt
    
  3. Executar o servidor Execute diretamente server.py para iniciar o servidor MCP:

    python server.py
    

    O servidor será executado no modo MCP Stdio, aguardando conexões de clientes.

Configuração do Cliente MCP

Para integrar este servidor a um cliente compatível com MCP (como cursor ou cline), você pode usar uma configuração semelhante à seguinte. Certifique-se de modificar os caminhos em command e args para o caminho absoluto de server.py no seu sistema.

{
  "mcpServers": {
    "RateMySupervisor": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "python",
      "args": [
        "/path/to/your/RateMySupervisor_MCP/server.py"
      ],
      "env": {}
    }
  }
}

Ferramentas Disponíveis (API)

O servidor (name="导师评价查询系统") fornece as seguintes ferramentas:


1. search_supervisor_by_name

Busca difusa por avaliações relacionadas com base no nome do orientador.

Nota: Esta ferramenta suporta correspondência inteligente de nomes. Ao inserir um nome em chinês (como "何凯明"), o servidor pesquisa automaticamente sua forma em chinês e a forma correspondente em pinyin (como "Kaiming He"), lidando efetivamente com casos em que o nome do orientador nos dados está em inglês ou pinyin.

  • Parâmetros:
    • name (string, obrigatório): O nome do orientador a ser pesquisado.
  • Resposta de sucesso:
    {
      "success": true,
      "data": [
        {
          "school_cate": "985",
          "university": "哈尔滨工业大学",
          "department": "机电工程学院",
          "supervisor": "周裕(深圳,千人计划)",
          "rate": 2.5,
          "description": "自证认识导师:57年生人...\n学术水平:喜欢发高质量论文..."
        }
      ]
    }
    
  • Resposta de falha:
    {
      "success": false,
      "message": "没有找到名为 '张三' 的导师。"
    }
    

2. get_departments_by_university

Obtém a lista de todos os departamentos de uma universidade com base no nome da universidade.

  • Parâmetros:
    • university (string, obrigatório): O nome da universidade a ser consultada.
  • Resposta de sucesso:
    {
      "success": true,
      "data": [
        "机电工程学院",
        "计算机科学与技术学院"
      ]
    }
    
  • Resposta de falha:
    {
      "success": false,
      "message": "没有找到大学 '未知大学' 的信息或该大学下没有院系列表。"
    }
    

3. get_supervisors_by_university_and_department

Obtém a lista de todos os orientadores de um departamento com base no nome da universidade e do departamento.

  • Parâmetros:
    • university (string, obrigatório): Nome da universidade.
    • department (string, obrigatório): Nome do departamento.
  • Resposta de sucesso:
    {
      "success": true,
      "data": [
        "杨立军",
        "白基成",
        "郝明晖"
      ]
    }
    
  • Resposta de falha:
    {
      "success": false,
      "message": "在 '哈尔滨工业大学' 的 '未知学院' 没有找到导师信息。"
    }
    

4. get_reviews

Obtém avaliações específicas com base nas informações completas de universidade, departamento e orientador.

  • Parâmetros:
    • university (string, obrigatório): Nome da universidade.
    • department (string, obrigatório): Nome do departamento.
    • supervisor (string, obrigatório): Nome do orientador. Suporta correspondência difusa inteligente (nome em chinês e pinyin).
  • Resposta de sucesso:
    {
      "success": true,
      "data": [
        {
          "school_cate": "985",
          "university": "哈尔滨工业大学",
          "department": "机电工程学院",
          "supervisor": "杨立军",
          "rate": 5.0,
          "description": "自证认识导师:办公室在制造楼5楼..."
        }
      ]
    }
    
  • Resposta de falha:
    {
      "success": false,
      "message": "没有找到关于 '哈尔滨工业大学' '机电工程学院' 的 '王五' 导师的评价。"
    }