MCPGex

PatzEdi/MCPGex

3.3

If you are the rightful owner of MCPGex and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCPGex is an MCP server designed to assist in the development, testing, and refinement of regex patterns using LLMs.

Tools
4
Resources
0
Prompts
0

MCPGex

MCP server for finding, testing and refining regex patterns

MCPGex is an MCP server that allows LLMs to test and validate regex patterns against test cases. It provides a systematic way to develop regex patterns by defining or generating expected outcomes and iteratively testing patterns until all requirements are satisfied.

[!WARNING] MCPGex is still in its early stages.

Index

How it works

  1. Define the goal: You provide what the goal regex pattern should return. The LLM will generate test cases for you.
  2. Test patterns: The LLM can test different regex patterns against all defined test cases to see which ones pass or fail.
  3. Iterate: Based on the results, the LLM can refine the regex pattern until all test cases pass.
  4. Validate: Once all tests pass, you have a regex pattern that works for your specific use cases.

Installation

Go ahead and install through pip:

pip3 install mcpgex

Usage

Running the Server

If you want to start the MCP server:

mcpgex

Configuration

You can also add a configuration. For example, for Claude Desktop, you can have:

{
  "mcpServers": {
    "mcpgex": {
      "command": "python3",
      "args": ["-m", "mcpgex"]
    }
  }
}

Then, you will be able to use the server in these tools without having to run the python script manually!

Available Tools (click to expand)

The server provides four main tools:

1. add_test_case

Add a new test case with an input string and expected match.

Parameters:

  • input_string (required): The text to test against
  • expected_matches (required): The array of substrings that should be extracted/matched
  • description (optional): Description of what this test case validates

Example:

{
  "input_string": "Contact me at john@example.com for details", 
  "expected_matches": ["john@example.com"],
  "description": "Basic email extraction"
}
2. test_regex

Test a regex pattern against all current test cases.

Parameters:

  • pattern (required): The regex pattern to test
  • flags (optional): Regex flags like 'i' (case-insensitive), 'm' (multiline), 's' (dotall)

Example:

{
  "pattern": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}",
  "flags": "i"
}
3. get_test_cases

View all currently defined test cases.

4. clear_test_cases

Remove all test cases to start fresh.

Benefits

  • Comprehensive testing: Ensure patterns work across various use cases
  • Iterative improvement: Easy to test and refine patterns
  • Documentation: Test cases serve as examples and documentation
  • Confidence: Know your regex works before deploying it
  • Fully Automated: Give it instructions, let it do the rest

Requirements (installed automatically through pip3)

  • Python 3.8+
  • MCP library (pip3 install mcp)

License

This project is open source under the MIT license. Feel free to use and modify as needed.