@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 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 eyes.analyze and eyes.compare tools
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
- ### eyes.analyze
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
- ### eyes.compare
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 eyes.analyze tool with this screenshot:
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 eyes.analyze tool with this screen recording:
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 eyes.analyze tool:
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 `eyes.analyze` tool with a test image
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 `eyes.analyze` tool with a test image
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
- ### eyes.analyze
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
- ### eyes.compare
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("eyes.analyze", {
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 eyes.analyze error:`, mcpError);
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("eyes.compare", {
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 eyes.compare error:`, mcpError);
48764
+ logger.error(`Tool eyes_compare error:`, mcpError);
48765
48765
  return {
48766
48766
  content: [{
48767
48767
  type: "text",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goonnguyen/human-mcp",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Human MCP: Bringing Human Capabilities to Coding Agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -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 eyes.analyze tool
20
+ // Register eyes_analyze tool
21
21
  server.registerTool(
22
- "eyes.analyze",
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 eyes.analyze error:`, mcpError);
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 eyes.compare tool
52
+ // Register eyes_compare tool
53
53
  server.registerTool(
54
- "eyes.compare",
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 eyes.compare error:`, mcpError);
69
+ logger.error(`Tool eyes_compare error:`, mcpError);
70
70
 
71
71
  return {
72
72
  content: [{