](https://www.typescriptlang.org/) ](https://nodejs.org/)
远程Gravatar MCP服务器
一个远程模型上下文协议(MCP)服务器,提供对Gravatar化身、个人资料和AI推断兴趣的全局访问。
看 设置 有关连接到此服务器的说明。
工具
该服务器提供6个访问Gravatar数据的综合工具:
1. get_profile_by_id
- 描述:使用配置文件标识符检索全面的Gravatar配置文件信息
- 所需输入:
- profileIdentifier (string):配置文件标识符(请参见 标识符类型 部分)
- 退货:配置文件对象为JSON,包含全面的用户信息
2. get_profile_by_email
- 描述:使用电子邮件地址检索Gravatar的全面个人资料信息
- 所需输入:
- email (string):与Gravatar个人资料关联的电子邮件地址。可以是任何有效的电子邮件格式-系统将自动对电子邮件进行归一化和哈希处理以供查找。
- 退货:配置文件对象为JSON,包含全面的用户信息
3. get_inferred_interests_by_id
- 描述:使用配置文件标识符获取Gravatar配置文件的AI推断兴趣
- 所需输入:
- profileIdentifier (string):配置文件标识符(请参见 标识符类型 部分)
- 退货:JSON格式的AI推断兴趣名称列表
4. get_inferred_interests_by_email
- 描述:使用电子邮件地址获取Gravatar个人资料的AI推断兴趣
- 所需输入:
- email (string):与Gravatar个人资料关联的电子邮件地址。可以是任何有效的电子邮件格式-系统将自动对电子邮件进行归一化和哈希处理以供查找。
- 退货:JSON格式的AI推断兴趣名称列表
5. get_avatar_by_id
- 描述:使用化身标识符检索Gravatar个人资料的化身图像
- 所需输入:
- avatarIdentifier (string):头像标识符(参见 标识符类型 部分)
- 可选输入:
- size (数字,默认值:未定义):所需的化身大小(像素)(1-2048)。图像是正方形的,因此这设置了宽度和高度。常见尺寸:80(默认网络)、200(高分辨率网络)、512(大显示器)。 - defaultOption (string,默认值:undefined):不存在头像时的回退图像样式。选项:“404”(返回HTTP 404错误而不是图像),“mp”(神秘人物轮廓),“identicon”(几何图案),“monsterid”(生成的怪物),“wavatar”(生成面部),“retro”(8位风格),“robohash”(机器人),“blank”(透明)。 - forceDefault (boolean,default:undefined):为true时,始终返回默认图像,而不是用户的头像。可用于测试默认选项或确保占位符图像的一致性。 - rating (字符串,默认值:未定义):要显示的最大内容评级。“G”(普通观众)、“PG”(家长指导)、“R”(限制)、“X”(明确)。如果用户的头像超过此评级,则显示默认图像。
- 退货:PNG格式的头像图像
6. get_avatar_by_email
- 描述:使用电子邮件地址检索Gravatar个人资料的头像图像
- 所需输入:
- email (string):与Gravatar个人资料关联的电子邮件地址。可以是任何有效的电子邮件格式-系统将自动对电子邮件进行归一化和哈希处理以供查找。
- 可选输入:
- size (数字,默认值:未定义):所需的化身大小(像素)(1-2048)。图像是正方形的,因此这设置了宽度和高度。常见尺寸:80(默认网络)、200(高分辨率网络)、512(大显示器)。 - defaultOption (string,默认值:undefined):不存在头像时的回退图像样式。选项:“404”(返回HTTP 404错误而不是图像),“mp”(神秘人物轮廓),“identicon”(几何图案),“monsterid”(生成的怪物),“wavatar”(生成面部),“retro”(8位风格),“robohash”(机器人),“blank”(透明)。 - forceDefault (boolean,default:undefined):为true时,始终返回默认图像,而不是用户的头像。可用于测试默认选项或确保占位符图像的一致性。 - 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:
- 添加新集成
- 输入服务器的名称
- 输入远程MCP服务器的URL(
http://localhost:8787/mcp)
使用mcp远程代理
如果您的环境不支持该功能,您可以使用以下命令从Claude Desktop连接到远程MCP服务器 mcp远程代理.
跟随 Anthropic的快速入门 在Claude Desktop中,转到“设置”>“开发人员”>“编辑配置”。
使用此配置进行更新:
{
"mcpServers": {
"gravatar": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/mcp"
]
}
}
}VS代码配置
远程服务器的本机支持
对于支持远程MCP服务器的VS Code,请按添加服务器 Cmd + Shift + P (或 Ctrl + Shift + P 在Windows/Linux上)和类型 MCP: Add Server...那么 HTTP (HTTP or Server-Sent-Events).
使用mcp远程代理
对于支持MCP的VS代码,请将以下内容添加到您的用户设置(JSON)文件中。按 Cmd + Shift + P (或 Ctrl + Shift + P 在Windows/Linux上)和类型 Preferences: Open Settings (JSON).
部署
{
"mcp": {
"servers": {
"gravatar": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/mcp"
]
}
}
}
}您可以选择将任一配置添加到名为的文件中 .vscode/mcp.json 在您的工作区中与他人共享配置。
请注意mcp中不需要密钥.vscode/mcp.json文件。
标识符类型
Gravatar MCP服务器使用不同类型的标识符来访问个人资料和头像数据:
配置文件标识符
A. 配置文件标识符 可以是以下之一:
- SHA256哈希 (首选):一个经过规范化(小写和修剪)然后用SHA256散列的电子邮件地址
- MD5哈希 (已弃用):一个经过规范化(小写和修剪)然后用MD5散列的电子邮件地址
- URL字符串:Gravatar个人资料URL中的用户名部分(例如,Gravatar.com/username中的“用户名”)
头像标识符
一 头像标识符 是一个经过规范化(小写和修剪)的电子邮件地址,然后用以下任一方式进行散列:
- 沙256 (首选)
- 消息摘要 5 (已弃用)
重要:与配置文件标识符不同,头像标识符不能使用URL slug——只支持电子邮件哈希。
电子邮件地址
使用基于电子邮件的工具时,您可以提供任何有效的电子邮件格式。系统将自动:
- 规范电子邮件(转换为小写并修剪空白)
- 为API请求生成适当的哈希
- 安全地处理电子邮件,无需存储
API密钥配置(可选)
服务器在没有身份验证的情况下工作,但您可以选择配置Gravatar API密钥来访问其他配置文件字段。
用于生产部署
将API键设置为环境变量:
export GRAVATAR_API_KEY=your-api-key-here促进地方发展
创建一个 .env 项目根目录中的文件:
# .env
GRAVATAR_API_KEY=your-api-key-here此文件在本地开发过程中自动加载,不应提交给版本控制(它已经在 .gitignore).
环境变量
根据您的需要配置这些环境变量:
# Required for remote access
MCP_TRANSPORT=http
# Server configuration
HOST=0.0.0.0 # Listen on all interfaces
PORT=8787 # Default port (or use PORT from hosting provider)
# Security settings (recommended for production)
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
# Optional Gravatar API key for enhanced features
GRAVATAR_API_KEY=your-api-key-here
# Debug output (disable in production)
DEBUG=false发展
地方发展
启动开发服务器进行测试:
# Install dependencies
npm install
# Start in HTTP mode for remote access
npm run dev:http
# Or start in STDIO mode for local testing
npm run dev这将在以下位置启动HTTP服务器 http://localhost:8787 启用热重新加载。
建筑
这个远程MCP服务器是用Node.js和Express.js构建的,具有以下功能:
- OpenAPI生成的客户端:从Gravatar的OpenAPI规范生成的TypeScript客户端,用于配置文件和兴趣端点
- 直接HTTP调用:本机fetch()用于通过适当的MIME类型检测进行化身图像检索
- 远程访问:用于网络上MCP通信的流式HTTP传输
- 全球部署:部署到任何Node.js托管平台以供全球访问
- 不需要API密钥:简化部署,无需身份验证要求
模式生成
服务器使用动态模式生成系统:
# Extract MCP schemas from OpenAPI specification
npm run extract-schemas这将根据OpenAPI规范生成Zod模式,用于输入验证和输出格式化,确保类型安全和MCP合规性。
技术细节
远程MCP服务器环境
此服务器针对远程部署进行了优化,包括:
- Node.js运行时:用于可靠网络访问的Express.js HTTP服务器
- 流式HTTP传输:远程客户端的现代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的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅 许可证 项目存储库中的文件。
相关项目
- STDIO Gravatar MCP服务器 -原始本地Node.js版本
- Gravatar API文档 -Gravatar API官方文档
- 模型上下文协议 -了解有关MCP的更多信息
