cucumberstudio-mcp 1.1.8 → 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/README.md CHANGED
@@ -28,11 +28,11 @@ A Model Context Protocol (MCP) server that provides LLM access to Cucumber Studi
28
28
 
29
29
  ## Installation
30
30
 
31
- ### Desktop Extension (DXT) Installation
31
+ ### Desktop Extension (MCPB) Installation
32
32
 
33
33
  The easiest way to use this MCP server is as a Desktop Extension:
34
34
 
35
- 1. **Download Extension**: Get the latest `.dxt` file from the [releases page](https://github.com/HeroSizy/cucumberstudio-mcp/releases) (automatically built from each release)
35
+ 1. **Download Extension**: Get the latest `.mcpb` file from the [releases page](https://github.com/HeroSizy/cucumberstudio-mcp/releases) (automatically built from each release)
36
36
  2. **Install Extension**: Import the extension in your compatible AI desktop application
37
37
  3. **Configure Credentials**: Set up your Cucumber Studio API credentials through the extension settings:
38
38
  - **Access Token**: Your Cucumber Studio API access token
@@ -187,7 +187,7 @@ npm run start:http
187
187
  ### Using with MCP Clients
188
188
 
189
189
  #### Desktop Extension (Recommended)
190
- Import the `.dxt` extension file directly into your compatible AI desktop application. The extension handles all configuration through its settings interface.
190
+ Import the `.mcpb` extension file directly into your compatible AI desktop application. The extension handles all configuration through its settings interface.
191
191
 
192
192
  #### Manual MCP Configuration
193
193
 
@@ -326,19 +326,20 @@ npm run build
326
326
  npm run build:dev
327
327
  ```
328
328
 
329
- ### DXT Extension Development
329
+ ### MCPB Extension Development
330
+
330
331
  ```bash
331
332
  # Validate manifest.json
332
- npm run dxt:validate
333
+ npm run mcpb:validate
333
334
 
334
- # Build complete DXT extension for local testing (optimized production build)
335
- npm run dxt:build
335
+ # Build complete MCPB extension for local testing (optimized production build)
336
+ npm run mcpb:build
336
337
 
337
338
  # Check info about built extension
338
- npm run dxt:info
339
+ npm run mcpb:info
339
340
 
340
341
  # Clean up build artifacts
341
- npm run dxt:clean
342
+ npm run mcpb:clean
342
343
  ```
343
344
 
344
345
  ## Architecture
@@ -28,7 +28,7 @@ export class ConfigManager {
28
28
  config = null;
29
29
  /**
30
30
  * Load configuration from environment variables
31
- * Supports both traditional environment variables and DXT user configuration
31
+ * Supports both traditional environment variables and MCPB user configuration
32
32
  * Note: .env file loading is handled by entry points (index.ts), not here
33
33
  */
34
34
  loadFromEnvironment() {
@@ -67,7 +67,7 @@ export class ConfigManager {
67
67
  throw new Error(`Configuration validation failed. Missing or invalid fields: ${missingFields}. ` +
68
68
  'Please ensure all required credentials are configured: ' +
69
69
  'Access Token, Client ID, and User ID. ' +
70
- 'In DXT environments, these should be configured through the extension settings. ' +
70
+ 'In MCPB environments, these should be configured through the extension settings. ' +
71
71
  'For development, set environment variables: CUCUMBERSTUDIO_ACCESS_TOKEN, CUCUMBERSTUDIO_CLIENT_ID, CUCUMBERSTUDIO_UID');
72
72
  }
73
73
  throw error;
@@ -1,4 +1,4 @@
1
1
  // Auto-generated version info - DO NOT EDIT
2
2
  // Generated at build time from package.json
3
- export const PACKAGE_VERSION = '1.1.8';
3
+ export const PACKAGE_VERSION = '1.2.1';
4
4
  export const PACKAGE_NAME = 'cucumberstudio-mcp';
@@ -1,16 +1,16 @@
1
1
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
2
  import { createCucumberStudioMcpServer } from './mcp-server.js';
3
3
  /**
4
- * DXT-optimized entry point for the Cucumber Studio MCP Server
4
+ * MCPB-optimized entry point for the Cucumber Studio MCP Server
5
5
  * STDIO transport only - HTTP transport code excluded from bundle
6
- * Environment variables provided by DXT runtime (no .env files needed)
6
+ * Environment variables provided by MCPB runtime (no .env files needed)
7
7
  */
8
8
  async function main() {
9
- // DXT provides environment variables through manifest configuration
10
- // No need for dotenv in DXT runtime
9
+ // MCPB provides environment variables through manifest configuration
10
+ // No need for dotenv in MCPB runtime
11
11
  console.error(`🎯 Starting Cucumber Studio MCP Server with stdio transport...`);
12
12
  try {
13
- // STDIO transport only (DXT optimization)
13
+ // STDIO transport only (MCPB optimization)
14
14
  const server = createCucumberStudioMcpServer();
15
15
  const stdioTransport = new StdioServerTransport();
16
16
  console.error('🚀 CucumberStudio MCP Server running on stdio');
@@ -1,7 +1,7 @@
1
1
  import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
2
2
  /**
3
3
  * Convert various error types into MCP-compatible errors
4
- * Enhanced for DXT extension compatibility with detailed error context
4
+ * Enhanced for MCPB extension compatibility with detailed error context
5
5
  */
6
6
  export function createMcpError(error, context) {
7
7
  if (error instanceof McpError) {
@@ -16,9 +16,9 @@ export function createMcpError(error, context) {
16
16
  if (error.name === 'ZodError') {
17
17
  return new McpError(ErrorCode.InvalidParams, `Validation error${context ? ` (${context})` : ''}: ${error.message}`);
18
18
  }
19
- // Handle configuration errors specifically for DXT
19
+ // Handle configuration errors specifically for MCPB
20
20
  if (error.message.includes('Configuration validation failed')) {
21
- return new McpError(ErrorCode.InvalidRequest, `Configuration error: ${error.message}. Please check your DXT extension settings.`);
21
+ return new McpError(ErrorCode.InvalidRequest, `Configuration error: ${error.message}. Please check your MCPB extension settings.`);
22
22
  }
23
23
  // Handle network/timeout errors
24
24
  if (error.name === 'AxiosError' || error.message.includes('timeout')) {
package/manifest.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "dxt_version": "0.2.5",
2
+ "manifest_version": "0.3",
3
3
  "name": "cucumberstudio-mcp",
4
4
  "display_name": "Cucumber Studio MCP",
5
- "version": "1.1.8",
5
+ "version": "1.2.1",
6
6
  "description": "MCP server for Cucumber Studio API integration - access test scenarios, action words, and execution data",
7
7
  "long_description": "A Model Context Protocol (MCP) server that provides LLM access to Cucumber Studio's testing platform. This server enables AI assistants to retrieve test scenarios, action words, test runs, and project information from Cucumber Studio. Features include project management, scenario browsing, reusable test steps access, and test execution monitoring with comprehensive error handling and type safety.",
8
8
  "author": {
@@ -155,6 +155,8 @@
155
155
  }
156
156
  ],
157
157
  "compatibility": {
158
- "node": ">=20.0.0"
158
+ "runtimes": {
159
+ "node": ">=20.0.0"
160
+ }
159
161
  }
160
162
  }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "cucumberstudio-mcp",
3
- "version": "1.1.8",
3
+ "mcpName": "io.github.HeroSizy/cucumberstudio",
4
+ "version": "1.2.1",
4
5
  "description": "MCP server for Cucumber Studio API integration",
5
6
  "main": "build/index.js",
6
7
  "type": "module",
@@ -44,10 +45,10 @@
44
45
  "docker:compose:down": "docker-compose down",
45
46
  "docker:compose:build": "docker-compose build",
46
47
  "bundle": "node esbuild.config.js",
47
- "dxt:validate": "npx @anthropic-ai/dxt validate manifest.json",
48
- "dxt:build": "npm run bundle && npx @anthropic-ai/dxt pack . cucumberstudio-mcp-local.dxt",
49
- "dxt:info": "npx @anthropic-ai/dxt info cucumberstudio-mcp-local.dxt",
50
- "dxt:clean": "rm -f cucumberstudio-mcp-local.dxt bundle.js"
48
+ "mcpb:validate": "npx @anthropic-ai/mcpb validate manifest.json",
49
+ "mcpb:build": "npm run bundle && npx @anthropic-ai/mcpb pack . cucumberstudio-mcp-local.mcpb",
50
+ "mcpb:info": "npx @anthropic-ai/mcpb info cucumberstudio-mcp-local.mcpb",
51
+ "mcpb:clean": "rm -f cucumberstudio-mcp-local.mcpb bundle.js"
51
52
  },
52
53
  "keywords": [
53
54
  "mcp",
@@ -80,7 +81,7 @@
80
81
  "zod": "^3.22.0"
81
82
  },
82
83
  "devDependencies": {
83
- "@anthropic-ai/dxt": "^0.2.5",
84
+ "@anthropic-ai/mcpb": "^2.1.2",
84
85
  "@types/cors": "^2.8.0",
85
86
  "@types/express": "^4.17.0",
86
87
  "@types/node": "^22.15.30",