@stabgan/openrouter-mcp-multimodal 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,43 +2,104 @@ import path from 'path';
|
|
|
2
2
|
import { promises as fs } from 'fs';
|
|
3
3
|
import sharp from 'sharp';
|
|
4
4
|
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import fetch from 'node-fetch';
|
|
6
|
+
async function fetchImageAsBuffer(url) {
|
|
7
7
|
try {
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
// Handle data URLs
|
|
9
|
+
if (url.startsWith('data:')) {
|
|
10
|
+
const matches = url.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/);
|
|
11
|
+
if (!matches || matches.length !== 3) {
|
|
12
|
+
throw new Error('Invalid data URL');
|
|
13
|
+
}
|
|
14
|
+
return Buffer.from(matches[2], 'base64');
|
|
12
15
|
}
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
// Handle file URLs
|
|
17
|
+
if (url.startsWith('file://')) {
|
|
18
|
+
const filePath = url.replace('file://', '');
|
|
19
|
+
return await fs.readFile(filePath);
|
|
20
|
+
}
|
|
21
|
+
// Handle http/https URLs
|
|
22
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
23
|
+
const response = await fetch(url);
|
|
24
|
+
if (!response.ok) {
|
|
25
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
26
|
+
}
|
|
27
|
+
return Buffer.from(await response.arrayBuffer());
|
|
28
|
+
}
|
|
29
|
+
// Handle regular file paths
|
|
30
|
+
return await fs.readFile(url);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error(`Error fetching image from ${url}:`, error);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function processImage(buffer) {
|
|
38
|
+
try {
|
|
16
39
|
// Get image metadata
|
|
17
|
-
const metadata = await sharp(
|
|
18
|
-
console.error('Image metadata:', metadata);
|
|
40
|
+
const metadata = await sharp(buffer).metadata();
|
|
19
41
|
// Calculate dimensions to keep base64 size reasonable
|
|
20
|
-
const MAX_DIMENSION = 800;
|
|
21
|
-
const JPEG_QUALITY = 80;
|
|
22
|
-
let resizedBuffer = imageBuffer;
|
|
42
|
+
const MAX_DIMENSION = 800;
|
|
43
|
+
const JPEG_QUALITY = 80;
|
|
23
44
|
if (metadata.width && metadata.height) {
|
|
24
45
|
const largerDimension = Math.max(metadata.width, metadata.height);
|
|
25
46
|
if (largerDimension > MAX_DIMENSION) {
|
|
26
47
|
const resizeOptions = metadata.width > metadata.height
|
|
27
48
|
? { width: MAX_DIMENSION }
|
|
28
49
|
: { height: MAX_DIMENSION };
|
|
29
|
-
resizedBuffer = await sharp(
|
|
50
|
+
const resizedBuffer = await sharp(buffer)
|
|
30
51
|
.resize(resizeOptions)
|
|
31
52
|
.jpeg({ quality: JPEG_QUALITY })
|
|
32
53
|
.toBuffer();
|
|
54
|
+
return resizedBuffer.toString('base64');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// If no resizing needed, just convert to JPEG
|
|
58
|
+
const jpegBuffer = await sharp(buffer)
|
|
59
|
+
.jpeg({ quality: JPEG_QUALITY })
|
|
60
|
+
.toBuffer();
|
|
61
|
+
return jpegBuffer.toString('base64');
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.error('Error processing image:', error);
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export async function handleAnalyzeImage(request, openai, defaultModel) {
|
|
69
|
+
const args = request.params.arguments;
|
|
70
|
+
try {
|
|
71
|
+
// Validate image source
|
|
72
|
+
const imagePath = args.image_path;
|
|
73
|
+
const imageUrl = args.image_url;
|
|
74
|
+
if (!imagePath && !imageUrl) {
|
|
75
|
+
throw new McpError(ErrorCode.InvalidParams, 'Either image_path or image_url must be provided');
|
|
76
|
+
}
|
|
77
|
+
// Normalize the path/url
|
|
78
|
+
let imageSource;
|
|
79
|
+
if (imageUrl) {
|
|
80
|
+
// Use the provided URL directly
|
|
81
|
+
imageSource = imageUrl;
|
|
82
|
+
}
|
|
83
|
+
else if (imagePath) {
|
|
84
|
+
// For backward compatibility, try to handle the image_path
|
|
85
|
+
if (path.isAbsolute(imagePath)) {
|
|
86
|
+
// For absolute paths, use as a local file path
|
|
87
|
+
imageSource = imagePath;
|
|
33
88
|
}
|
|
34
89
|
else {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
.toBuffer();
|
|
90
|
+
// For relative paths, show a better error message
|
|
91
|
+
throw new McpError(ErrorCode.InvalidParams, 'Image path must be absolute or use image_url with file:// prefix');
|
|
38
92
|
}
|
|
39
93
|
}
|
|
40
|
-
|
|
41
|
-
|
|
94
|
+
else {
|
|
95
|
+
// This shouldn't happen due to the check above, but TypeScript doesn't know that
|
|
96
|
+
throw new McpError(ErrorCode.InvalidParams, 'No image source provided');
|
|
97
|
+
}
|
|
98
|
+
// Fetch and process the image
|
|
99
|
+
const imageBuffer = await fetchImageAsBuffer(imageSource);
|
|
100
|
+
console.error(`Successfully read image buffer of size: ${imageBuffer.length}`);
|
|
101
|
+
// Process the image (resize if needed)
|
|
102
|
+
const base64Image = await processImage(imageBuffer);
|
|
42
103
|
// Select model
|
|
43
104
|
const model = args.model || defaultModel || 'anthropic/claude-3.5-sonnet';
|
|
44
105
|
// Prepare message with image
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-image.js","sourceRoot":"","sources":["../../src/tool-handlers/analyze-image.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze-image.js","sourceRoot":"","sources":["../../src/tool-handlers/analyze-image.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-handlers.js
CHANGED
|
@@ -121,6 +121,10 @@ export class ToolHandlers {
|
|
|
121
121
|
type: 'string',
|
|
122
122
|
description: 'Path to the image file to analyze (must be an absolute path)',
|
|
123
123
|
},
|
|
124
|
+
image_url: {
|
|
125
|
+
type: 'string',
|
|
126
|
+
description: 'URL or data URL of the image (can be a file:// URL, http(s):// URL, or data: URI)',
|
|
127
|
+
},
|
|
124
128
|
question: {
|
|
125
129
|
type: 'string',
|
|
126
130
|
description: 'Question to ask about the image',
|
|
@@ -130,7 +134,10 @@ export class ToolHandlers {
|
|
|
130
134
|
description: 'OpenRouter model to use (e.g., "anthropic/claude-3.5-sonnet")',
|
|
131
135
|
},
|
|
132
136
|
},
|
|
133
|
-
|
|
137
|
+
oneOf: [
|
|
138
|
+
{ required: ['image_path'] },
|
|
139
|
+
{ required: ['image_url'] }
|
|
140
|
+
]
|
|
134
141
|
},
|
|
135
142
|
},
|
|
136
143
|
// Multi-Image Analysis Tool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../src/tool-handlers.ts"],"names":[],"mappings":"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"}
|