|
import logging |
|
import argparse |
|
from mcp.server.fastmcp import FastMCP |
|
|
|
from pmcp.mcp_server.trello_server.trello import initialize_trello_client |
|
|
|
|
|
logging.basicConfig( |
|
level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" |
|
) |
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
def parse_args(): |
|
parser = argparse.ArgumentParser(description="Avvia il Trello MCP Server") |
|
parser.add_argument("--api-key", type=str, required=True, help="API key per Trello") |
|
parser.add_argument("--token", type=str, required=True, help="Token per Trello") |
|
return parser.parse_args() |
|
|
|
|
|
def main(): |
|
args = parse_args() |
|
|
|
initialize_trello_client(args.api_key, args.token) |
|
|
|
mcp = FastMCP("Trello MCP Server") |
|
|
|
from pmcp.mcp_server.trello_server.tools.tools import register_tools |
|
|
|
register_tools(mcp) |
|
|
|
try: |
|
logger.info("Starting Trello MCP Server in Stdio...") |
|
mcp.run() |
|
logger.info("Trello MCP Server started successfully") |
|
except KeyboardInterrupt: |
|
logger.info("Shutting down server...") |
|
except Exception as e: |
|
logger.error(f"Server error: {str(e)}") |
|
raise |
|
|
|
|
|
if __name__ == "__main__": |
|
main() |
|
|