Skip to main content

Framework-agnostic MCP client integration for HexaEight agents

Project description

HexaEight MCP Client

๐Ÿš€ Framework-agnostic MCP integration with automatic multi-agent coordination and military-grade encryption.

Build sophisticated multi-agent systems with minimal code while maintaining complete security and framework choice.

๐ŸŒŸ Key Features

  • ๐Ÿ” Secure Agent Identity - Military-grade encryption for agent authentication and communication
  • ๐Ÿค– Framework Integration - AutoGen, CrewAI, LangChain with secure agent coordination
  • ๐Ÿ› ๏ธ Multi-Agent Types - LLM agents, Tool agents, User agents with automatic coordination
  • ๐ŸŒ Automatic Discovery - Dynamic capability discovery and intelligent message routing
  • ๐Ÿ“ก PubSub Coordination - Seamless agent communication and task delegation
  • โšก One-Line Setup - From configuration to production-ready agents instantly
  • ๐ŸŽฏ Business Logic - Write your actual API/database code once in tool agents
  • ๐Ÿ”’ Production Security - Zero plain-text secrets, secure agent identity management

๐Ÿ“‹ Prerequisites

1. HexaEight Agentic IAM Server

Deploy from Azure Marketplace to create Client Applications:

  • Azure Marketplace: HexaEight Agentic IAM
  • Creates ClientID, Token Server URL, PubSub URL
  • Enables secure agent identity management

2. Machine License

Purchase and activate on your development machine:

  • License Store: store.hexaeight.com
  • Pricing: 1 CPU = $15, 2 CPU = $30, 4 CPU = $60 (minimum 5 days)
  • Enables creation of 1 parent configuration + unlimited child configurations

3. Mobile App Setup

  • Download "HexaEight Authenticator" app (iOS/Android)
  • Create generic resource (instant) or domain-based resource (branded)
  • Used for secure license activation

Agent Licensing Model

Agent Type License Requirement Expiry Behavior
Parent Agents โœ… Active HexaEight license required โŒ Stop working when license expires
Child Agents โœ… Created with valid license โœ… Continue working after license expires

๐Ÿš€ Installation

# Basic installation
pip install hexaeight-mcp-client

# With framework support
pip install hexaeight-mcp-client[autogen]    # For AutoGen
pip install hexaeight-mcp-client[crewai]     # For CrewAI
pip install hexaeight-mcp-client[langchain]  # For LangChain
pip install hexaeight-mcp-client[all]        # All frameworks

Prerequisites Installation

# Core HexaEight agent package
pip install hexaeight-agent

# Optional: Framework packages
pip install pyautogen  # For AutoGen integration
pip install crewai     # For CrewAI integration  
pip install langchain  # For LangChain integration

๐ŸŽ“ Quick Start Guide

Step 1: Learn the Concepts

# Interactive presentation of HexaEight AI agent concepts
hexaeight-start show-concepts

# Auto-advancing presentation (no interaction required)
hexaeight-start show-concepts --auto

Step 2: Check Prerequisites

# Verify system requirements (.NET, dotnet-script)
hexaeight-start check-prerequisites

Step 3: Activate License

# Clean, focused license activation process
hexaeight-start license-activation

Step 4: Create Development Environment

# Create organized workspace with license hardlinks
hexaeight-start create-directory-linked-to-hexaeight-license my-ai-project
cd my-ai-project

# Generate parent and child agent configuration files
hexaeight-start generate-parent-or-child-agent-licenses

# Deploy sample multi-agent weather system
hexaeight-start deploy-multi-ai-agent-samples

๐Ÿ” Secure LLM Configuration

Supported LLM Providers

Provider Configuration Example
OpenAI {"provider": "openai", "api_key": "sk-...", "model": "gpt-4"}
Azure OpenAI {"provider": "azure_openai", "api_key": "...", "azure_endpoint": "https://..."}
Anthropic {"provider": "anthropic", "api_key": "sk-ant-...", "model": "claude-3-sonnet"}
Local Ollama {"provider": "ollama", "base_url": "http://localhost:11434", "model": "llama2"}

๐Ÿค– Framework Integration

AutoGen Integration

from hexaeight_mcp_client import create_autogen_agent_with_hexaeight

# Create AutoGen agent with secure HexaEight integration
autogen_agent, hexaeight_agent = await create_autogen_agent_with_hexaeight(
    config_file="parent_config.json",
    agent_type="parentLLM",
    name="IntelligentCoordinator",
    system_message="You can coordinate with multiple specialized agents and services."
)

# AutoGen agent now has:
# โœ… Secure HexaEight integration
# โœ… HexaEight coordination tools
# โœ… Automatic capability discovery
# โœ… Multi-agent coordination via PubSub

CrewAI Integration

from hexaeight_mcp_client import create_crewai_agent_with_hexaeight

# Create CrewAI agent with secure HexaEight integration
crewai_agent, hexaeight_agent = await create_crewai_agent_with_hexaeight(
    config_file="parent_config.json",
    agent_type="parentLLM", 
    role="Multi-Agent Coordinator",
    goal="Coordinate complex workflows using available tools and services",
    backstory="Expert in orchestrating multi-agent systems with secure communication"
)

LangChain Integration

from hexaeight_mcp_client import HexaEightAutoConfig
from langchain.chat_models import ChatOpenAI
from langchain.agents import initialize_agent

# Create LangChain setup with HexaEight integration
hexaeight_agent = await HexaEightAutoConfig.create_llm_agent(
    agent_type="parentLLM",
    config_file="parent_config.json",
    framework="langchain"
)

# Use with LangChain for secure multi-agent coordination
tools = hexaeight_agent.get_available_tools()
# Integrate with your LangChain LLM of choice

๐Ÿ› ๏ธ Multi-Agent Architecture

Agent Types

Agent Type Purpose Verification Broadcasts Use Case
parentLLM LLM coordination โœ… Required โœ… Receives all Main intelligence and coordination
childLLM LLM task execution โœ… Required โœ… Receives all Specialized LLM workers
parentTOOL Service provision โŒ Not required โŒ Ignores broadcasts API services, databases
childTOOL Specialized services โŒ Not required โŒ Ignores broadcasts Specific tool implementations
USER Human interaction โŒ Not required โŒ Broadcasts to LLMs only User interfaces

Quick Agent Creation

from hexaeight_mcp_client import quick_autogen_llm, quick_tool_agent, quick_user_agent

# LLM Agent (Intelligence Layer)
llm_agent = await quick_autogen_llm(
    config_file="parent_config.json",
    agent_type="parentLLM"
)

# Tool Agent (Business Logic Layer) 
weather_agent = await quick_tool_agent(
    config_file="weather_config.json",
    service_formats=["weather_request", "forecast_request"],
    agent_type="parentTOOL"
)

# User Agent (Interface Layer)
user_agent = await quick_user_agent(
    config_file="user_config.json"
)

๐Ÿ”ง Implementing Business Logic (Tool Agents)

Weather Service Example

class WeatherService:
    async def initialize(self):
        # Create tool agent
        self.agent = await quick_tool_agent(
            config_file="weather_config.json",
            service_formats=["weather_request", "location_query"],
            agent_type="parentTOOL"
        )
        
        # Register your business logic
        self.agent.register_service_handler("weather_request", self.handle_weather)
    
    async def handle_weather(self, content, event, tracker):
        """YOUR ACTUAL BUSINESS LOGIC GOES HERE"""
        
        # Parse request
        request = json.loads(content)
        location = request.get("location", "London")
        
        # ๐ŸŒ CALL YOUR ACTUAL WEATHER API
        weather_data = await self.call_openweather_api(location)
        
        # Process and enhance data
        enhanced_data = self.process_weather_data(weather_data)
        
        # Send structured response
        response = {
            "type": "weather_response",
            "location": location,
            "data": enhanced_data,
            "processed_by": self.agent.agent_name
        }
        
        await self.agent.hexaeight_agent.publish_to_agent(
            self.agent.pubsub_url,
            "internal_id",
            event.sender_internal_id,
            json.dumps(response),
            "weather_response"
        )
        
        return True

๐ŸŒ Portable Child Agent Deployment

Deploy child agents anywhere without license requirements:

# Setup child agent environment on any machine
hexaeight-start setup-portable-child-agent-environment child_config.json

Deployment Benefits:

  • ๐ŸŒ Deploy on cloud services (AWS, Azure, GCP)
  • ๐Ÿ”ง Edge computing (Raspberry Pi, IoT devices)
  • ๐Ÿ“ฆ Container deployment (Docker, Kubernetes)
  • โ™พ๏ธ Child agents work forever (even after parent license expires)

๐Ÿ“Š Complete Development Workflow

# 1. Learn concepts first
hexaeight-start show-concepts

# 2. Check system requirements
hexaeight-start check-prerequisites

# 3. Clean license activation
hexaeight-start license-activation

# 4. Create organized workspace
hexaeight-start create-directory-linked-to-hexaeight-license my-project
cd my-project

# 5. Generate agent configurations
hexaeight-start generate-parent-or-child-agent-licenses

# 6. Deploy sample multi-agent system
hexaeight-start deploy-multi-ai-agent-samples

# 7. Run the sample agents
python autogen_weather_agent.py     # Terminal 1
python crewai_weather_agent.py      # Terminal 2
python langchain_weather_agent.py   # Terminal 3

# 8. Setup portable child agents on other machines
hexaeight-start setup-portable-child-agent-environment child_config.json

๐ŸŽฏ Use Cases

Enterprise AI Assistants

  • LLM Agents: Understand user requests, coordinate responses
  • Tool Agents: CRM data, financial systems, inventory management
  • User Agents: Employee interfaces, customer portals

Data Analysis Platforms

  • LLM Agents: Interpret analysis requests, generate insights
  • Tool Agents: Database queries, API data feeds, visualization
  • User Agents: Analyst interfaces, report generation

Customer Service Automation

  • LLM Agents: Natural language understanding, response generation
  • Tool Agents: Ticketing systems, knowledge bases, payment processing
  • User Agents: Customer chat interfaces, agent dashboards

IoT and Smart Systems

  • LLM Agents: Command interpretation, system orchestration
  • Tool Agents: Device control, sensor data, automation rules
  • User Agents: Mobile apps, voice interfaces, dashboards

๐Ÿ”’ Security Features

  • ๐Ÿ›ก๏ธ Secure Agent Identity: Cryptographic agent authentication and authorization
  • ๐Ÿ“ก Encrypted Communication: All agent messages encrypted via HexaEight PubSub
  • ๐ŸŽฏ Message Filtering: Agents only process relevant messages based on type and format
  • ๐Ÿ” Capability Isolation: Tool agents expose only intended service capabilities
  • โšก Automatic Locking: Single-attempt message locking prevents processing conflicts

๐Ÿ› ๏ธ Development Tools

from hexaeight_mcp_client import *

# Check package info and framework availability
print_package_info()

# Setup development environment with example configs
setup_development_environment()

# Discover available configuration files
config_files = discover_config_files()
print("Available configs:", config_files)

# Validate agent types and configurations  
is_valid = validate_agent_type("parentLLM")
agent_info = get_agent_type_info("parentLLM")

๐Ÿ†˜ Troubleshooting

Common Issues

Q: "Failed to encrypt LLM configuration"
A: Ensure you have a valid HexaEight agent loaded before creating the config protector.

Q: "Tool agent not receiving messages"
A: Verify your service_formats match the message types being sent by LLM agents.

Q: "LLM verification failed"
A: Make sure your agent_type is "parentLLM" or "childLLM" and provide appropriate verification responses.

Q: "Connection to PubSub failed"
A: Check that your Client Application is properly configured and PubSub server is running.

๐Ÿš€ Getting Started Checklist

  • Deploy HexaEight Agentic IAM Server from Azure Marketplace
  • Create Client Application (get ClientID, Token Server URL, PubSub URL)
  • Purchase HexaEight License from store.hexaeight.com
  • Download "HexaEight Authenticator" mobile app
  • Install hexaeight-mcp-client: pip install hexaeight-mcp-client[all]
  • Run: hexaeight-start show-concepts (learn the concepts)
  • Run: hexaeight-start check-prerequisites
  • Run: hexaeight-start license-activation
  • Create your first multi-agent system
  • Build your first tool agent with actual business logic
  • Test multi-agent coordination
  • Deploy to production with real PubSub server

๐Ÿ”— Links & Resources

๐Ÿ“„ License

MIT License - see LICENSE file for details.


๐ŸŒŸ Ready to build intelligent multi-agent systems with enterprise-grade security?

Start with pip install hexaeight-mcp-client[all] and learn the concepts with hexaeight-start show-concepts!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hexaeight_mcp_client-1.6.806.tar.gz (93.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hexaeight_mcp_client-1.6.806-py3-none-any.whl (101.2 kB view details)

Uploaded Python 3

File details

Details for the file hexaeight_mcp_client-1.6.806.tar.gz.

File metadata

  • Download URL: hexaeight_mcp_client-1.6.806.tar.gz
  • Upload date:
  • Size: 93.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for hexaeight_mcp_client-1.6.806.tar.gz
Algorithm Hash digest
SHA256 f7e210e3a646ab5625f3c59c139cd301c22a2cfce0316cc4be7e624de8885e23
MD5 5a4d436915b5bb10e9375f692c253d3c
BLAKE2b-256 d7615bd07ffcd8cd02ed30e8ac32c446b895d55b3baaadd11f7e7ad474b46661

See more details on using hashes here.

File details

Details for the file hexaeight_mcp_client-1.6.806-py3-none-any.whl.

File metadata

File hashes

Hashes for hexaeight_mcp_client-1.6.806-py3-none-any.whl
Algorithm Hash digest
SHA256 c5f83a669e75fe44da2b5fd62d15235cf8f63a8b4d336234f9d5da87c45082e5
MD5 7fca0c517a5bb5a47c2aae7a1b2b5552
BLAKE2b-256 abebd2d76d3dfa66492403c2bcd222dfa409a5c792c289e0ddff2f4c7ba2db1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page