Home Assistant MCP

  • src
  • mcp_atlassian
import asyncio import logging import os import sys import click from dotenv import load_dotenv __version__ = "0.1.10" logger = logging.getLogger("mcp-atlassian") @click.command() @click.option("-v", "--verbose", count=True, help="Increase verbosity (can be used multiple times)") @click.option("--env-file", type=click.Path(exists=True, dir_okay=False), help="Path to .env file") @click.option("--confluence-url", help="Confluence URL (e.g., https://your-domain.atlassian.net/wiki)") @click.option("--confluence-username", help="Confluence username/email") @click.option("--confluence-token", help="Confluence API token") @click.option("--jira-url", help="Jira URL (e.g., https://your-domain.atlassian.net)") @click.option("--jira-username", help="Jira username/email") @click.option("--jira-token", help="Jira API token") def main( verbose: bool, env_file: str | None, confluence_url: str | None, confluence_username: str | None, confluence_token: str | None, jira_url: str | None, jira_username: str | None, jira_token: str | None, ) -> None: """MCP Atlassian Server - Jira and Confluence functionality for MCP""" # Configure logging based on verbosity logging_level = logging.WARN if verbose == 1: logging_level = logging.INFO elif verbose >= 2: logging_level = logging.DEBUG logging.basicConfig(level=logging_level, stream=sys.stderr) # Load environment variables from file if specified, otherwise try default .env if env_file: logger.debug(f"Loading environment from file: {env_file}") load_dotenv(env_file) else: logger.debug("Attempting to load environment from default .env file") load_dotenv() # Set environment variables from command line arguments if provided if confluence_url: os.environ["CONFLUENCE_URL"] = confluence_url if confluence_username: os.environ["CONFLUENCE_USERNAME"] = confluence_username if confluence_token: os.environ["CONFLUENCE_API_TOKEN"] = confluence_token if jira_url: os.environ["JIRA_URL"] = jira_url if jira_username: os.environ["JIRA_USERNAME"] = jira_username if jira_token: os.environ["JIRA_API_TOKEN"] = jira_token from . import server # Run the server asyncio.run(server.main()) __all__ = ["main", "server", "__version__"] if __name__ == "__main__": main()