 dd098a5c84
			
		
	
	dd098a5c84
	
	
	
		
			
			- Complete API reference with all interfaces and examples - Detailed deployment guide for development and production - Main README with architecture overview and usage instructions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			609 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			609 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # BZZZ MCP Server API Reference
 | |
| 
 | |
| Complete API reference for all components and interfaces in the BZZZ MCP Server.
 | |
| 
 | |
| ## Table of Contents
 | |
| 
 | |
| - [MCP Tools](#mcp-tools)
 | |
| - [Agent Management](#agent-management)
 | |
| - [Conversation Management](#conversation-management)
 | |
| - [P2P Connector](#p2p-connector)
 | |
| - [OpenAI Integration](#openai-integration)
 | |
| - [Cost Tracker](#cost-tracker)
 | |
| - [Configuration](#configuration)
 | |
| - [Error Handling](#error-handling)
 | |
| 
 | |
| ## MCP Tools
 | |
| 
 | |
| ### bzzz_announce
 | |
| 
 | |
| Announce agent presence and capabilities on the BZZZ network.
 | |
| 
 | |
| **Parameters:**
 | |
| - `agent_id` (string, required): Unique identifier for the agent
 | |
| - `role` (string, required): Agent's primary role (architect, reviewer, documentation, etc.)
 | |
| - `capabilities` (string[], optional): List of agent capabilities
 | |
| - `specialization` (string, optional): Agent's area of expertise
 | |
| - `max_tasks` (number, optional, default: 3): Maximum concurrent tasks
 | |
| 
 | |
| **Response:**
 | |
| ```json
 | |
| {
 | |
|   "success": true,
 | |
|   "message": "Agent architect-001 (architect) announced to BZZZ network",
 | |
|   "agent": {
 | |
|     "id": "architect-001",
 | |
|     "role": "architect",
 | |
|     "capabilities": ["system_design", "architecture_review"],
 | |
|     "specialization": "distributed_systems",
 | |
|     "status": "idle"
 | |
|   }
 | |
| }
 | |
| ```
 | |
| 
 | |
| **Errors:**
 | |
| - Missing required fields (`agent_id`, `role`)
 | |
| - Agent ID already exists
 | |
| - Network communication failure
 | |
| 
 | |
| ### bzzz_lookup
 | |
| 
 | |
| Discover agents and resources using semantic addressing.
 | |
| 
 | |
| **Parameters:**
 | |
| - `semantic_address` (string, required): BZZZ semantic address in format `bzzz://agent:role@project:task/path`
 | |
| - `filter_criteria` (object, optional): Additional filtering options
 | |
|   - `expertise` (string[]): Required expertise areas
 | |
|   - `availability` (boolean): Only available agents
 | |
|   - `performance_threshold` (number): Minimum performance score (0-1)
 | |
| 
 | |
| **Address Components:**
 | |
| - `agent`: Specific agent ID or `*` for any
 | |
| - `role`: Agent role or `*` for any
 | |
| - `project`: Project identifier or `*` for any
 | |
| - `task`: Task identifier or `*` for any
 | |
| - `path`: Optional resource path
 | |
| 
 | |
| **Response:**
 | |
| ```json
 | |
| {
 | |
|   "success": true,
 | |
|   "address": "bzzz://*:architect@myproject:api_design",
 | |
|   "parsed_address": {
 | |
|     "agent": null,
 | |
|     "role": "architect",
 | |
|     "project": "myproject",
 | |
|     "task": "api_design",
 | |
|     "path": null,
 | |
|     "raw": "bzzz://*:architect@myproject:api_design"
 | |
|   },
 | |
|   "matches": [
 | |
|     {
 | |
|       "id": "architect-001",
 | |
|       "role": "architect",
 | |
|       "capabilities": ["system_design", "api_design"],
 | |
|       "available": true,
 | |
|       "performance": 0.95,
 | |
|       "score": 85
 | |
|     }
 | |
|   ],
 | |
|   "count": 1,
 | |
|   "query_time": "2025-08-09T16:22:20Z"
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### bzzz_get
 | |
| 
 | |
| Retrieve content from BZZZ semantic addresses.
 | |
| 
 | |
| **Parameters:**
 | |
| - `address` (string, required): BZZZ semantic address
 | |
| - `include_metadata` (boolean, optional, default: true): Include resource metadata
 | |
| - `max_history` (number, optional, default: 10): Maximum historical entries
 | |
| 
 | |
| **Response:**
 | |
| ```json
 | |
| {
 | |
|   "success": true,
 | |
|   "address": "bzzz://architect-001:architect@myproject:api_design",
 | |
|   "content": {
 | |
|     "agent_info": {
 | |
|       "id": "architect-001",
 | |
|       "role": "architect",
 | |
|       "status": "idle",
 | |
|       "performance": 0.95
 | |
|     },
 | |
|     "recent_activity": [...],
 | |
|     "current_tasks": [...]
 | |
|   },
 | |
|   "metadata": {
 | |
|     "last_updated": "2025-08-09T16:22:20Z",
 | |
|     "content_type": "agent_data",
 | |
|     "version": "1.0"
 | |
|   },
 | |
|   "retrieved_at": "2025-08-09T16:22:20Z"
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### bzzz_post
 | |
| 
 | |
| Post events or messages to BZZZ addresses.
 | |
| 
 | |
| **Parameters:**
 | |
| - `target_address` (string, required): Target BZZZ address
 | |
| - `message_type` (string, required): Type of message being sent
 | |
| - `content` (object, required): Message content
 | |
| - `priority` (string, optional, default: "medium"): Message priority (low, medium, high, urgent)
 | |
| - `thread_id` (string, optional): Conversation thread ID
 | |
| 
 | |
| **Response:**
 | |
| ```json
 | |
| {
 | |
|   "success": true,
 | |
|   "message_id": "msg-1691601740123-abc123def",
 | |
|   "target_address": "bzzz://reviewer-001:reviewer@myproject:code_review",
 | |
|   "message_type": "review_request",
 | |
|   "delivery_results": {
 | |
|     "delivered": true,
 | |
|     "recipients": ["reviewer-001"],
 | |
|     "delivery_time": 145
 | |
|   },
 | |
|   "posted_at": "2025-08-09T16:22:20Z"
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### bzzz_thread
 | |
| 
 | |
| Manage threaded conversations between agents.
 | |
| 
 | |
| **Parameters:**
 | |
| - `action` (string, required): Action to perform
 | |
|   - `create`: Start new thread
 | |
|   - `join`: Join existing thread
 | |
|   - `leave`: Leave thread
 | |
|   - `list`: List threads for agent
 | |
|   - `summarize`: Generate thread summary
 | |
| - `thread_id` (string, conditional): Required for join, leave, summarize actions
 | |
| - `participants` (string[], conditional): Required for create action
 | |
| - `topic` (string, conditional): Required for create action
 | |
| 
 | |
| **Create Thread Response:**
 | |
| ```json
 | |
| {
 | |
|   "success": true,
 | |
|   "action": "create",
 | |
|   "thread_id": "thread-1691601740123-xyz789",
 | |
|   "result": {
 | |
|     "id": "thread-1691601740123-xyz789",
 | |
|     "topic": "API Design Review",
 | |
|     "participants": ["architect-001", "reviewer-001"],
 | |
|     "creator": "architect-001",
 | |
|     "status": "active",
 | |
|     "created_at": "2025-08-09T16:22:20Z"
 | |
|   },
 | |
|   "timestamp": "2025-08-09T16:22:20Z"
 | |
| }
 | |
| ```
 | |
| 
 | |
| **List Threads Response:**
 | |
| ```json
 | |
| {
 | |
|   "success": true,
 | |
|   "action": "list",
 | |
|   "result": [
 | |
|     {
 | |
|       "id": "thread-1691601740123-xyz789",
 | |
|       "topic": "API Design Review",
 | |
|       "participants": ["architect-001", "reviewer-001"],
 | |
|       "status": "active",
 | |
|       "last_activity": "2025-08-09T16:20:15Z",
 | |
|       "message_count": 5
 | |
|     }
 | |
|   ],
 | |
|   "timestamp": "2025-08-09T16:22:20Z"
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### bzzz_subscribe
 | |
| 
 | |
| Subscribe to real-time events from the BZZZ network.
 | |
| 
 | |
| **Parameters:**
 | |
| - `event_types` (string[], required): Types of events to subscribe to
 | |
| - `filter_address` (string, optional): Address pattern to filter events
 | |
| - `callback_webhook` (string, optional): Webhook URL for notifications
 | |
| 
 | |
| **Event Types:**
 | |
| - `agent_announcement`: Agent joins/leaves network
 | |
| - `task_assignment`: Tasks assigned to agents
 | |
| - `thread_created`: New conversation threads
 | |
| - `thread_escalated`: Thread escalations
 | |
| - `network_status`: Network status changes
 | |
| 
 | |
| **Response:**
 | |
| ```json
 | |
| {
 | |
|   "success": true,
 | |
|   "subscription_id": "sub-1691601740123-def456",
 | |
|   "event_types": ["agent_announcement", "task_assignment"],
 | |
|   "filter_address": "bzzz://*:architect@*",
 | |
|   "subscribed_at": "2025-08-09T16:22:20Z",
 | |
|   "status": "active"
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## Agent Management
 | |
| 
 | |
| ### Agent Interface
 | |
| 
 | |
| ```typescript
 | |
| interface Agent {
 | |
|   id: string;                    // Unique agent identifier
 | |
|   role: string;                  // Agent role (architect, reviewer, etc.)
 | |
|   capabilities: string[];        // List of capabilities
 | |
|   specialization: string;        // Area of expertise
 | |
|   maxTasks: number;             // Maximum concurrent tasks
 | |
|   currentTasks: AgentTask[];    // Currently assigned tasks
 | |
|   status: 'idle' | 'busy' | 'offline' | 'error';
 | |
|   performance: number;          // Performance score (0-1)
 | |
|   available: boolean;           // Availability status
 | |
|   systemPrompt: string;         // GPT-5 system prompt
 | |
|   createdAt: string;           // Creation timestamp
 | |
|   lastActivity: string;        // Last activity timestamp
 | |
|   metadata: Record<string, any>; // Additional metadata
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Task Interface
 | |
| 
 | |
| ```typescript
 | |
| interface AgentTask {
 | |
|   id: string;                   // Unique task identifier
 | |
|   type: string;                // Task type
 | |
|   description: string;         // Task description
 | |
|   status: 'pending' | 'in_progress' | 'completed' | 'failed';
 | |
|   startTime: string;          // Task start time
 | |
|   endTime?: string;           // Task completion time
 | |
|   result?: any;               // Task result
 | |
|   error?: string;             // Error message if failed
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Task Types
 | |
| 
 | |
| #### chat_completion
 | |
| General purpose chat completion task.
 | |
| 
 | |
| **Task Data:**
 | |
| ```typescript
 | |
| {
 | |
|   messages: ChatMessage[];     // Conversation messages
 | |
|   model?: string;             // Override default model
 | |
|   temperature?: number;       // Override temperature
 | |
|   maxTokens?: number;        // Override token limit
 | |
| }
 | |
| ```
 | |
| 
 | |
| #### code_review
 | |
| Code review and analysis task.
 | |
| 
 | |
| **Task Data:**
 | |
| ```typescript
 | |
| {
 | |
|   code: string;              // Code to review
 | |
|   language: string;          // Programming language
 | |
|   context?: string;          // Additional context
 | |
| }
 | |
| ```
 | |
| 
 | |
| #### documentation
 | |
| Documentation generation task.
 | |
| 
 | |
| **Task Data:**
 | |
| ```typescript
 | |
| {
 | |
|   content: string;           // Content to document
 | |
|   documentType: string;      // Type of documentation
 | |
|   audience: string;          // Target audience
 | |
| }
 | |
| ```
 | |
| 
 | |
| #### architecture_analysis
 | |
| System architecture analysis task.
 | |
| 
 | |
| **Task Data:**
 | |
| ```typescript
 | |
| {
 | |
|   systemDescription: string; // System to analyze
 | |
|   requirements: string;      // System requirements
 | |
|   constraints: string;       // System constraints
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## Conversation Management
 | |
| 
 | |
| ### Thread Interface
 | |
| 
 | |
| ```typescript
 | |
| interface ConversationThread {
 | |
|   id: string;                    // Unique thread identifier
 | |
|   topic: string;                 // Thread topic/subject
 | |
|   participants: string[];        // Participant agent IDs
 | |
|   creator: string;              // Thread creator ID
 | |
|   status: 'active' | 'paused' | 'completed' | 'escalated';
 | |
|   createdAt: string;           // Creation timestamp
 | |
|   lastActivity: string;        // Last activity timestamp
 | |
|   messages: ThreadMessage[];   // Thread messages
 | |
|   metadata: Record<string, any>; // Thread metadata
 | |
|   escalationHistory: EscalationEvent[]; // Escalation events
 | |
|   summary?: string;            // Thread summary
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Message Interface
 | |
| 
 | |
| ```typescript
 | |
| interface ThreadMessage {
 | |
|   id: string;                  // Unique message identifier
 | |
|   threadId: string;           // Parent thread ID
 | |
|   sender: string;             // Sender agent ID
 | |
|   content: string;            // Message content
 | |
|   messageType: 'text' | 'code' | 'file' | 'decision' | 'question';
 | |
|   timestamp: string;          // Message timestamp
 | |
|   replyTo?: string;           // Reply to message ID
 | |
|   metadata: Record<string, any>; // Message metadata
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Escalation Events
 | |
| 
 | |
| ```typescript
 | |
| interface EscalationEvent {
 | |
|   id: string;                 // Unique escalation ID
 | |
|   threadId: string;          // Parent thread ID
 | |
|   rule: string;              // Triggered escalation rule
 | |
|   reason: string;            // Escalation reason
 | |
|   triggeredAt: string;       // Escalation timestamp
 | |
|   actions: EscalationAction[]; // Actions taken
 | |
|   resolved: boolean;         // Resolution status
 | |
|   resolution?: string;       // Resolution description
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## P2P Connector
 | |
| 
 | |
| ### Network Peer Interface
 | |
| 
 | |
| ```typescript
 | |
| interface NetworkPeer {
 | |
|   id: string;                 // Peer identifier
 | |
|   address: string;           // Network address
 | |
|   capabilities: string[];    // Peer capabilities
 | |
|   lastSeen: string;         // Last seen timestamp
 | |
|   status: 'online' | 'offline' | 'busy';
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Subscription Interface
 | |
| 
 | |
| ```typescript
 | |
| interface BzzzSubscription {
 | |
|   id: string;                // Subscription identifier
 | |
|   eventTypes: string[];      // Subscribed event types
 | |
|   filterAddress?: string;    // Address filter pattern
 | |
|   callbackWebhook?: string;  // Callback webhook URL
 | |
|   subscriberId: string;      // Subscriber agent ID
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## OpenAI Integration
 | |
| 
 | |
| ### Completion Options
 | |
| 
 | |
| ```typescript
 | |
| interface CompletionOptions {
 | |
|   model?: string;            // Model to use (default: gpt-5)
 | |
|   temperature?: number;      // Temperature (0-2, default: 0.7)
 | |
|   maxTokens?: number;        // Max tokens (default: 4000)
 | |
|   systemPrompt?: string;     // System prompt
 | |
|   messages?: ChatMessage[];  // Conversation messages
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Completion Result
 | |
| 
 | |
| ```typescript
 | |
| interface CompletionResult {
 | |
|   content: string;           // Generated content
 | |
|   usage: TokenUsage;         // Token usage statistics
 | |
|   model: string;            // Model used
 | |
|   finishReason: string;     // Completion finish reason
 | |
|   cost: number;             // Estimated cost (USD)
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Token Usage
 | |
| 
 | |
| ```typescript
 | |
| interface TokenUsage {
 | |
|   promptTokens: number;      // Input tokens used
 | |
|   completionTokens: number;  // Output tokens generated
 | |
|   totalTokens: number;       // Total tokens consumed
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## Cost Tracker
 | |
| 
 | |
| ### Cost Usage Interface
 | |
| 
 | |
| ```typescript
 | |
| interface CostUsage {
 | |
|   date: string;              // Date (YYYY-MM-DD or YYYY-MM)
 | |
|   totalCost: number;         // Total cost in USD
 | |
|   apiCalls: number;          // Number of API calls
 | |
|   tokens: {
 | |
|     prompt: number;          // Total prompt tokens
 | |
|     completion: number;      // Total completion tokens
 | |
|     total: number;          // Total tokens
 | |
|   };
 | |
|   models: Record<string, {
 | |
|     calls: number;           // Calls per model
 | |
|     cost: number;           // Cost per model
 | |
|     tokens: number;         // Tokens per model
 | |
|   }>;
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Cost Limits
 | |
| 
 | |
| ```typescript
 | |
| interface CostTrackerConfig {
 | |
|   dailyLimit: number;        // Daily spending limit (USD)
 | |
|   monthlyLimit: number;      // Monthly spending limit (USD)
 | |
|   warningThreshold: number;  // Warning threshold (0-1)
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Cost Events
 | |
| 
 | |
| The cost tracker emits the following events:
 | |
| 
 | |
| - `warning`: Emitted when usage exceeds warning threshold
 | |
| - `limit_exceeded`: Emitted when usage exceeds daily/monthly limits
 | |
| 
 | |
| ## Configuration
 | |
| 
 | |
| ### Main Configuration Interface
 | |
| 
 | |
| ```typescript
 | |
| interface BzzzMcpConfig {
 | |
|   openai: {
 | |
|     apiKey: string;          // OpenAI API key
 | |
|     defaultModel: string;    // Default model (gpt-5)
 | |
|     maxTokens: number;       // Default max tokens
 | |
|     temperature: number;     // Default temperature
 | |
|   };
 | |
|   bzzz: {
 | |
|     nodeUrl: string;         // BZZZ Go service URL
 | |
|     networkId: string;       // Network identifier
 | |
|     pubsubTopics: string[];  // PubSub topic subscriptions
 | |
|   };
 | |
|   cost: {
 | |
|     dailyLimit: number;      // Daily cost limit
 | |
|     monthlyLimit: number;    // Monthly cost limit
 | |
|     warningThreshold: number; // Warning threshold
 | |
|   };
 | |
|   conversation: {
 | |
|     maxActiveThreads: number; // Max concurrent threads
 | |
|     defaultTimeout: number;   // Thread timeout (seconds)
 | |
|     escalationRules: EscalationRule[]; // Escalation rules
 | |
|   };
 | |
|   agents: {
 | |
|     maxAgents: number;       // Maximum agents
 | |
|     defaultRoles: AgentRoleConfig[]; // Default role configs
 | |
|   };
 | |
|   logging: {
 | |
|     level: string;           // Log level
 | |
|     file?: string;           // Log file path
 | |
|   };
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Escalation Rules
 | |
| 
 | |
| ```typescript
 | |
| interface EscalationRule {
 | |
|   name: string;              // Rule name
 | |
|   conditions: EscalationCondition[]; // Trigger conditions
 | |
|   actions: EscalationAction[]; // Actions to take
 | |
|   priority: number;          // Rule priority
 | |
| }
 | |
| 
 | |
| interface EscalationCondition {
 | |
|   type: 'thread_duration' | 'no_progress' | 'disagreement_count' | 'error_rate';
 | |
|   threshold: number | boolean; // Condition threshold
 | |
|   timeframe?: number;        // Time window (seconds)
 | |
| }
 | |
| 
 | |
| interface EscalationAction {
 | |
|   type: 'notify_human' | 'request_expert' | 'escalate_to_architect' | 'create_decision_thread';
 | |
|   target?: string;           // Action target
 | |
|   priority?: string;         // Action priority
 | |
|   participants?: string[];   // Additional participants
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## Error Handling
 | |
| 
 | |
| ### Standard Error Response
 | |
| 
 | |
| ```typescript
 | |
| interface ErrorResponse {
 | |
|   success: false;
 | |
|   error: string;             // Error message
 | |
|   code?: string;             // Error code
 | |
|   details?: any;             // Additional error details
 | |
|   timestamp: string;         // Error timestamp
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Common Error Codes
 | |
| 
 | |
| - `INVALID_PARAMETERS`: Invalid or missing parameters
 | |
| - `AGENT_NOT_FOUND`: Referenced agent doesn't exist
 | |
| - `THREAD_NOT_FOUND`: Referenced thread doesn't exist
 | |
| - `NETWORK_ERROR`: P2P network communication failure
 | |
| - `OPENAI_ERROR`: OpenAI API error
 | |
| - `COST_LIMIT_EXCEEDED`: Cost limit exceeded
 | |
| - `ESCALATION_FAILED`: Thread escalation failed
 | |
| 
 | |
| ### Error Handling Best Practices
 | |
| 
 | |
| 1. **Always check response.success** before processing results
 | |
| 2. **Log errors** with appropriate detail level
 | |
| 3. **Implement retry logic** for transient network errors
 | |
| 4. **Handle cost limit errors** gracefully with user notification
 | |
| 5. **Provide meaningful error messages** to users and logs
 | |
| 
 | |
| ## Rate Limits and Throttling
 | |
| 
 | |
| ### OpenAI API Limits
 | |
| - **GPT-5**: Rate limits depend on your OpenAI tier
 | |
| - **Tokens per minute**: Varies by subscription
 | |
| - **Requests per minute**: Varies by subscription
 | |
| 
 | |
| ### BZZZ Network Limits
 | |
| - **Messages per second**: Configurable per node
 | |
| - **Thread creation**: Limited by `maxActiveThreads`
 | |
| - **Subscription limits**: Limited by network capacity
 | |
| 
 | |
| ### Handling Rate Limits
 | |
| 
 | |
| 1. **Implement exponential backoff** for retries
 | |
| 2. **Monitor usage patterns** and adjust accordingly
 | |
| 3. **Use streaming** for real-time applications
 | |
| 4. **Cache results** where appropriate
 | |
| 5. **Implement circuit breakers** for failing services
 | |
| 
 | |
| ## Monitoring and Observability
 | |
| 
 | |
| ### Health Check Endpoints
 | |
| 
 | |
| While the MCP server doesn't expose HTTP endpoints directly, you can monitor health through:
 | |
| 
 | |
| 1. **Log analysis**: Monitor error rates and response times
 | |
| 2. **Cost tracking**: Monitor API usage and costs
 | |
| 3. **Agent performance**: Track task completion rates
 | |
| 4. **Thread metrics**: Monitor conversation health
 | |
| 5. **Network connectivity**: Monitor P2P connection status
 | |
| 
 | |
| ### Metrics to Monitor
 | |
| 
 | |
| - **Agent availability**: Percentage of agents online and available
 | |
| - **Task completion rate**: Successful task completion percentage
 | |
| - **Average response time**: Time from task assignment to completion
 | |
| - **Thread escalation rate**: Percentage of threads requiring escalation
 | |
| - **Cost per interaction**: Average cost per agent interaction
 | |
| - **Network latency**: P2P network communication delays
 | |
| 
 | |
| This completes the comprehensive API reference for the BZZZ MCP Server. Use this reference when integrating with the server or developing new features. |