@goonnguyen/human-mcp 1.2.0 → 1.2.1
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.
- package/CHANGELOG.md +7 -0
- package/CLAUDE.md +5 -3
- package/QUICKSTART.md +3 -3
- package/README.md +4 -4
- package/dist/index.js +4 -4
- package/package.json +1 -1
- package/src/tools/eyes/index.ts +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [1.2.1](https://github.com/mrgoonie/human-mcp/compare/v1.2.0...v1.2.1) (2025-09-08)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* update tool names to comply with MCP validation pattern ([3c23e10](https://github.com/mrgoonie/human-mcp/commit/3c23e101e843095fb33703dd9431a89936c18308))
|
|
7
|
+
|
|
1
8
|
# [1.2.0](https://github.com/mrgoonie/human-mcp/compare/v1.1.0...v1.2.0) (2025-09-08)
|
|
2
9
|
|
|
3
10
|
|
package/CLAUDE.md
CHANGED
|
@@ -38,7 +38,7 @@ src/
|
|
|
38
38
|
### Key Components
|
|
39
39
|
|
|
40
40
|
**Vision Analysis (tools/eyes/)**
|
|
41
|
-
- `index.ts` - Registers
|
|
41
|
+
- `index.ts` - Registers eyes_analyze and eyes_compare tools
|
|
42
42
|
- `processors/` - Handles image, video, and GIF processing
|
|
43
43
|
- `utils/gemini-client.ts` - Google Gemini API integration
|
|
44
44
|
- `schemas.ts` - Zod validation schemas for tool inputs
|
|
@@ -50,14 +50,16 @@ src/
|
|
|
50
50
|
|
|
51
51
|
## MCP Tools
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
**Important**: Tool names must comply with MCP validation pattern `^[a-zA-Z0-9_-]{1,64}$`. Only alphanumeric characters, underscores, and hyphens are allowed. No dots, spaces, or other special characters.
|
|
54
|
+
|
|
55
|
+
### eyes_analyze
|
|
54
56
|
Primary tool for visual analysis of images, videos, and GIFs:
|
|
55
57
|
- Supports file paths, URLs, and base64 data URIs
|
|
56
58
|
- Configurable detail levels (quick/detailed)
|
|
57
59
|
- Frame extraction for videos and GIFs
|
|
58
60
|
- Custom analysis prompts
|
|
59
61
|
|
|
60
|
-
###
|
|
62
|
+
### eyes_compare
|
|
61
63
|
Compares two images to identify visual differences:
|
|
62
64
|
- Three comparison types: pixel, structural, semantic
|
|
63
65
|
- Detailed difference reporting
|
package/QUICKSTART.md
CHANGED
|
@@ -61,7 +61,7 @@ Human MCP should analyze the image and provide detailed debugging insights!
|
|
|
61
61
|
|
|
62
62
|
### Debug UI Issues
|
|
63
63
|
```
|
|
64
|
-
Use the
|
|
64
|
+
Use the eyes_analyze tool with this screenshot:
|
|
65
65
|
- Type: image
|
|
66
66
|
- Analysis type: ui_debug
|
|
67
67
|
- Detail level: detailed
|
|
@@ -69,7 +69,7 @@ Use the eyes.analyze tool with this screenshot:
|
|
|
69
69
|
|
|
70
70
|
### Analyze Error Recordings
|
|
71
71
|
```
|
|
72
|
-
Use the
|
|
72
|
+
Use the eyes_analyze tool with this screen recording:
|
|
73
73
|
- Type: video
|
|
74
74
|
- Analysis type: error_detection
|
|
75
75
|
- Focus on: the error sequence
|
|
@@ -77,7 +77,7 @@ Use the eyes.analyze tool with this screen recording:
|
|
|
77
77
|
|
|
78
78
|
### Check Accessibility
|
|
79
79
|
```
|
|
80
|
-
Use the
|
|
80
|
+
Use the eyes_analyze tool:
|
|
81
81
|
- Analysis type: accessibility
|
|
82
82
|
- Check accessibility: true
|
|
83
83
|
```
|
package/README.md
CHANGED
|
@@ -144,7 +144,7 @@ Claude Desktop is a desktop application that provides a user-friendly interface
|
|
|
144
144
|
|
|
145
145
|
**Verification:**
|
|
146
146
|
- Look for the connection indicator in Claude Desktop
|
|
147
|
-
- Try using the `
|
|
147
|
+
- Try using the `eyes_analyze` tool with a test image
|
|
148
148
|
|
|
149
149
|
#### Claude Code (CLI)
|
|
150
150
|
|
|
@@ -413,7 +413,7 @@ cd /path/to/human-mcp && bun run inspector
|
|
|
413
413
|
|
|
414
414
|
**Test with MCP Clients:**
|
|
415
415
|
1. Check client logs for connection status
|
|
416
|
-
2. Try using `
|
|
416
|
+
2. Try using `eyes_analyze` tool with a test image
|
|
417
417
|
3. Verify API responses are returned correctly
|
|
418
418
|
4. Look for the Human MCP server in the client's MCP server list
|
|
419
419
|
|
|
@@ -471,7 +471,7 @@ human-mcp --version # if globally installed
|
|
|
471
471
|
|
|
472
472
|
## Tools
|
|
473
473
|
|
|
474
|
-
###
|
|
474
|
+
### eyes_analyze
|
|
475
475
|
|
|
476
476
|
Comprehensive visual analysis for images, videos, and GIFs.
|
|
477
477
|
|
|
@@ -485,7 +485,7 @@ Comprehensive visual analysis for images, videos, and GIFs.
|
|
|
485
485
|
}
|
|
486
486
|
```
|
|
487
487
|
|
|
488
|
-
###
|
|
488
|
+
### eyes_compare
|
|
489
489
|
|
|
490
490
|
Compare two images to identify visual differences.
|
|
491
491
|
|
package/dist/index.js
CHANGED
|
@@ -48723,7 +48723,7 @@ var CompareInputSchema = exports_external.object({
|
|
|
48723
48723
|
// src/tools/eyes/index.ts
|
|
48724
48724
|
async function registerEyesTool(server, config) {
|
|
48725
48725
|
const geminiClient = new GeminiClient(config);
|
|
48726
|
-
server.registerTool("
|
|
48726
|
+
server.registerTool("eyes_analyze", {
|
|
48727
48727
|
title: "Vision Analysis Tool",
|
|
48728
48728
|
description: "Analyze images, videos, and GIFs using AI vision capabilities",
|
|
48729
48729
|
inputSchema: {
|
|
@@ -48738,7 +48738,7 @@ async function registerEyesTool(server, config) {
|
|
|
48738
48738
|
return await handleAnalyze(geminiClient, args, config);
|
|
48739
48739
|
} catch (error) {
|
|
48740
48740
|
const mcpError = handleError(error);
|
|
48741
|
-
logger.error(`Tool
|
|
48741
|
+
logger.error(`Tool eyes_analyze error:`, mcpError);
|
|
48742
48742
|
return {
|
|
48743
48743
|
content: [{
|
|
48744
48744
|
type: "text",
|
|
@@ -48748,7 +48748,7 @@ async function registerEyesTool(server, config) {
|
|
|
48748
48748
|
};
|
|
48749
48749
|
}
|
|
48750
48750
|
});
|
|
48751
|
-
server.registerTool("
|
|
48751
|
+
server.registerTool("eyes_compare", {
|
|
48752
48752
|
title: "Image Comparison Tool",
|
|
48753
48753
|
description: "Compare two images and identify differences",
|
|
48754
48754
|
inputSchema: {
|
|
@@ -48761,7 +48761,7 @@ async function registerEyesTool(server, config) {
|
|
|
48761
48761
|
return await handleCompare(geminiClient, args);
|
|
48762
48762
|
} catch (error) {
|
|
48763
48763
|
const mcpError = handleError(error);
|
|
48764
|
-
logger.error(`Tool
|
|
48764
|
+
logger.error(`Tool eyes_compare error:`, mcpError);
|
|
48765
48765
|
return {
|
|
48766
48766
|
content: [{
|
|
48767
48767
|
type: "text",
|
package/package.json
CHANGED
package/src/tools/eyes/index.ts
CHANGED
|
@@ -17,9 +17,9 @@ import type { Config } from "@/utils/config.js";
|
|
|
17
17
|
export async function registerEyesTool(server: McpServer, config: Config) {
|
|
18
18
|
const geminiClient = new GeminiClient(config);
|
|
19
19
|
|
|
20
|
-
// Register
|
|
20
|
+
// Register eyes_analyze tool
|
|
21
21
|
server.registerTool(
|
|
22
|
-
"
|
|
22
|
+
"eyes_analyze",
|
|
23
23
|
{
|
|
24
24
|
title: "Vision Analysis Tool",
|
|
25
25
|
description: "Analyze images, videos, and GIFs using AI vision capabilities",
|
|
@@ -36,7 +36,7 @@ export async function registerEyesTool(server: McpServer, config: Config) {
|
|
|
36
36
|
return await handleAnalyze(geminiClient, args, config);
|
|
37
37
|
} catch (error) {
|
|
38
38
|
const mcpError = handleError(error);
|
|
39
|
-
logger.error(`Tool
|
|
39
|
+
logger.error(`Tool eyes_analyze error:`, mcpError);
|
|
40
40
|
|
|
41
41
|
return {
|
|
42
42
|
content: [{
|
|
@@ -49,9 +49,9 @@ export async function registerEyesTool(server: McpServer, config: Config) {
|
|
|
49
49
|
}
|
|
50
50
|
);
|
|
51
51
|
|
|
52
|
-
// Register
|
|
52
|
+
// Register eyes_compare tool
|
|
53
53
|
server.registerTool(
|
|
54
|
-
"
|
|
54
|
+
"eyes_compare",
|
|
55
55
|
{
|
|
56
56
|
title: "Image Comparison Tool",
|
|
57
57
|
description: "Compare two images and identify differences",
|
|
@@ -66,7 +66,7 @@ export async function registerEyesTool(server: McpServer, config: Config) {
|
|
|
66
66
|
return await handleCompare(geminiClient, args);
|
|
67
67
|
} catch (error) {
|
|
68
68
|
const mcpError = handleError(error);
|
|
69
|
-
logger.error(`Tool
|
|
69
|
+
logger.error(`Tool eyes_compare error:`, mcpError);
|
|
70
70
|
|
|
71
71
|
return {
|
|
72
72
|
content: [{
|