Skip to main content

A minimalistic MCP client for testing MCP Server

Project description

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:

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

To use it as in your code, install the package with:

uv pip install mcp-client-for-testing 

and use it like this:

import asyncio
import json
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())

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 .

Building with uv

If you want to build distribution packages:

uv build

Releasing a New Version

To release a new version of the package to PyPI:

  1. Create and push a new Git tag following semantic versioning:
    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 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_client_for_testing-0.1.3.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_client_for_testing-0.1.3-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_client_for_testing-0.1.3.tar.gz.

File metadata

  • Download URL: mcp_client_for_testing-0.1.3.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mcp_client_for_testing-0.1.3.tar.gz
Algorithm Hash digest
SHA256 57a8c41644917fd0d52ed2014502a1ed8b608f8727a56f037d436875fe719363
MD5 df676bee10e25d1ab17f00b803c24c2f
BLAKE2b-256 e6c328ff05eb3f5f8d4696d3c06a02e308f95877c00b78e41393ceacb414dd35

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_client_for_testing-0.1.3.tar.gz:

Publisher: publish.yml on piebro/mcp-client-for-testing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_client_for_testing-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_client_for_testing-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 989ff89b68c0d0e0060f50ff0571040e7a8a768dd860a6fa1f8b05c619ecb07e
MD5 48614dfbd2ffecae57e1da9ef4cf90ac
BLAKE2b-256 b48be1c9fa043e296cd299a8d545dbeb044566781ce923fdb59aaf8451b80cc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_client_for_testing-0.1.3-py3-none-any.whl:

Publisher: publish.yml on piebro/mcp-client-for-testing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page