Gravatar
Interaja com avatares, perfis e interesses inferidos do Gravatar.
Documentação
Servidor MCP Gravatar
O servidor MCP oficial do Gravatar, permitindo acesso a avatares, perfis e interesses inferidos.
Instalação Rápida
Para instalação rápida no VS Code, clique em um dos botões de instalação abaixo:
Requisitos
Node.js
Este servidor MCP requer:
- Node.js: 20.0.0 ou superior
- npm: 10.0.0 ou superior
O servidor é testado e suportado em:
- Node.js 20 (LTS Ativo)
- Node.js 22 (LTS Atual)
- Node.js 24 (Atual)
Instalação
Você pode instalar e executar este servidor usando npx (recomendado) ou compilando a partir do código-fonte.
Ferramentas
-
get_profile_by_id- Recupera informações abrangentes do perfil Gravatar usando um identificador de perfil
- Entradas obrigatórias:
profileIdentifier(string): Um Identificador de Perfil (veja a seção Tipos de Identificadores)
- Retorna: Objeto de perfil como JSON com informações abrangentes do usuário
-
get_profile_by_email- Recupera informações abrangentes do perfil Gravatar usando um endereço de e-mail
- Entradas obrigatórias:
email(string): O endereço de e-mail associado ao perfil Gravatar. Pode ser qualquer formato de e-mail válido - o sistema normalizará e fará o hash do e-mail automaticamente para a consulta.
- Retorna: Objeto de perfil como JSON com informações abrangentes do usuário
-
get_inferred_interests_by_id- Busca interesses inferidos por IA para um perfil Gravatar usando um identificador de perfil
- Entradas obrigatórias:
profileIdentifier(string): Um Identificador de Perfil (veja a seção Tipos de Identificadores)
- Retorna: Lista de nomes de interesses inferidos por IA como JSON
-
get_inferred_interests_by_email- Busca interesses inferidos por IA para um perfil Gravatar usando um endereço de e-mail
- Entradas obrigatórias:
email(string): O endereço de e-mail associado ao perfil Gravatar. Pode ser qualquer formato de e-mail válido - o sistema normalizará e fará o hash do e-mail automaticamente para a consulta.
- Retorna: Lista de nomes de interesses inferidos por IA como JSON
-
get_avatar_by_id- Recupera a imagem do avatar para um perfil Gravatar usando um identificador de avatar
- Entradas obrigatórias:
avatarIdentifier(string): Um Identificador de Avatar (veja a seção Tipos de Identificadores)
- Entradas opcionais:
size(número, padrão: indefinido): Tamanho desejado do avatar em pixels (1-2048). As imagens são quadradas, então isso define largura e altura. Tamanhos comuns: 80 (padrão web), 200 (web de alta resolução), 512 (telas grandes).defaultOption(string, padrão: indefinido): Estilo de imagem substituta quando não existe avatar. Opções: '404' (retorna erro HTTP 404 em vez de imagem), 'mp' (silhueta de pessoa misteriosa), 'identicon' (padrão geométrico), 'monsterid' (monstro gerado), 'wavatar' (rosto gerado), 'retro' (estilo 8-bit), 'robohash' (robô), 'blank' (transparente).forceDefault(booleano, padrão: indefinido): Quando verdadeiro, sempre retorna a imagem padrão em vez do avatar do usuário. Útil para testar opções padrão ou garantir imagens substitutas consistentes.rating(string, padrão: indefinido): Classificação máxima de conteúdo a ser exibida. 'G' (público geral), 'PG' (orientação dos pais), 'R' (restrito), 'X' (explícito). Se o avatar do usuário exceder esta classificação, a imagem padrão é exibida.
- Retorna: Imagem do avatar em formato PNG
-
get_avatar_by_email- Recupera a imagem do avatar para um perfil Gravatar usando um endereço de e-mail
- Entradas obrigatórias:
email(string): O endereço de e-mail associado ao perfil Gravatar. Pode ser qualquer formato de e-mail válido - o sistema normalizará e fará o hash do e-mail automaticamente para a consulta.
- Entradas opcionais:
size(número, padrão: indefinido): Tamanho desejado do avatar em pixels (1-2048). As imagens são quadradas, então isso define largura e altura. Tamanhos comuns: 80 (padrão web), 200 (web de alta resolução), 512 (telas grandes).defaultOption(string, padrão: indefinido): Estilo de imagem substituta quando não existe avatar. Opções: '404' (retorna erro HTTP 404 em vez de imagem), 'mp' (silhueta de pessoa misteriosa), 'identicon' (padrão geométrico), 'monsterid' (monstro gerado), 'wavatar' (rosto gerado), 'retro' (estilo 8-bit), 'robohash' (robô), 'blank' (transparente).forceDefault(booleano, padrão: indefinido): Quando verdadeiro, sempre retorna a imagem padrão em vez do avatar do usuário. Útil para testar opções padrão ou garantir imagens substitutas consistentes.rating(string, padrão: indefinido): Classificação máxima de conteúdo a ser exibida. 'G' (público geral), 'PG' (orientação dos pais), 'R' (restrito), 'X' (explícito). Se o avatar do usuário exceder esta classificação, a imagem padrão é exibida.
- Retorna: Imagem do avatar em formato PNG
Opções de Avatar Padrão
404: Retorna um erro HTTP 404 em vez de uma imagem quando não existe avatarmp: (pessoa misteriosa) Um contorno simples de pessoa em estilo cartoonidenticon: Um padrão geométrico baseado no hash do e-mailmonsterid: Um 'monstro' gerado com diferentes cores, rostos, etcwavatar: Rostos gerados com características e fundos diferentesretro: Rostos pixelados incríveis gerados em estilo arcade 8-bitrobohash: Um robô gerado com diferentes cores, rostos, etcblank: Uma imagem PNG transparente
Opções de Classificação
G: Adequado para exibição em todos os sites com qualquer tipo de públicoPG: Pode conter gestos rudes, pessoas vestidas de forma provocante, palavrões leves ou violência leveR: Pode conter palavrões fortes, violência intensa, nudez ou uso de drogas pesadasX: Pode conter imagens sexuais ou violência extremamente perturbadora
Configuração
Chave da API Gravatar
Algumas partes da API Gravatar podem ser usadas sem autenticação. No entanto, usar uma chave de API é recomendado, pois aumenta os limites de taxa para suas consultas. Você pode gerar sua própria chave de API visitando o Painel do Desenvolvedor.
Depois de ter sua chave de API, você pode configurá-la no Claude Desktop ou VS Code conforme mostrado nas seções abaixo.
Configuração do Claude Desktop
Adicione o seguinte ao seu claude_desktop_config.json:
Com Chave de API (Recomendado)
{
"mcpServers": {
"gravatar": {
"command": "npx",
"args": [
"-y",
"@automattic/mcp-server-gravatar"
],
"env": {
"GRAVATAR_API_KEY": "your-api-key-here"
}
}
}
}
Sem Chave de API
[!NOTE]
- Sem uma chave de API, limites de taxa rigorosos serão aplicados.
- Uma versão futura deste servidor pode incluir ferramentas que estarão disponíveis apenas com uma chave de API.
{
"mcpServers": {
"gravatar": {
"command": "npx",
"args": [
"-y",
"@automattic/mcp-server-gravatar"
]
}
}
}
Configuração do VS Code
Para instalação manual, adicione um dos seguintes blocos JSON ao seu arquivo de Configurações do Usuário (JSON) no VS Code. Você pode fazer isso pressionando Cmd + Shift + P (ou Ctrl + Shift + P no Windows/Linux) e digitando Preferences: Open Settings (JSON).
Com Entrada de Chave de API (Recomendado)
Esta configuração solicita uma chave de API e a armazena com segurança:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "gravatar_api_key",
"description": "Gravatar API Key (optional)",
"password": true
}
],
"servers": {
"gravatar": {
"command": "npx",
"args": ["-y", "@automattic/mcp-server-gravatar"],
"env": {
"GRAVATAR_API_KEY": "${input:gravatar_api_key}"
}
}
}
}
}
Sem Chave de API
[!NOTE]
- Sem uma chave de API, limites de taxa rigorosos serão aplicados.
- Uma versão futura deste servidor pode incluir ferramentas que estarão disponíveis apenas com uma chave de API.
{
"mcp": {
"servers": {
"gravatar": {
"command": "npx",
"args": ["-y", "@automattic/mcp-server-gravatar"]
}
}
}
}
Opcionalmente, você pode adicionar qualquer uma das configurações a um arquivo chamado .vscode/mcp.json no seu espaço de trabalho. Isso permitirá que você compartilhe a configuração com outras pessoas.
Observe que a chave
mcpnão é necessária no arquivo.vscode/mcp.json.
Compilando a partir dos Arquivos de Código-Fonte Local
Se você quiser compilar e executar o servidor MCP a partir dos arquivos de código-fonte local:
# Clone the repository
git clone https://github.com/Automattic/mcp-server-gravatar.git
cd mcp-server-gravatar
# Install dependencies
npm install
Em seguida, atualize sua configuração do Cliente MCP:
{
"mcpServers": {
"gravatar": {
"command": "npx",
"args": [
"/path/to/mcp-server-gravatar"
],
"env": {
"GRAVATAR_API_KEY": "your-api-key-here"
}
}
}
}
Ou sem uma Chave de API:
{
"mcpServers": {
"gravatar": {
"command": "npx",
"args": [
"/path/to/mcp-server-gravatar"
]
}
}
}
Tipos de Identificadores
O servidor MCP Gravatar usa diferentes tipos de identificadores para acessar dados de perfil e avatar:
Identificadores de Perfil
Um Identificador de Perfil pode ser um dos seguintes:
- Hash SHA256 (preferido): Um endereço de e-mail que foi normalizado (minúsculas e sem espaços) e depois submetido a hash com SHA256
- Hash MD5 (obsoleto): Um endereço de e-mail que foi normalizado (minúsculas e sem espaços) e depois submetido a hash com MD5
- Slug de URL: A parte do nome de usuário de uma URL de perfil Gravatar (por exemplo, 'username' de gravatar.com/username)
Identificadores de Avatar
Um Identificador de Avatar é um endereço de e-mail que foi normalizado (minúsculas e sem espaços) e depois submetido a hash com:
- SHA256 (preferido)
- MD5 (obsoleto)
Importante: Ao contrário dos Identificadores de Perfil, os Identificadores de Avatar não podem usar slugs de URL - apenas hashes de e-mail são suportados.
Endereços de E-mail
Ao usar ferramentas baseadas em e-mail, você pode fornecer qualquer formato de e-mail válido. O sistema automaticamente:
- Normaliza o e-mail (converte para minúsculas e remove espaços)
- Gera o hash apropriado para solicitações de API
- Processa o e-mail com segurança sem armazená-lo
Desenvolvimento
Usando o Inspector
O MCP Inspector é uma ferramenta que ajuda a validar sua implementação do servidor MCP. Para executar o inspector:
make inspector
Isso compilará o projeto e depois executará o MCP Inspector contra seu servidor, validando as ferramentas e seus esquemas.
Fluxo de Trabalho de Desenvolvimento
Inicie o compilador TypeScript em modo de observação:
make dev
Isso observará alterações em seus arquivos TypeScript e os recompilará automaticamente.
Para executar o servidor após a compilação:
npm start
Testes
Execute a suíte de testes:
npm test
Execute testes com cobertura:
npm run test:coverage
Execute testes em modo de observação:
npm run test:watch
Testes Multi-Node
Este projeto é testado em múltiplas versões do Node.js para garantir compatibilidade. O pipeline de CI testa automaticamente em:
- Node.js 20 (LTS Ativo)
- Node.js 22 (LTS Atual)
- Node.js 24 (Atual)
Para testar localmente com diferentes versões do Node usando nvm:
# Test with Node 20
nvm use 20
npm ci
npm run type-check
npm test
# Test with Node 22
nvm use 22
npm ci
npm run type-check
npm test
# Test with Node 24
nvm use 24
npm ci
npm run type-check
npm test
Sistema de Geração
Este projeto usa uma arquitetura orientada por Make para toda a geração de código com dependências adequadas baseadas em arquivos:
# Generate everything (API client + MCP schemas)
make generate-all
# OR
npm run generate-all
# Generate just the OpenAPI client
make generate-client
# OR
npm run generate-client
# Generate just the MCP schemas (requires client)
make generate-schemas
# OR
npm run generate-schemas
A geração de esquemas é configurada via scripts/schemas.config.json e suporta:
- Extração de esquema configurável de modelos OpenAPI
- Encapsulamento de arrays para respostas que precisam de contêineres estruturados
- Esquemas de saída limpos que correspondem exatamente à especificação MCP
- Rastreamento automático de dependências via Make
Outros Comandos Úteis
O projeto inclui um Makefile com vários comandos úteis:
make download-spec: Baixar a especificação OpenAPI do Gravatarmake generate-client: Gerar cliente da API Gravatar a partir da especificação OpenAPImake generate-schemas: Gerar esquemas de saída MCP a partir do cliente da APImake generate-all: Gerar cliente da API e esquemas MCPmake build: Compilar o projeto TypeScriptmake lint: Executar lintingmake lint-fix: Executar linting com correção automáticamake format: Formatar código com Prettiermake format-check: Verificar formatação do códigomake quality-check: Executar linting e verificação de formataçãomake clean: Limpar artefatos de compilação e dependências
Execute make help para ver todos os comandos disponíveis.
Variáveis de Ambiente
-
GRAVATAR_API_KEY: Chave de API opcional para a API Gravatar. Se fornecida, será usada para solicitações de API, o que aumenta os limites de taxa e fornece acesso a recursos adicionais. -
GRAVATAR_API_KEY_ENV_VAR: Nome opcional da variável de ambiente que contém a chave de API. O padrão éGRAVATAR_API_KEY. Isso é útil se você precisar usar um nome de variável de ambiente diferente no seu ambiente de implantação.
Ao executar o servidor localmente, você pode definir essas variáveis de ambiente no seu shell antes de iniciar o servidor:
# Set API key (recommended)
export GRAVATAR_API_KEY=your_api_key_here
# Start the server
npm start
Ou você pode fornecê-las inline ao iniciar o servidor:
GRAVATAR_API_KEY=your_api_key_here npm start
Ao configurar o servidor no Claude Desktop ou no VS Code, você pode definir essas variáveis de ambiente na configuração, conforme mostrado na seção Setup acima.
Licença
Este servidor MCP é licenciado sob a Mozilla Public License Versão 2.0 (MPL-2.0). Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da MPL-2.0. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.