NEI MCP Server

Um servidor para interagir com a plataforma NEI para consultar recursos de projetos.

Documentação

nei-mcp-server

Um servidor de ferramentas baseado em fastmcp para interagir com a plataforma NEI, fornecendo capacidade de consultar recursos de projetos NEI.

Funcionalidades principais

Este projeto encapsula as funcionalidades comuns da plataforma NEI como uma série de ferramentas MCP, facilitando consultas rápidas e integração. As ferramentas suportadas são:

  • sync_nei_project: Força a sincronização dos dados mais recentes do projeto a partir da plataforma NEI remota e atualiza o cache local. Quando suspeitar que os dados locais não estão atualizados, ou precisar obter informações sobre interfaces de backend e modelos de dados que foram alterados recentemente, chame esta ferramenta primeiro.
  • search_interfaces_by_uri: Pesquisa difusa por recursos de interface em projetos NEI com base no URI (caminho da interface) definido.
  • search_interfaces_by_url: Pesquisa com precisão recursos de interface com base em pid e id do link de detalhes da interface NEI, por exemplo, http://nei.example.com/interface/detail/?pid=10135&id=13015.
  • search_interfaces_by_name: Pesquisa difusa por recursos de interface em projetos NEI com base no nome da interface.
  • search_groups_by_name: Pesquisa grupos de negócios em projetos NEI com base no nome do grupo.

Preparação do ambiente

  • Node.js (recomenda-se v20 ou superior)
  • pnpm (opcional, recomendado)

Instalação e configuração

  1. Clonar o projeto

    git clone https://github.com/leila-huang/nei-mcp-server.git
    cd nei-mcp-server
    
  2. Instalar dependências Usando npm:

    npm install
    

    Ou pnpm:

    pnpm install
    

Ferramentas de depuração

  1. Depuração com inspect Usando o comando inspect do fastmcp, você pode testar interativamente todas as ferramentas localmente. É necessário configurar SERVER_URL e PROJECT_ID na página web.

    npm run inspect
    

    Este comando fornece uma interface interativa onde você pode selecionar a ferramenta a ser executada e inserir parâmetros, sendo ideal para depuração e exploração.

  2. Depuração com cliente MCP

        {
          "mcpServers": {
              "nei-mcp-server": {
                  "command": "npx",
                  "args": ["tsx", "/PATH/TO/YOUR_PROJECT/src/index.ts"],
                  "env": {
                      "SERVER_URL": "xxx",
                      "PROJECT_ID": "xxx"
                  }
              }
          }
        }
    

Guia de uso do MCP

```bash
{
    "mcpServers": {
        "nei-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@leila329/nei-mcp-server"
            ],
            "env": {
                "SERVER_URL": "xxx",
                "PROJECT_ID": "xxx"
            }
        }
    }
}
```

Mecanismo de cache

Para melhorar o desempenho e reduzir a pressão de solicitações no servidor NEI, este projeto implementa uma estratégia simples de cache:

  1. Cache em memória: Os dados são armazenados em memória após o primeiro carregamento. Durante uma única execução do serviço, solicitações idênticas subsequentes serão retornadas diretamente da memória, evitando solicitações de rede repetidas. Após reiniciar o serviço, o cache em memória é limpo.
  2. Sincronização de rede: Ao iniciar o serviço, ou ao chamar manualmente a ferramenta sync_nei_project, os dados mais recentes do projeto são obtidos do servidor remoto NEI e o cache em memória é atualizado.

Você pode chamar manualmente a ferramenta sync_nei_project para forçar a sincronização de rede, garantindo que os dados estejam na versão mais recente.