npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

haroldorg-mcp-server-get-user

v1.0.0

Published

Busca um usuário pelo e-mail ou displayName usando a API do Microsoft Graph.

Downloads

4

Readme

MCP Server Get User

Este projeto é um servidor MCP (Model Context Protocol) construído com TypeScript que fornece ferramentas para buscar informações de usuários usando a API do Microsoft Graph.

Sobre o Projeto

O haroldorg-mcp-server-get-user é um servidor MCP que expõe uma ferramenta chamada getUser que permite consultar informações de usuários do Microsoft Graph usando e-mail ou nome de exibição (displayName).

Estrutura do Projeto

haroldorg-mcp-server-get-user/
├── src/
│   ├── app.ts                # Aplicação Express (API REST)
│   ├── mcp-server.ts         # Servidor MCP principal
│   ├── controllers/
│   │   └── userController.ts # Controlador para operações de usuário
│   ├── routes/
│   │   └── userRoutes.ts     # Rotas da API REST
│   └── types/
│       └── index.ts          # Definições de tipos TypeScript
├── package.json              # Configuração do npm
├── tsconfig.json             # Configuração do TypeScript
└── README.md                 # Documentação do projeto

Instalação

Para usar este servidor MCP, você pode instalá-lo diretamente do npm:

npm install -g haroldorg-mcp-server-get-user

Ou, se preferir usar localmente no projeto:

npm install haroldorg-mcp-server-get-user

Instalação para Desenvolvimento

Para desenvolvimento local, clone o repositório e instale as dependências:

git clone <repository-url>
cd haroldorg-mcp-server-get-user
npm install

Configuração

1. Configuração no VS Code

Adicione a seguinte configuração no seu arquivo settings.json do VS Code:

{
  "mcp": {
    "servers": {
      "mcp-server-getUser": {
        "type": "stdio",
        "command": "npx",
        "args": ["haroldorg-mcp-server-get-user"],
        "env": {
          "GRAPH_ACCESS_TOKEN": "seu_token_do_microsoft_graph_aqui"
        }
      }
    }
  }
}

2. Obtendo o Token do Microsoft Graph

Para usar este servidor MCP, você precisa de um token de acesso do Microsoft Graph com as seguintes permissões:

  • User.Read.All - Para ler informações de todos os usuários
  • Directory.Read.All - Para ler informações do diretório

Você pode obter este token através:

  1. Azure Portal: Criando um App Registration
  2. Graph Explorer: Para testes rápidos em https://developer.microsoft.com/en-us/graph/graph-explorer
  3. PowerShell: Usando o módulo Microsoft.Graph

3. Configuração para Desenvolvimento Local

Se você estiver executando o servidor localmente para desenvolvimento, use:

{
  "mcp": {
    "servers": {
      "mcp-server-getUser": {
        "type": "stdio",
        "command": "npx",
        "args": ["ts-node", "src/mcp-server.ts"],
        "env": {
          "GRAPH_ACCESS_TOKEN": "seu_token_do_microsoft_graph_aqui"
        }
      }
    }
  }
}

Uso

Como Servidor MCP

Uma vez configurado no VS Code, o servidor MCP estará disponível para uso com ferramentas compatíveis com MCP. Você pode usar a ferramenta getUser para buscar informações de usuários.

Como API REST (Desenvolvimento)

Para executar como uma API REST tradicional para desenvolvimento:

npm start

A API estará disponível em http://localhost:3000.

Ferramentas Disponíveis

getUser

Busca um usuário pelo e-mail ou nome de exibição (displayName) usando a API do Microsoft Graph.

Parâmetros:

  • email (string, opcional): E-mail do usuário
  • displayName (string, opcional): Nome de exibição do usuário

Exemplo de uso:

{
  "email": "[email protected]"
}

ou

{
  "displayName": "João Silva"
}

Resposta: Retorna um objeto JSON contendo as informações do usuário encontrado.

Endpoint da API REST

GET /user/login

Este endpoint aceita o e-mail de um usuário como parâmetro de consulta e retorna uma resposta JSON contendo as informações do usuário.

Requisição

  • Parâmetro de Consulta: email (string) - O e-mail do usuário.

Resposta

  • 200 OK: Retorna um objeto JSON com as informações do usuário.
  • 404 Not Found: Se o usuário não for encontrado.

Scripts Disponíveis

  • npm start: Inicia a aplicação usando ts-node
  • npm run build: Compila o TypeScript para JavaScript
  • npm test: Executa os testes (atualmente não há testes especificados)

Dependências Principais

  • @modelcontextprotocol/sdk: SDK para implementação do protocolo MCP
  • @microsoft/microsoft-graph-client: Cliente para a API do Microsoft Graph
  • express: Framework web para Node.js (usado na API REST)
  • typescript: Suporte ao TypeScript

Variáveis de Ambiente

  • GRAPH_ACCESS_TOKEN: Token de acesso para a API do Microsoft Graph (obrigatório)

Solução de Problemas

Token Expirado

Se você receber erros de autenticação, verifique se seu token do Microsoft Graph não expirou. Tokens obtidos via Graph Explorer geralmente têm validade de 1 hora.

Permissões Insuficientes

Certifique-se de que o token possui as permissões necessárias (User.Read.All e Directory.Read.All).

Problemas de Conectividade

Verifique se há conectividade com a internet e se não há firewalls bloqueando as requisições para graph.microsoft.com.

Contribuindo

Contribuições são bem-vindas! Por favor, abra uma issue ou envie um pull request para melhorias ou correções de bugs.

Licença

Este projeto está licenciado sob a Licença ISC.