mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-20 07:14:24 +01:00
Remove click dependency in client
This commit is contained in:
@@ -2,9 +2,9 @@ import logging
|
|||||||
import sys
|
import sys
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
import argparse
|
||||||
|
|
||||||
import anyio
|
import anyio
|
||||||
import click
|
|
||||||
|
|
||||||
from mcp.client.session import ClientSession
|
from mcp.client.session import ClientSession
|
||||||
from mcp.client.sse import sse_client
|
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)
|
await run_session(*streams)
|
||||||
|
|
||||||
|
|
||||||
@click.command()
|
def cli():
|
||||||
@click.argument("command_or_url")
|
parser = argparse.ArgumentParser()
|
||||||
@click.argument("args", nargs=-1)
|
parser.add_argument("command_or_url", help="Command or URL to connect to")
|
||||||
@click.option(
|
parser.add_argument("args", nargs="*", help="Additional arguments")
|
||||||
"--env",
|
parser.add_argument(
|
||||||
"-e",
|
"-e", "--env",
|
||||||
multiple=True,
|
nargs=2,
|
||||||
nargs=2,
|
action="append",
|
||||||
metavar="KEY VALUE",
|
metavar=("KEY", "VALUE"),
|
||||||
help="Environment variables to set. Can be used multiple times.",
|
help="Environment variables to set. Can be used multiple times.",
|
||||||
)
|
default=[]
|
||||||
def cli(*args, **kwargs):
|
)
|
||||||
anyio.run(partial(main, *args, **kwargs), backend="trio")
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
anyio.run(
|
||||||
|
partial(main, args.command_or_url, args.args, args.env),
|
||||||
|
backend="trio"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user