Skip to main content
Glama
React Development Workflow MCP Server

React Development Workflow MCP Server

React Development Workflow MCP Server

A Model Context Protocol (MCP) server implementation in TypeScript that streamlines the React development workflow by integrating Zoho Projects, Git, and SonarQube tools.

What is MCP?

The Model Context Protocol (MCP) is a standard for connecting AI assistants with data sources and tools. This server provides an integrated workflow for React developers to manage tasks, create branches, and ensure code quality in real-time.

Related MCP server: Error Tracker MCP Server

Features

This server provides the following tools:

Core Workflow Tools

  • fetch_zoho_task: Fetch task details from Zoho Projects by task ID

  • create_feature_branch: Create git branches (feat/ or fix/) based on task information

  • check_sonarqube_issues: Check for SonarQube code quality issues in a branch

  • auto_fix_sonarqube_issues: Automatically fix common SonarQube issues detected in code

  • update_task_status: Update task status in Zoho Projects (Open, In Progress, Completed)

  • generate_implementation_report: Generate a summary report of implementation and quality fixes

Utility Tools

  • get_time: Get the current time, optionally in a specific timezone

  • echo: Echo back a message

Workflow Overview

The typical workflow is:

  1. fetch_zoho_task - Retrieve task details from Zoho Projects

  2. create_feature_branch - Create a git branch with proper naming convention

  3. Check code during implementation - While implementing, continuously use check_sonarqube_issues

  4. auto_fix_sonarqube_issues - Fix detected quality issues in real-time

  5. update_task_status - Update Zoho with progress

  6. generate_implementation_report - Create a final report of work completed

Installation

  1. Clone this repository

  2. Install dependencies:

    npm install

Building

Build the TypeScript code:

npm run build

Setup & Configuration

Before using this MCP, you need to set up:

  1. Zoho Projects - API credentials for fetching tasks

  2. SonarQube - Project configuration and authentication token

  3. Git - User configuration for branch creation

See CONFIGURATION.md for detailed setup instructions.

⚠️ Security: Always keep credentials in .env.local (not committed). See SECURITY.md for best practices.

Usage

Quick Start

  1. Configure credentials (see CONFIGURATION.md)

  2. Start the MCP server:

    npm start
  3. Use with Claude Code by adding to .claude/settings.json

Running the Server

npm start

Or for development with automatic rebuilding:

npm run dev

The server will run on stdio and communicate using the MCP protocol.

Workflow Example

See WORKFLOW.md for a complete example of how to use this MCP in your React development workflow.

Using with VS Code

This project includes a .vscode/mcp.json configuration file that allows you to debug the MCP server directly in VS Code. The server will be available as "workflow-mcp" in your MCP client.

Development

Project Structure

mcp-demo/
├── src/
│   └── index.ts          # Main server implementation
├── build/                # Compiled JavaScript (generated)
├── .github/
│   └── copilot-instructions.md  # GitHub Copilot instructions
├── .vscode/
│   └── mcp.json          # VS Code MCP configuration
├── package.json
├── tsconfig.json
└── README.md

Adding New Tools

To add a new tool:

  1. Define a Zod schema for input validation

  2. Add the tool definition to the ListToolsRequestSchema handler

  3. Implement the tool logic in the CallToolRequestSchema handler

Example:

// 1. Define schema
const MyToolSchema = z.object({
  input: z.string().describe("Input parameter"),
});

// 2. Add to tools list
{
  name: "my_tool",
  description: "Description of what the tool does",
  inputSchema: {
    type: "object",
    properties: {
      input: {
        type: "string",
        description: "Input parameter",
      },
    },
    required: ["input"],
  },
}

// 3. Handle the tool call
case "my_tool": {
  const parsed = MyToolSchema.parse(args);
  return {
    content: [
      {
        type: "text",
        text: `Result: ${parsed.input}`,
      },
    ],
  };
}

Dependencies

  • @modelcontextprotocol/sdk: MCP SDK for TypeScript

  • zod: Schema validation library

  • typescript: TypeScript compiler

  • @types/node: Node.js type definitions

Scripts

  • npm run build - Compile TypeScript to JavaScript

  • npm start - Run the compiled server

  • npm run dev - Build and run the server

  • npm test - Run tests (placeholder)

License

ISC

Documentation

External Resources

About This Project

This MCP was built to solve a real React development workflow problem:

The Problem: Developers waste 2-3 hours per week context-switching between Zoho Projects, Git, and SonarQube while implementing features.

The Solution: A single integrated MCP that:

  1. Fetches tasks from Zoho

  2. Creates proper git branches

  3. Continuously checks code quality

  4. Fixes issues in real-time

  5. Updates task status automatically

  6. Generates implementation reports

Time Saved: 2-3 hours per week per developer

Available Tools

13 tools
auto_fix_sonarqube_issuesC

Automatically fix common SonarQube issues

Inputs: issues (required), fileType.

check_pr_statusB

Check the status of a pull request

Inputs: branchName (required).

check_sonarqube_issuesB

Check SonarQube for code quality issues in a branch

Inputs: projectKey (required), branchName.

commit_and_pushB

Commit changes and push to GitHub branch

Inputs: branch (required), message (required), files.

create_feature_branchB

Create a git branch (feat/ or fix/) based on task details

Inputs: type (required), taskId (required), taskName (required).

create_github_releaseC

Create a release on GitHub

Inputs: tag (required), body (required), title (required), draft.

create_pull_requestB

Create a pull request on GitHub

Inputs: body (required), title (required), sourceBranch (required), draft, +1 more.

echoA

Echo back a message

Inputs: message (required).

fetch_zoho_taskB

Fetch task details from Zoho Projects by task ID

Inputs: taskId (required), projectKey.

generate_implementation_reportC

Generate a summary report of implementation and fixes

Inputs: taskId (required), taskName (required), branchName (required), issuesFixed (required), +1 more.

get_timeA

Get the current time, optionally in a specific timezone

Inputs: timezone.

merge_pull_requestC

Merge a pull request

Inputs: branchName (required), mergeStrategy, deleteAfterMerge.

update_task_statusB

Update task status in Zoho Projects

Inputs: status (required), taskId (required), message.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool targets a distinct action and resource: GitHub operations (create/check/merge PR, create release), SonarQube (check/fix issues), Zoho (update/fetch task), git (create branch, commit/push), plus reporting and utilities. No two tools have overlapping purposes, even the generic get_time and echo are clearly unique.

    Naming Consistency5/5

    All tool names follow a consistent snake_case, verb-first pattern (e.g., create_pull_request, check_sonarqube_issues, fetch_zoho_task). Even compound actions like commit_and_push use a clear verb phrase. The naming is uniform and predictable across all 13 tools.

    Tool Count5/5

    13 tools is well within the ideal 3-15 range and appropriately scoped for a workflow server that integrates multiple systems (GitHub, SonarQube, Zoho, git). Each tool contributes to the workflow without redundancy, and the count feels neither sparse nor bloated.

    Completeness4/5

    The tool surface covers the full development lifecycle from feature branch creation, committing/pushing, creating and merging PRs, releasing, checking/fixing SonarQube issues, and updating Zoho tasks. Minor gaps exist such as updating PR details, adding comments/reviews, or reverting changes, but the core workflow is well covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers