Skip to main content
Glama
conanfile.py7.43 kB
#!/usr/bin/env python3 """ Conan recipe for MCP Project Orchestrator Complete Package. This recipe packages the complete MCP Project Orchestrator ecosystem with all dependencies and consumer applications. """ from conan import ConanFile from conan.tools.files import copy, get from conan.tools.python import PythonToolchain import os class MCPProjectOrchestratorCompleteConan(ConanFile): name = "mcp-project-orchestrator-complete" version = "0.2.0" description = "Complete MCP Project Orchestrator ecosystem with all dependencies and consumer applications" license = "MIT" url = "https://github.com/sparesparrow/mcp-project-orchestrator" homepage = "https://github.com/sparesparrow/mcp-project-orchestrator" topics = ("mcp", "orchestration", "agent-skills", "openssl", "fips", "complete-package") settings = "os", "arch", "compiler", "build_type" options = { "include_openssl_tools": [True, False], "include_aws_sip_trunk": [True, False], "include_automotive_camera": [True, False], "include_printcast_agent": [True, False], "include_elevenlabs_agents": [True, False], "fips_enabled": [True, False], "aws_integration": [True, False], "cursor_integration": [True, False], } default_options = { "include_openssl_tools": True, "include_aws_sip_trunk": True, "include_automotive_camera": True, "include_printcast_agent": True, "include_elevenlabs_agents": True, "fips_enabled": True, "aws_integration": True, "cursor_integration": True, } exports_sources = "consumers/*", "templates/*", "configs/*", "scripts/*", "docs/*", "mcp/*", "*.py", "*.json", "*.md" def requirements(self): # Core MCP Project Orchestrator self.requires("mcp-project-orchestrator/0.2.0") # OpenSSL Tools and FIPS Compliance if self.options.include_openssl_tools: self.requires("openssl-tools-orchestrator/0.2.0") self.requires("openssl-fips-validator/0.2.0") # Agent Skills Framework self.requires("agent-skills-framework/0.2.0") # Consumer Applications if self.options.include_openssl_tools: self.requires("openssl-workflows/0.2.0") if self.options.include_aws_sip_trunk: self.requires("aws-sip-trunk/0.1.0") if self.options.include_automotive_camera: self.requires("automotive-camera-system/0.1.0") if self.options.include_printcast_agent: self.requires("printcast-agent/0.1.0") if self.options.include_elevenlabs_agents: self.requires("elevenlabs-agents/0.1.0") # Core Dependencies self.requires("python/3.11") self.requires("fastapi/0.104.1") self.requires("uvicorn/0.24.0") self.requires("pydantic/2.5.0") self.requires("jinja2/3.1.2") self.requires("pyyaml/6.0.1") self.requires("rich/13.7.0") self.requires("typer/0.9.0") self.requires("httpx/0.25.2") self.requires("aiofiles/23.2.1") # Security and Cryptography self.requires("openssl/3.1.4") self.requires("zlib/1.3") if self.options.fips_enabled: self.requires("cryptography/41.0.7") self.requires("pycryptodome/3.19.0") # AWS Integration if self.options.aws_integration: self.requires("boto3/1.34.0") self.requires("botocore/1.34.0") # Development and Testing self.requires("pytest/7.4.3") self.requires("pytest-asyncio/0.21.1") self.requires("pytest-cov/4.1.0") self.requires("mypy/1.7.1") self.requires("ruff/0.1.6") # Build Tools self.requires("cmake/3.27.7") self.requires("ninja/1.11.1") # Optional Dependencies self.requires("numpy/1.25.2") self.requires("scikit-learn/1.3.2") self.requires("pandas/2.1.4") self.requires("redis/5.0.1") self.requires("memcached/1.6.21") self.requires("prometheus-client/0.19.0") self.requires("opentelemetry-api/1.21.0") self.requires("opentelemetry-sdk/1.21.0") def build_requirements(self): self.tool_requires("cmake/3.27.7") self.tool_requires("ninja/1.11.1") def generate(self): tc = PythonToolchain(self) tc.generate() def package(self): # Copy all consumers copy(self, "consumers/*", dst=os.path.join(self.package_folder, "consumers"), src=self.source_folder) # Copy templates copy(self, "templates/*", dst=os.path.join(self.package_folder, "templates"), src=self.source_folder) # Copy configurations copy(self, "configs/*", dst=os.path.join(self.package_folder, "configs"), src=self.source_folder) # Copy scripts copy(self, "scripts/*", dst=os.path.join(self.package_folder, "scripts"), src=self.source_folder) # Copy MCP components copy(self, "mcp/*", dst=os.path.join(self.package_folder, "mcp"), src=self.source_folder) # Copy documentation copy(self, "docs/*", dst=os.path.join(self.package_folder, "docs"), src=self.source_folder) # Copy Python files copy(self, "*.py", dst=os.path.join(self.package_folder, "src"), src=self.source_folder) # Copy JSON files copy(self, "*.json", dst=os.path.join(self.package_folder, "configs"), src=self.source_folder) # Copy markdown files copy(self, "*.md", dst=os.path.join(self.package_folder, "docs"), src=self.source_folder) def package_info(self): self.cpp_info.bindirs = ["consumers", "templates", "configs", "scripts", "mcp", "src", "docs"] # Python package info self.env_info.PYTHONPATH.append(os.path.join(self.package_folder, "src")) self.env_info.MCP_TEMPLATES_PATH = os.path.join(self.package_folder, "templates") self.env_info.MCP_CONFIGS_PATH = os.path.join(self.package_folder, "configs") self.env_info.MCP_SCRIPTS_PATH = os.path.join(self.package_folder, "scripts") self.env_info.MCP_CONSUMERS_PATH = os.path.join(self.package_folder, "consumers") # Feature-specific environment variables if self.options.fips_enabled: self.env_info.FIPS_ENABLED = "1" if self.options.aws_integration: self.env_info.AWS_INTEGRATION = "1" if self.options.cursor_integration: self.env_info.CURSOR_INTEGRATION = "1" # Consumer-specific environment variables if self.options.include_openssl_tools: self.env_info.OPENSSL_TOOLS_ENABLED = "1" if self.options.include_aws_sip_trunk: self.env_info.AWS_SIP_TRUNK_ENABLED = "1" if self.options.include_automotive_camera: self.env_info.AUTOMOTIVE_CAMERA_ENABLED = "1" if self.options.include_printcast_agent: self.env_info.PRINTCAST_AGENT_ENABLED = "1" if self.options.include_elevenlabs_agents: self.env_info.ELEVENLABS_AGENTS_ENABLED = "1"

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/sparesparrow/mcp-project-orchestrator'

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