这是一个MCP(模型上下文协议)服务器,通过OpenRouter.ai的多样化模型生态系统提供聊天和图像分析能力。该服务器结合了文本聊天功能与强大的图像分析能力。
文本聊天:
图像分析:
模型选择:
性能优化:
自动速率限制处理
改进的操作系统兼容性:
MCP配置支持:
健壮的错误处理:
图像处理增强:
npm install -g @stabgan/openrouter-mcp-multimodal
docker run -i -e OPENROUTER_API_KEY=your-api-key-here stabgandocker/openrouter-mcp-multimodal:latest
在您的MCP设置文件中添加以下配置之一(例如,cline_mcp_settings.json或claude_desktop_config.json):
{
"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"
}
}
}
}
{
"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"
}
}
}
}
{
"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"
]
}
}
}
{
"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服务器的全面示例,请参阅示例目录。我们提供了:
每个示例都配有清晰的文档和逐步说明。
该项目使用以下关键依赖项:
@modelcontextprotocol/sdk: ^1.8.0 - 最新的MCP SDK用于工具实现openai: ^4.89.1 - 与OpenAI兼容的API客户端用于OpenRoutersharp: ^0.33.5 - 快速图像处理库axios: ^1.8.4 - API请求的HTTP客户端node-fetch: ^3.3.2 - 现代fetch实现需要Node.js 18或更高版本。所有依赖项都会定期更新以确保兼容性和安全性。
向OpenRouter模型发送文本或多模态消息:
use_mcp_tool({
server_name: "openrouter",
tool_name: "mcp_openrouter_chat_completion",
arguments: {
model: "google/gemini-2.5-pro-exp-03-25:free", // 如果已设置默认值则可选
messages: [
{
role: "system",
content: "您是一个有用的助手。"
},
{
role: "user",
content: "法国的首都是哪里?"
}
],
temperature: 0.7 // 可选,默认为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: "这张图片里有什么?"
},
{
type: "image_url",
image_url: {
url: "https://example.com/image.jpg"
}
}
]
}
]
}
});