Remove click dependency in client

This commit is contained in:
David Soria Parra
2024-12-12 16:41:30 +00:00
parent ce25842d35
commit ef9b4cf6a2
2 changed files with 20 additions and 15 deletions

View File

@@ -2,9 +2,9 @@ import logging
import sys
from functools import partial
from urllib.parse import urlparse
import argparse
import anyio
import click
from mcp.client.session import ClientSession
from mcp.client.sse import sse_client
@@ -57,19 +57,24 @@ async def main(command_or_url: str, args: list[str], env: list[tuple[str, str]])
await run_session(*streams)
@click.command()
@click.argument("command_or_url")
@click.argument("args", nargs=-1)
@click.option(
"--env",
"-e",
multiple=True,
def cli():
parser = argparse.ArgumentParser()
parser.add_argument("command_or_url", help="Command or URL to connect to")
parser.add_argument("args", nargs="*", help="Additional arguments")
parser.add_argument(
"-e", "--env",
nargs=2,
metavar="KEY VALUE",
action="append",
metavar=("KEY", "VALUE"),
help="Environment variables to set. Can be used multiple times.",
default=[]
)
args = parser.parse_args()
anyio.run(
partial(main, args.command_or_url, args.args, args.env),
backend="trio"
)
def cli(*args, **kwargs):
anyio.run(partial(main, *args, **kwargs), backend="trio")
if __name__ == "__main__":

2
uv.lock generated
View File

@@ -170,7 +170,7 @@ wheels = [
[[package]]
name = "mcp"
version = "1.1.1"
version = "1.1.2"
source = { editable = "." }
dependencies = [
{ name = "anyio" },