Skip to main content
Glama
cli.py2.06 kB
""" Command-line interface for APIWeaver. """ import json import click from pathlib import Path from typing import Optional from .server import APIWeaver import os @click.group() def main(): """APIWeaver - Convert any web API into an MCP server.""" pass @main.command() @click.option("--name", default="APIWeaver", help="Server name") @click.option("--config", type=click.Path(exists=True), help="API configuration file (JSON)") @click.option("--transport", default="stdio", type=click.Choice(["stdio", "sse", "streamable-http"]), help="Transport type") @click.option("--host", default="127.0.0.1", help="Host for HTTP transports") @click.option("--port", default=8000, type=int, help="Port for HTTP transports") @click.option("--path", default="/mcp", help="Path for HTTP transports") def run(name: str, config: Optional[str], transport: str, host: str, port: int, path: str): """Run the APIWeaver server.""" # Create server server = APIWeaver(name=name) # Load configuration if provided if config: config_path = Path(config) if config_path.exists(): with open(config_path, 'r') as f: api_config = json.load(f) # Register API from config file # This would need to be done through the MCP protocol # For now, we'll just start the server # click.echo(f"Loaded configuration from {config}") # Run server with appropriate transport if transport == "stdio": # click.echo(f"Starting {name} server on STDIO transport...") server.run() elif transport == "streamable-http": # click.echo(f"Starting {name} server on Streamable HTTP transport at http://{host}:{port}{path}") server.run(transport="streamable-http", host=host, port=port, path=path) else: # sse # click.echo(f"Starting {name} server on SSE transport at http://{host}:{port}{path}") server.run(transport="sse", host=host, port=port, path=path) if __name__ == "__main__": main()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GongRzhe/APIWeaver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server