Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Mcp Client For Testing

    A simple MCP (Model Context Protocol) client for testing MCP Server

    2 stars
    Python
    Updated Jun 26, 2025
    mcp
    mcp-client
    testing

    Table of Contents

    • Usage
    • Example
    • Development
    • Installation from source
    • Formatting and Linting
    • Building with uv
    • Releasing a New Version
    • License

    Table of Contents

    • Usage
    • Example
    • Development
    • Installation from source
    • Formatting and Linting
    • Building with uv
    • Releasing a New Version
    • License

    Documentation

    MCP Client for Testing

    A minimalistic MCP (Model Context Protocol) client for testing tool calls in MCP servers.

    Usage

    Install uv and test a tool call in an MCP server like this:

    bash
    uvx mcp-client-for-testing \
        --config '
        [
            {
                "name": "name of mcp server",
                "command": "uv",
                "args": [
                    "--directory", 
                    "path/to/root/dir/", 
                    "run", 
                    "server.py"
                ],
                "env": {}
            }
        ]
        ' \
        --client_log_level "WARNING" \
        --server_log_level "INFO" \
        --tool_call '{"name": "tool-name", "arguments": {}}'

    To use it in code, install the package:

    bash
    uv pip install mcp-client-for-testing

    and use it like this:

    python
    import asyncio
    
    from mcp_client_for_testing.client import execute_tool
    
    async def main():
        config = [
            {
                "name": "name of mcp server",
                "command": "uv",
                "args": [
                    "--directory", 
                    "path/to/root/dir/", 
                    "run", 
                    "server.py"
                ],
                "env": {}
            }
        ]
        tool_call = {"name": "tool-name", "arguments": {}}
        
        await execute_tool(config, tool_call)
    
    if __name__ == "__main__":
        asyncio.run(main())

    Example

    Use the echo-mcp-server-for-testing with uvx to test the MCP client.

    bash
    uvx mcp-client-for-testing \
        --config '
        [
            {
                "name": "echo-mcp-server-for-testing",
                "command": "uvx",
                "args": [
                    "echo-mcp-server-for-testing"
                ],
                "env": {
                    "SECRET_KEY": "123456789"
                }
            }
        ]
        ' \
        --client_log_level "WARNING" \
    	--server_log_level "INFO" \
        --tool_call '{"name": "echo_tool", "arguments": {"message": "Hello, world!"}}'

    Development

    Installation from source

    1. Clone the repo git clone git@github.com:piebro/mcp-client-for-testing.git.

    2. Go into the root dir cd mcp-client-for-testing.

    3. Install in development mode: uv pip install -e .

    Formatting and Linting

    The code is formatted and linted with ruff:

    bash
    uv run ruff format
    uv run ruff check --fix

    Building with uv

    Build the package using uv:

    bash
    uv build

    Releasing a New Version

    To release a new version of the package to PyPI, create and push a new Git tag:

    1. Checkout the main branch and get the current version:

    bash
    git checkout main
       git pull origin main
       git describe --tags

    2. Create and push a new Git tag:

    bash
    git tag v0.2.0
       git push origin v0.2.0

    The GitHub Actions workflow will automatically build and publish the package to PyPI when a new tag is pushed.

    The python package version number will be derived directly from the Git tag.

    License

    This project is licensed under the MIT License. See the LICENSE file for details.

    Similar MCP

    Based on tags & features

    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • FA

      Fal Mcp Server

      Python·
      8
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • FH

      Fhir Mcp Server

      Python·
      55

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • FA

      Fal Mcp Server

      Python·
      8
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • FH

      Fhir Mcp Server

      Python·
      55

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k