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
Maintainers
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 projetoInstalação
Para usar este servidor MCP, você pode instalá-lo diretamente do npm:
npm install -g haroldorg-mcp-server-get-userOu, se preferir usar localmente no projeto:
npm install haroldorg-mcp-server-get-userInstalaçã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 installConfiguraçã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áriosDirectory.Read.All- Para ler informações do diretório
Você pode obter este token através:
- Azure Portal: Criando um App Registration
- Graph Explorer: Para testes rápidos em https://developer.microsoft.com/en-us/graph/graph-explorer
- 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 startA 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áriodisplayName(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-nodenpm run build: Compila o TypeScript para JavaScriptnpm 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.
