返回市场
MCP服务器头像远程服务

MCP服务器头像远程服务

作者:Automattic7 星标更新:2025-08-21

项目介绍

NPM 类型定义 Node

远程 Gravatar MCP 服务器

这是一个提供全球访问 Gravatar 头像、个人资料及 AI 推断兴趣的远程模型上下文协议(MCP)服务器。

请参阅 设置 获取连接到此服务器的说明。

工具

该服务器提供了 6 种全面工具以访问 Gravatar 数据:

1. get_profile_by_id

  • 描述:使用个人资料标识符检索完整的 Gravatar 个人资料信息
  • 必需输入
    • profileIdentifier (字符串):一个个人资料标识符(见 标识符类型 部分)
  • 返回值:包含完整用户信息的 JSON 格式的个人资料对象

2. get_profile_by_email

  • 描述:使用电子邮件地址检索完整的 Gravatar 个人资料信息
  • 必需输入
    • email (字符串):与 Gravatar 个人资料关联的电子邮件地址。可以是任何有效的电子邮件格式——系统会自动规范化并哈希电子邮件以供查找。
  • 返回值:包含完整用户信息的 JSON 格式的个人资料对象

3. get_inferred_interests_by_id

  • 描述:使用个人资料标识符获取 Gravatar 个人资料的 AI 推断兴趣
  • 必需输入
    • profileIdentifier (字符串):一个个人资料标识符(见 标识符类型 部分)
  • 返回值:作为 JSON 的 AI 推断兴趣名称列表

4. get_inferred_interests_by_email

  • 描述:使用电子邮件地址获取 Gravatar 个人资料的 AI 推断兴趣
  • 必需输入
    • email (字符串):与 Gravatar 个人资料关联的电子邮件地址。可以是任何有效的电子邮件格式——系统会自动规范化并哈希电子邮件以供查找。
  • 返回值:作为 JSON 的 AI 推断兴趣名称列表

5. get_avatar_by_id

  • 描述:使用头像标识符检索 Gravatar 个人资料的头像图像
  • 必需输入
    • avatarIdentifier (字符串):一个头像标识符(见 标识符类型 部分)
  • 可选输入
    • size (数字,默认:未定义):所需头像大小(像素),范围 1-2048。图像为正方形,因此这同时设置了宽度和高度。常见尺寸:80(默认网页)、200(高分辨率网页)、512(大显示器)。
    • defaultOption (字符串,默认:未定义):当没有头像时的备用图像样式。选项:'404'(返回 HTTP 404 错误而不是图像)、'mp'(神秘人物剪影)、'identicon'(几何图案)、'monsterid'(生成的怪物)、'wavatar'(生成的脸部)、'retro'(8位风格)、'robohash'(机器人)、'blank'(透明)。
    • forceDefault (布尔,默认:未定义):当为真时,始终返回默认图像而不是用户的头像。用于测试默认选项或确保一致的占位图像。
    • rating (字符串,默认:未定义):显示的最大内容评级。'G'(适合所有观众)、'PG'(家长指导)、'R'(限制级)、'X'(显性)。如果用户的头像超过此评级,则显示默认图像。
  • 返回值:PNG 格式的头像图像

6. get_avatar_by_email

  • 描述:使用电子邮件地址检索 Gravatar 个人资料的头像图像
  • 必需输入
    • email (字符串):与 Gravatar 个人资料关联的电子邮件地址。可以是任何有效的电子邮件格式——系统会自动规范化并哈希电子邮件以供查找。
  • 可选输入
    • size (数字,默认:未定义):所需头像大小(像素),范围 1-2048。图像为正方形,因此这同时设置了宽度和高度。常见尺寸:80(默认网页)、200(高分辨率网页)、512(大显示器)。
    • defaultOption (字符串,默认:未定义):当没有头像时的备用图像样式。选项:'404'(返回 HTTP 404 错误而不是图像)、'mp'(神秘人物剪影)、'identicon'(几何图案)、'monsterid'(生成的怪物)、'wavatar'(生成的脸部)、'retro'(8位风格)、'robohash'(机器人)、'blank'(透明)。
    • forceDefault (布尔,默认:未定义):当为真时,始终返回默认图像而不是用户的头像。用于测试默认选项或确保一致的占位图像。
    • rating (字符串,默认:未定义):显示的最大内容评级。'G'(适合所有观众)、'PG'(家长指导)、'R'(限制级)、'X'(显性)。如果用户的头像超过此评级,则显示默认图像。
  • 返回值:PNG 格式的头像图像

默认头像选项

  • 404:当没有头像时返回 HTTP 404 错误而不是图像
  • mp(神秘人物):一个简单的卡通风格的人物剪影
  • identicon:基于电子邮件哈希的几何图案
  • monsterid:具有不同颜色、面孔等的生成怪物
  • wavatar:具有不同特征和背景的生成脸部
  • retro:酷炫的生成的8位风格像素化面孔
  • robohash:具有不同颜色、面孔等的生成机器人
  • blank:透明的 PNG 图像

等级选项

  • G:适合在任何类型的观众网站上展示
  • PG:可能包含粗鲁的手势、衣着暴露的人、较轻的脏话或轻微暴力
  • R:可能包含强烈的脏话、强烈暴力、裸露或硬毒品使用
  • X:可能包含性图像或极度暴力

设置

将 Claude Desktop 连接到远程 MCP 服务器

这里有多项选择来连接到 Gravatar 的远程 MCP 服务器。你应该使用自己的实例(http://localhost:8787/mcp 用于本地开发)。

原生应用集成

如果你的 Claude Desktop 应用程序和支持添加集成的账户,你可以直接将远程服务器添加到 Claude Desktop 中:

  1. 添加一个新的集成
  2. 输入你的服务器名称
  3. 输入你的远程 MCP 服务器的 URL(http://localhost:8787/mcp

使用 mcp-remote 代理

如果你的环境不支持上述方法,你可以通过 mcp-remote 代理 从 Claude Desktop 连接到你的远程 MCP 服务器。

遵循 Anthropic 快速入门,并在 Claude Desktop 中进入设置 > 开发者 > 编辑配置。

更新以下配置:

{
  "mcpServers": {
    "gravatar": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/mcp"
      ]
    }
  }
}

VS Code 配置

对远程服务器的原生支持

对于支持远程 MCP 服务器的 VS Code,通过按下 Cmd + Shift + P(或 Windows/Linux 上的 Ctrl + Shift + P)并键入 MCP: 添加服务器...,然后选择 HTTP (HTTP 或 Server-Sent-Events) 来添加你的服务器。

使用 mcp-remote 代理

对于支持 MCP 的 VS Code,将以下内容添加到你的用户设置(JSON)文件中。按下 Cmd + Shift + P(或 Windows/Linux 上的 Ctrl + Shift + P)并键入 首选项:打开设置(JSON)

部署

{
  "mcp": {
    "servers": {
      "gravatar": {
        "command": "npx",
        "args": [
          "mcp-remote",
          "http://localhost:8787/mcp"
        ]
      }
    }
  }
}

可选地,你可以将任一配置添加到名为 .vscode/mcp.json 的工作区文件中,以便与其他人员共享配置。

注意:.vscode/mcp.json 文件中不需要 mcp 键。

标识符类型

Gravatar MCP 服务器使用不同的标识符类型来访问个人资料和头像数据:

个人资料标识符

一个 个人资料标识符 可以是以下之一:

  1. SHA256 哈希(首选):已规范化(转换为小写并修剪空格)的电子邮件地址,然后使用 SHA256 哈希
  2. MD5 哈希(已弃用):已规范化(转换为小写并修剪空格)的电子邮件地址,然后使用 MD5 哈希
  3. URL 挂件:来自 Gravatar 个人资料 URL 的用户名部分(例如,来自 gravatar.com/username 的 'username')

头像标识符

一个 头像标识符 是已规范化(转换为小写并修剪空格)的电子邮件地址,然后使用以下之一进行哈希:

  1. SHA256(首选)
  2. MD5(已弃用)

重要:与个人资料标识符不同,头像标识符不能使用 URL 挂件——仅支持电子邮件哈希。

电子邮件地址

当使用基于电子邮件的工具时,你可以提供任何有效的电子邮件格式。系统会自动:

  1. 规范化电子邮件(转换为小写并修剪空格)
  2. 为 API 请求生成适当的哈希
  3. 安全处理电子邮件而不存储它

API 密钥配置(可选)

该服务器无需身份验证即可运行,但你可以选择配置 Gravatar API 密钥以访问额外的个人资料字段。

生产部署

将 API 密钥设置为环境变量:

export GRAVATAR_API_KEY=your-api-key-here

本地开发

在项目根目录创建一个 .env 文件:

# .env
GRAVATAR_API_KEY=your-api-key-here

此文件在本地开发期间自动加载,并且不应提交到版本控制(它已经在 .gitignore 中)。

环境变量

根据需要配置这些环境变量:

# 远程访问所需
MCP_TRANSPORT=http

# 服务器配置
HOST=0.0.0.0               # 监听所有接口
PORT=8787                  # 默认端口(或使用主机提供商提供的 PORT)

# 安全设置(生产推荐)
ENABLE_DNS_REBINDING_PROTECTION=true
ALLOWED_HOSTS=your-domain.com,www.your-domain.com
ALLOWED_ORIGINS=https://your-domain.com,https://www.your-domain.com

# 可选的 Gravatar API 密钥以增强功能
GRAVATAR_API_KEY=your-api-key-here

# 调试输出(生产禁用)
DEBUG=false

开发

本地开发

启动开发服务器进行测试:

# 安装依赖
npm install

# 以 HTTP 模式启动以进行远程访问
npm run dev:http

# 或以 STDIO 模式启动以进行本地测试
npm run dev

这将在 http://localhost:8787 启动 HTTP 服务器,并启用热重载。

架构

这个远程 MCP 服务器使用 Node.js 和 Express.js 构建,具有以下特性:

  • OpenAPI 生成客户端:从 Gravatar 的 OpenAPI 规范生成的 TypeScript 客户端,用于个人资料和兴趣端点
  • 直接 HTTP 调用:使用原生 fetch() 检索头像图像,并正确检测 MIME 类型
  • 远程访问:通过网络进行 MCP 通信的 StreamableHTTP 传输
  • 全球部署:部署到任何支持 Node.js 的托管平台以实现全球访问
  • 无需 API 密钥:简化部署,无需身份验证要求

架构生成

服务器使用动态架构生成系统:

# 从 OpenAPI 规范提取 MCP 架构
npm run extract-schemas

这将从 OpenAPI 规范生成 Zod 架构,用于输入验证和输出格式化,确保类型安全和 MCP 符合性。

技术细节

远程 MCP 服务器环境

此服务器优化了远程部署,具有:

  • Node.js 运行时:Express.js HTTP 服务器,用于可靠的网络访问
  • StreamableHTTP 传输:现代 MCP 传输,适用于远程客户端
  • 环境配置:通过环境变量灵活部署选项
  • 安全功能:DNS 重新绑定保护和 CORS 配置
  • 全球分布:部署到任何支持 Node.js 的地方

速率限制

服务器默认不使用 API 密钥身份验证,这意味着:

  • 标准的 Gravatar API 速率限制适用
  • 所有请求都似乎来自你的服务器 IP 地址
  • 考虑为高流量使用实施客户端速率限制

要求

  • Node.js:22.0.0 或更高版本
  • npm:10.0.0 或更高版本

许可证

此远程 MCP 服务器根据 Mozilla 公共许可证第 2.0 版(MPL-2.0)授权。这意味着你可以自由使用、修改和分发软件,但需遵守 MPL-2.0 的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。

相关项目