Sobre o projeto

O TianGong-LCA-MCP é um servidor Model Context Protocol (MCP) que expõe capacidades de avaliação de ciclo de vida (LCA) do TianGong a hosts de IA compatíveis com MCP. Ele suporta dois transportes: STDIO para integração com clientes locais e HTTP Streamable para uso remoto. A configuração é feita por meio de variáveis de ambiente copiadas de `.env.example`, abrangendo o emissor do Supabase, a chave publicável, os IDs de clientes OAuth públicos admitidos e as origens de navegador permitidas. O README observa que a autenticação OAuth não exige Redis, segredo de cliente confidencial ou chave de criptografia de sessão no lado do servidor. As ferramentas de pesquisa de conjuntos de dados GLAD exigem uma chave de API GLAD adicional e uma URL base (padrão para o endpoint público Global LCA Data Access). O HTTP Streamable remoto é descrito como um recurso protegido por OAuth 2.1. Um host MCP compatível descobre os metadados do recurso protegido, segue o servidor de autorização Supabase Auth, abre o navegador do usuário e conclui o fluxo de Código de Autorização com PKCE S256. As credenciais são inseridas no navegador, e não no host de IA ou MCP. O Supabase emite tokens de acesso e tokens de atualização rotativos para o cliente MCP público; o cliente armazena o token de atualização localmente e envia um JWT de acesso ES256 de curta duração em cada requisição. O servidor verifica assinatura, emissor, audiência, expiração, papel/sessão e ID de cliente exato, com Edge/PostgREST re-verificando o contexto e aplicando segurança em nível de linha. O Registro Dinâmico de Clientes está desativado; os operadores registram clientes públicos exatos e callbacks de loopback no Supabase e listam seus UUIDs em uma variável de lista de permissões. A origem do MCP em si não expõe endpoints de autorização, token, atualização, revogação, callback, registro ou demonstração. As opções de instalação e inicialização incluem um pacote pnpm global (`@tiangong-lca/mcp-server`) executado como servidor STDIO via dotenv-cli, ou uma imagem Docker construída localmente publicada na porta 9278 com um arquivo de ambiente. Os testes locais usam scripts pnpm: `pnpm start` para o servidor STDIO através do MCP Inspector, `pnpm start:server` para o servidor HTTP Streamable e `pnpm start:server-local` para uma variante HTTP local. Os comandos de início HTTP lançam o MCP Inspector através de um wrapper de argv Node multiplataforma. O README documenta uma toolchain fixada (Node 24.19.0, pnpm 11.24.0, TypeScript 7.0.2) e observa que os exemplos Docker descrevem uma construção local porque nenhuma tag de imagem pré-construída pública é verificada.