OpenRouter MCP多模式服务器
 ](https://www.npmjs.com/package/@stabgan/openrouter-mcp-multimodal) ](https://hub.docker.com/r/stabgandocker/openrouter-mcp-multimodal)
MCP(模型上下文协议)服务器,通过OpenRouter.ai的多样化模型生态系统提供聊天和图像分析功能。该服务器将文本聊天功能与强大的图像分析功能相结合。
特性
- 文字聊天:
- 直接访问所有OpenRouter.ai聊天模式 - 支持简单文本和多模式对话 - 可配置的温度和其他参数
- 图像生成: ✨ 新
- 使用OpenRouter模型生成图像(例如Google Gemini) - 支持自定义宽高比(1:1、16:9、9:16等) - 可选的Cloudinary上传用于永久存储 - 具有指数回退的自动重试逻辑 - 在单个请求中生成多个图像
- 图像分析:
- 使用自定义问题分析单张图像 - 同时处理多个图像 - 自动调整图像大小和优化 - 支持各种图像源(本地文件、URL、数据URL)
- 型号选择:
- 搜索和筛选可用型号 - 验证模型ID - 获取详细的模型信息 - 支持默认模型配置
- 性能优化:
- 智能模型信息缓存 - 重试次数呈指数级回退 - 自动速率限制处理
1.5.0的新增功能
- 改进的操作系统兼容性:
- Windows、macOS和Linux的增强路径处理 - 更好地支持带有驱动器号的Windows样式路径 - 规范化的路径处理,实现跨平台的一致行为
- MCP配置支持:
- 光标MCP集成,不需要环境变量 - 通过MCP参数直接配置 - 灵活的API密钥和模型规范选项
- 稳健的错误处理:
- 改进了图像处理的回退机制 - 通过特定诊断更好地报告错误 - 用于文件读取的多种备份策略
- 图像处理增强功能:
- 为所有图像类型提供更可靠的base64编码 - Sharp模块不可用时的回退选项 - 通过自动优化更好地处理大图像
安装
选项1:通过npm安装
npm install -g @stabgan/openrouter-mcp-multimodal选项2:通过Docker运行
docker run -i -e OPENROUTER_API_KEY=your-api-key-here stabgandocker/openrouter-mcp-multimodal:latest快速启动配置
先决条件
- 从获取您的OpenRouter API密钥 OpenRouter密钥
- 选择默认型号(可选)
MCP配置选项
将以下配置之一添加到MCP设置文件中(例如。, cline_mcp_settings.json 或 claude_desktop_config.json):
选项1:使用npx(Node.js)
{
"mcpServers": {
"openrouter": {
"command": "npx",
"args": ["-y", "@stabgan/openrouter-mcp-multimodal"],
"env": {
"OPENROUTER_API_KEY": "your-api-key-here",
"DEFAULT_MODEL": "qwen/qwen2.5-vl-32b-instruct:free"
}
}
}
}选项2:使用uv(Python包管理器)
{
"mcpServers": {
"openrouter": {
"command": "uv",
"args": ["run", "-m", "openrouter_mcp_multimodal"],
"env": {
"OPENROUTER_API_KEY": "your-api-key-here",
"DEFAULT_MODEL": "qwen/qwen2.5-vl-32b-instruct:free"
}
}
}
}选项3:使用Docker
{
"mcpServers": {
"openrouter": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"OPENROUTER_API_KEY=your-api-key-here",
"-e",
"DEFAULT_MODEL=qwen/qwen2.5-vl-32b-instruct:free",
"stabgandocker/openrouter-mcp-multimodal:latest"
]
}
}
}选项4:使用Smithery(推荐)
{
"mcpServers": {
"openrouter": {
"command": "smithery",
"args": ["run", "stabgan/openrouter-mcp-multimodal"],
"env": {
"OPENROUTER_API_KEY": "your-api-key-here",
"DEFAULT_MODEL": "qwen/qwen2.5-vl-32b-instruct:free"
}
}
}
}示例
有关如何使用此MCP服务器的综合示例,请查看 示例目录我们提供:
- Node.js应用程序的JavaScript示例
- 具有交互式聊天功能的Python示例
- 用于与各种应用程序集成的代码片段
每个示例都附有清晰的文档和分步说明。
依赖项
此项目使用以下关键依赖项:
@modelcontextprotocol/sdk:^1.8.0-用于工具实现的最新MCP SDKopenai:^4.89.1-适用于OpenRouter的与OpenAI兼容的API客户端sharp:^0.33.5-快速图像处理库axios:^1.8.4-API请求的HTTP客户端node-fetch:^3.3.2-现代fetch实现
需要Node.js 18或更高版本。所有依赖关系都会定期更新,以确保兼容性和安全性。
可用工具
mcp_openrouter_chat_完成
向OpenRouter型号发送文本或多模式消息:
use_mcp_tool({
server_name: "openrouter",
tool_name: "mcp_openrouter_chat_completion",
arguments: {
model: "google/gemini-2.5-pro-exp-03-25:free", // Optional if default is set
messages: [
{
role: "system",
content: "You are a helpful assistant.",
},
{
role: "user",
content: "What is the capital of France?",
},
],
temperature: 0.7, // Optional, defaults to 1.0
},
});对于带有图像的多模式消息:
use_mcp_tool({
server_name: "openrouter",
tool_name: "mcp_openrouter_chat_completion",
arguments: {
model: "anthropic/claude-3.5-sonnet",
messages: [
{
role: "user",
content: [
{
type: "text",
text: "What's in this image?",
},
{
type: "image_url",
image_url: {
url: "https://example.com/image.jpg",
},
},
],
},
],
},
});