Cucumberstudio

io.github.HeroSizy由 GitHub 帳號 HeroSizy 發布v1.2.2更新於 Oct 24, 2026

MCP server for Cucumber Studio - test scenarios, action words, and execution data

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓 AI 助理讀取 Cucumber Studio 的專案、測試情境、動作詞與測試執行資料。

可以做什麼
列出專案並取得專案詳細資訊,包括與專案相關的建置與執行環境。瀏覽專案中的測試情境、查看情境詳細內容,並依標籤尋找情境。列出並查看可重複使用的動作詞,並依標籤尋找動作詞。查看測試執行、單筆測試執行結果以及建置資訊。
適用情境
適合在使用 Cucumber Studio 時,讓助理直接查詢情境、動作詞或測試執行結果,而不必切換到網頁介面,例如彙整失敗案例或找出帶有特定標籤的情境。
執行需求
以本機程序方式執行,通常透過 npx 或 Docker 在桌面用戶端啟動。需要 Cucumber Studio 帳號以及三項憑證:CUCUMBERSTUDIO_ACCESS_TOKEN、CUCUMBERSTUDIO_CLIENT_ID 和 CUCUMBERSTUDIO_UID。需要連線至 Cucumber Studio API 的網路存取,可用 CUCUMBERSTUDIO_BASE_URL 覆寫介面位址。
安裝前請注意
需要你 Cucumber Studio 帳號的 API 存取權杖與用戶端 ID,應存放在環境變數或擴充設定中,不要外流。文件中的工具僅讀取資料,但實際可存取的範圍取決於權杖權限。選用的記錄設定會寫下 API 請求與回應內容,其中可能包含專案資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Cucumberstudio,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Cucumber Studio MCP Server

[NPM Version] [NPM Downloads] [Docker Pulls] [GitHub Release] [Build Status] [Test Coverage] [TypeScript] [License]

Vibe Coded with Claude Code and Pu-Er 🍵

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

  • Dual Transport Support - STDIO and Streamable HTTP transports with session management
  • Project Management - List and retrieve project details
  • Scenario Access - Browse test scenarios and search by tags
  • Action Words - Access reusable test steps and definitions
  • Test Execution - View test runs, executions, and build information
  • Hot Reload Development - Instant server restart on file changes with tsx --watch
  • Configurable Logging - Structured logging with multiple output destinations
  • Comprehensive Error Handling - Robust error handling with detailed feedback
  • Type Safety - Full TypeScript implementation with Zod validation
  • Comprehensive Testing - 82%+ test coverage with Vitest and MSW

Installation

Desktop Extension (MCPB) Installation

The easiest way to use this MCP server is as a Desktop Extension:

  1. Download Extension: Get the latest .mcpb file from the releases page (automatically built from each release)
  2. Install Extension: Import the extension in your compatible AI desktop application
  3. Configure Credentials: Set up your Cucumber Studio API credentials through the extension settings:
    • Access Token: Your Cucumber Studio API access token
    • Client ID: Your Cucumber Studio client ID
    • User ID: Your Cucumber Studio user ID

The extension will automatically handle the MCP server setup and communication.

Quick Start (Command Line)

Run directly with npx (no installation required):

bash
npx cucumberstudio-mcp

Set your environment variables first:

bash
export CUCUMBERSTUDIO_ACCESS_TOKEN="your_token"export CUCUMBERSTUDIO_CLIENT_ID="your_client_id"export CUCUMBERSTUDIO_UID="your_uid"

Development Installation

  1. Clone the repository:
bash
git clone https://github.com/HeroSizy/cucumberstudio-mcp.gitcd cucumberstudio-mcp
  1. Install dependencies:
bash
npm install
  1. Set up environment variables:
bash
cp .env.example .env# Edit .env with your Cucumber Studio API credentials
  1. Build the server:
bash
npm run build

Docker Support

Using Pre-built Image (Recommended)

Run the official Docker image from Docker Hub:

bash
# With environment filedocker run --env-file .env herosizy/cucumberstudio-mcp
# With environment variablesdocker run -e CUCUMBERSTUDIO_ACCESS_TOKEN=your_token \           -e CUCUMBERSTUDIO_CLIENT_ID=your_client_id \           -e CUCUMBERSTUDIO_UID=your_uid \           herosizy/cucumberstudio-mcp

Using Docker Compose

  1. Set up environment variables:
bash
cp .env.example .env# Edit .env with your Cucumber Studio API credentials
  1. Update docker-compose.yml to use the pre-built image:
yaml
version: '3.8'services:  cucumberstudio-mcp:    image: herosizy/cucumberstudio-mcp    env_file:      - .env    restart: unless-stopped    ports:      - "${MCP_PORT:-3000}:3000"
  1. Run with Docker Compose:
bash
docker-compose up

Building Locally

  1. Build the image:
bash
npm run docker:build
  1. Run the container:
bash
npm run docker:run

The Docker setup includes health checks and automatic restarts for production use. The multi-stage build process creates optimized production images with only runtime dependencies (~150MB).

Configuration

The server requires Cucumber Studio API credentials. Get these from your Cucumber Studio account settings:

Required Environment Variables

  • CUCUMBERSTUDIO_ACCESS_TOKEN - Your API access token
  • CUCUMBERSTUDIO_CLIENT_ID - Your client ID
  • CUCUMBERSTUDIO_UID - Your user ID

Optional Configuration

  • CUCUMBERSTUDIO_BASE_URL - API base URL (default: https://studio.cucumberstudio.com/api)
  • MCP_TRANSPORT - Transport type: stdio (default), http, or streamable-http
  • MCP_PORT - HTTP transport port (default: 3000)
  • MCP_HOST - HTTP transport host (default: 0.0.0.0)
  • MCP_CORS_ORIGIN - CORS origin setting (default: true)

Logging Configuration

  • LOG_LEVEL - Log level: error, warn, info, debug, trace (default: info)
  • LOG_API_RESPONSES - Log Cucumber Studio API responses (default: false)
  • LOG_REQUEST_BODIES - Log API request bodies for debugging (default: false)
  • LOG_RESPONSE_BODIES - Log API response bodies for debugging (default: false)
  • LOG_TRANSPORT - Logging output: console, stderr, file, none (default: stderr)
  • LOG_FILE - Log file path (required if LOG_TRANSPORT=file)

Usage

Transport Options

The server supports both STDIO and HTTP transports:

STDIO Transport (Default)
bash
# Developmentnpm run dev
# Productionnpm start
HTTP Transport
bash
# Developmentnpm run dev:http
# Productionnpm run start:http

Using with MCP Clients

Desktop Extension (Recommended)

Import the .mcpb extension file directly into your compatible AI desktop application. The extension handles all configuration through its settings interface.

Manual MCP Configuration

For manual MCP client configuration:

Option 1: NPX (Recommended)
json
{  "mcpServers": {    "cucumberstudio": {      "command": "npx",      "args": ["cucumberstudio-mcp"],      "env": {        "CUCUMBERSTUDIO_ACCESS_TOKEN": "your_token",        "CUCUMBERSTUDIO_CLIENT_ID": "your_client_id",        "CUCUMBERSTUDIO_UID": "your_uid"      }    }  }}
Option 2: Local Installation
json
{  "mcpServers": {    "cucumberstudio": {      "command": "node",      "args": ["/path/to/cucumberstudio-mcp/build/index.js"],      "env": {        "CUCUMBERSTUDIO_ACCESS_TOKEN": "your_token",        "CUCUMBERSTUDIO_CLIENT_ID": "your_client_id",        "CUCUMBERSTUDIO_UID": "your_uid"      }    }  }}
Option 3: Docker Hub Image
json
{  "mcpServers": {    "cucumberstudio": {      "command": "docker",      "args": ["run", "--rm", "-i", "--env-file", "/path/to/.env", "herosizy/cucumberstudio-mcp"]    }  }}
Option 4: Local Docker Build
json
{  "mcpServers": {    "cucumberstudio": {      "command": "docker",      "args": ["run", "--rm", "-i", "--env-file", "/path/to/.env", "cucumberstudio-mcp"]    }  }}

Available Tools

Project Tools

  • cucumberstudio_list_projects - List all accessible projects
  • cucumberstudio_get_project - Get detailed project information

Scenario Tools

  • cucumberstudio_list_scenarios - List scenarios in a project
  • cucumberstudio_get_scenario - Get detailed scenario information
  • cucumberstudio_find_scenarios_by_tags - Find scenarios by tags

Action Word Tools

  • cucumberstudio_list_action_words - List reusable action words
  • cucumberstudio_get_action_word - Get detailed action word information
  • cucumberstudio_find_action_words_by_tags - Find action words by tags

Test Execution Tools

  • cucumberstudio_list_test_runs - List test runs
  • cucumberstudio_get_test_run - Get detailed test run information
  • cucumberstudio_get_test_executions - Get individual test results
  • cucumberstudio_list_builds - List builds
  • cucumberstudio_get_build - Get build details
  • cucumberstudio_list_execution_environments - List execution environments

Development

Hot Reload Development

The server supports hot reload for rapid development:

bash
# STDIO transport with hot reloadnpm run dev
# HTTP transport with hot reload  npm run dev:http

Files are automatically recompiled and the server restarts when changes are detected.

Testing and Quality

bash
# Install dependenciesnpm install
# Run type checkingnpm run typecheck
# Run lintingnpm run lint
# Build for productionnpm run build
# Run testsnpm test
# Run tests in watch modenpm run test:watch
# Run tests with coverage (82%+ coverage)npm run test:coverage
# Run tests with UInpm run test:ui

Build Options

bash
# Production build (default) - optimized for size, no .d.ts/.js.map filesnpm run build
# Development build - includes source maps and type declarations for debuggingnpm run build:dev

MCPB Extension Development

bash
# Validate manifest.jsonnpm run mcpb:validate
# Build complete MCPB extension for local testing (optimized production build)npm run mcpb:build
# Check info about built extensionnpm run mcpb:info
# Clean up build artifactsnpm run mcpb:clean

Architecture

The server is built with a modular, production-ready architecture:

Core Technologies

  • TypeScript - Full type safety with strict configuration
  • Dual Transports - STDIO for local use, Streamable HTTP for remote access
  • Zod - Runtime validation for API inputs and configuration
  • Axios - HTTP client with comprehensive error handling and logging
  • MCP SDK - Official Model Context Protocol implementation
  • Express - HTTP server with CORS, security middleware, and session management
  • Vitest - Modern testing framework with 82%+ code coverage
  • MSW - Mock Service Worker for realistic API testing

Key Features

  • Session Management - HTTP transport with session tracking and cleanup
  • Comprehensive Logging - Structured logging with configurable outputs and levels
  • Error Handling - Robust error handling with detailed feedback and recovery
  • Security - Origin validation, CORS protection, and input sanitization
  • Health Monitoring - Health check endpoints and request/response tracking
  • Development Workflow - Hot reload, comprehensive testing, and Docker support

Testing

The project includes comprehensive test coverage:

bash
# Run all testsnpm test
# Run tests with coverage reportnpm run test:coverage
# Run tests in watch mode (for development)npm run test:watch

Test coverage includes:

  • Unit tests for all modules
  • Integration tests for the MCP server
  • Transport layer testing
  • API client mocking and testing
  • Configuration validation
  • Error handling scenarios

Publishing and Releases

This project uses automated releases via GitHub Actions. When a version tag is pushed, it automatically:

  1. Runs full test suite - Ensures code quality and coverage
  2. Publishes to NPM - Makes the package available via npx cucumberstudio-mcp
  3. Builds and publishes Docker image - Pushes multi-platform images to Docker Hub
  4. Creates GitHub release - Generates release notes and links

Creating a Release

  1. Update the version in package.json:
bash
npm version patch|minor|major
  1. Push the tag to trigger the release:
bash
git push origin --tags
  1. The GitHub Action will automatically:

Required Secrets

For automated publishing, the following secrets must be configured in the GitHub repository:

  • NPM_TOKEN - NPM authentication token
  • DOCKER_USERNAME - Docker Hub username
  • DOCKER_PASSWORD - Docker Hub password or access token

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass: npm test
  6. Submit a pull request

License

MIT License - see LICENSE file for details

Resources

來源:README.md,提交 9bbf651

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.2.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分