{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-callhub","slug":"callhub","name":"CallHub","type":"mcp","url":"https://github.com/callhub/callhub-mcp","page_url":"https://unfragile.ai/callhub","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-callhub__cap_0","uri":"capability://tool.use.integration.contact.management.via.mcp.protocol","name":"contact-management-via-mcp-protocol","description":"Exposes CallHub contact operations through the Model Context Protocol, enabling LLM agents and tools to create, retrieve, update, and delete contacts without direct API calls. Implements MCP resource handlers that translate contact CRUD operations into CallHub REST API calls, with automatic request/response serialization and error handling for contact lifecycle management.","intents":["I need my AI agent to programmatically add new contacts to CallHub from external data sources","I want to sync contact information between CallHub and other systems via an LLM-driven workflow","I need to query and filter contacts by attributes (name, phone, tags) through natural language prompts"],"best_for":["teams building LLM agents that manage customer contact databases","developers integrating CallHub into multi-tool AI workflows","non-technical users automating contact operations via Claude or other MCP-compatible LLMs"],"limitations":["MCP protocol adds request/response serialization overhead (~50-100ms per operation)","Batch contact operations are sequential, not parallel — large imports (10k+ contacts) may be slow","No built-in deduplication logic — duplicate detection must be handled by calling agent","Contact field validation is delegated to CallHub API — invalid fields fail at API layer, not MCP layer"],"requires":["Python 3.8+","CallHub API credentials (API key)","MCP client implementation (Claude Desktop, custom MCP host, or compatible LLM framework)","Network access to CallHub API endpoints"],"input_types":["JSON contact objects with fields: name, phone, email, tags, custom_fields","Contact IDs (strings/integers) for retrieval and updates","Filter parameters (key-value pairs for search/list operations)"],"output_types":["JSON contact records with full metadata","Contact lists with pagination metadata","Operation status responses (success/failure with error details)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_1","uri":"capability://tool.use.integration.phonebook.and.list.management.via.mcp","name":"phonebook-and-list-management-via-mcp","description":"Provides MCP-based operations for creating, listing, updating, and managing CallHub phonebooks (contact lists). Translates phonebook CRUD requests into CallHub API calls, handling phonebook metadata, member associations, and list-level configurations through MCP resource handlers with automatic serialization.","intents":["I want my AI agent to organize contacts into phonebooks based on campaign type or customer segment","I need to programmatically create and populate phonebooks from external data pipelines","I want to query existing phonebooks and their member counts through an LLM interface"],"best_for":["campaign managers automating phonebook creation and segmentation","developers building contact organization workflows in LLM agents","teams managing multiple customer lists with dynamic segmentation"],"limitations":["Phonebook operations are synchronous — bulk phonebook creation (100+ lists) requires sequential API calls","No built-in member deduplication across phonebooks — duplicate contacts in different lists are not automatically detected","Phonebook metadata is read-only after creation for some fields (e.g., creation date) — updates are limited to name, description, and tags","MCP protocol does not support streaming large phonebook member lists — full list retrieval required for large phonebooks (10k+ members)"],"requires":["Python 3.8+","CallHub API credentials","MCP client with phonebook resource support","Valid contact IDs for phonebook membership operations"],"input_types":["Phonebook metadata: name, description, tags","Contact ID arrays for phonebook membership","Phonebook IDs (strings/integers) for updates and retrieval"],"output_types":["Phonebook objects with metadata and member counts","Phonebook lists with pagination","Member lists with contact details"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_2","uri":"capability://tool.use.integration.campaign.execution.and.monitoring.via.mcp","name":"campaign-execution-and-monitoring-via-mcp","description":"Exposes CallHub campaign operations through MCP, enabling agents to create, launch, pause, and monitor campaigns. Implements MCP handlers that translate campaign lifecycle operations into CallHub API calls, with support for campaign configuration (phonebook assignment, agent routing, call scripts) and real-time status monitoring through polling or webhook integration.","intents":["I want my AI agent to automatically launch campaigns based on business rules or external triggers","I need to monitor campaign performance metrics (calls made, completion rates, outcomes) in real-time","I want to pause or modify campaigns programmatically when performance thresholds are breached"],"best_for":["campaign automation teams using LLM agents for dynamic campaign management","developers building intelligent campaign orchestration workflows","contact centers automating campaign lifecycle based on performance metrics"],"limitations":["Campaign creation requires pre-configured call scripts and phonebooks — agents cannot generate scripts dynamically","Real-time campaign monitoring relies on polling (not webhooks in base implementation) — status updates have ~30-60 second latency","Campaign pause/resume operations are asynchronous — confirmation of state change may be delayed","Agent routing configuration is limited to CallHub's predefined routing rules — custom routing logic must be implemented outside MCP"],"requires":["Python 3.8+","CallHub API credentials with campaign management permissions","Pre-existing call scripts in CallHub","Pre-existing phonebooks with contacts","MCP client with campaign resource support"],"input_types":["Campaign configuration: name, phonebook_id, script_id, agent_ids, call_type","Campaign IDs for status queries and control operations","Performance thresholds for monitoring (calls_per_hour, completion_rate, etc.)"],"output_types":["Campaign objects with metadata and current status","Campaign performance metrics: calls_made, completed_calls, outcomes","Campaign state change confirmations"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_3","uri":"capability://tool.use.integration.agent.and.team.assignment.via.mcp","name":"agent-and-team-assignment-via-mcp","description":"Provides MCP-based operations for querying agents, teams, and assigning agents to campaigns or phonebooks. Implements MCP resource handlers that retrieve agent availability, team membership, and skill tags, then route assignments through CallHub's agent management API with validation of agent capacity and team constraints.","intents":["I want my AI agent to automatically assign available agents to new campaigns based on skill tags","I need to query agent availability and workload before assigning new tasks","I want to balance campaign load across teams based on current utilization"],"best_for":["contact center managers automating agent assignment and load balancing","developers building intelligent workforce allocation agents","teams managing multi-team campaigns with skill-based routing"],"limitations":["Agent availability is point-in-time — no real-time availability streaming; agents may become unavailable between query and assignment","Skill tag matching is exact (no fuzzy matching) — agent skills must match campaign requirements precisely","Team constraints are enforced at API layer — invalid assignments fail after MCP call, not before","No built-in load balancing algorithm — agents must implement their own balancing logic based on utilization metrics"],"requires":["Python 3.8+","CallHub API credentials with agent management permissions","Pre-existing agents and teams in CallHub","MCP client with agent resource support"],"input_types":["Agent IDs or team IDs for queries","Skill tag filters for agent search","Campaign IDs for assignment operations","Workload/utilization thresholds for filtering"],"output_types":["Agent objects with availability status, skill tags, current workload","Team objects with member lists and aggregate metrics","Assignment confirmation responses"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_4","uri":"capability://tool.use.integration.call.recording.and.transcript.retrieval.via.mcp","name":"call-recording-and-transcript-retrieval-via-mcp","description":"Provides MCP-based access to call recordings and transcripts from completed campaigns. Implements MCP resource handlers that query CallHub's call history, retrieve recording metadata (duration, date, outcome), and fetch transcripts with optional filtering by agent, contact, or outcome. Supports streaming large transcript files through MCP's resource protocol.","intents":["I want my AI agent to analyze call transcripts to extract insights or detect compliance issues","I need to retrieve call recordings for quality assurance or training purposes","I want to search for calls by outcome or agent and retrieve associated transcripts"],"best_for":["quality assurance teams using AI to analyze call transcripts","compliance officers automating call review and audit trails","developers building call analytics and insights agents"],"limitations":["Transcript retrieval is synchronous — large transcript files (1000+ calls) require sequential API calls and may timeout","Transcripts are text-only — no speaker diarization or confidence scores in base implementation","Recording access is limited by CallHub's retention policies — old recordings may be unavailable","Transcript search is limited to metadata filters (agent, contact, date) — full-text search requires external indexing"],"requires":["Python 3.8+","CallHub API credentials with recording/transcript access","Completed campaigns with recorded calls","MCP client with call history resource support"],"input_types":["Campaign IDs for call history queries","Agent IDs or contact IDs for filtering","Date ranges for call filtering","Outcome filters (completed, no-answer, etc.)"],"output_types":["Call metadata: date, duration, agent, contact, outcome","Transcript text (plain text or structured format)","Recording URLs or file paths"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_5","uri":"capability://tool.use.integration.webhook.event.subscription.and.handling.via.mcp","name":"webhook-event-subscription-and-handling-via-mcp","description":"Provides MCP-based webhook subscription management, allowing agents to register for CallHub events (call completed, campaign started, agent logged in) and receive real-time notifications. Implements MCP handlers that configure webhook endpoints, validate event payloads, and route events to agent handlers with automatic retry and error handling for failed deliveries.","intents":["I want my AI agent to react in real-time to CallHub events (e.g., pause campaign when calls drop below threshold)","I need to trigger downstream workflows when specific CallHub events occur","I want to monitor CallHub activity and log events for audit purposes"],"best_for":["developers building event-driven CallHub automation workflows","teams implementing real-time campaign monitoring and alerts","compliance teams automating event logging and audit trails"],"limitations":["Webhook delivery is asynchronous and not guaranteed — events may be lost if MCP client is offline","Event payload validation is delegated to CallHub — invalid payloads are not filtered at MCP layer","Webhook retry logic is limited to CallHub's retry policy — custom retry strategies require external implementation","Event filtering is limited to event type — no fine-grained filtering by campaign, agent, or other attributes"],"requires":["Python 3.8+","CallHub API credentials with webhook management permissions","Public webhook endpoint (HTTP/HTTPS) accessible from CallHub servers","MCP client with webhook resource support"],"input_types":["Event types to subscribe to (call_completed, campaign_started, agent_logged_in, etc.)","Webhook endpoint URL","Event filters (optional: campaign_id, agent_id, etc.)"],"output_types":["Webhook subscription confirmation","Event payloads with metadata (timestamp, event_type, resource_id)","Delivery status confirmations"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_6","uri":"capability://tool.use.integration.custom.field.and.metadata.management.via.mcp","name":"custom-field-and-metadata-management-via-mcp","description":"Exposes CallHub custom field definitions and metadata through MCP, enabling agents to query available custom fields, validate field values, and manage contact metadata. Implements MCP handlers that retrieve field schemas, enforce field constraints (type, length, allowed values), and update contact custom fields through CallHub's metadata API with automatic validation.","intents":["I want my AI agent to populate custom fields with data from external sources","I need to validate contact data against CallHub's field schema before importing","I want to query available custom fields and their constraints programmatically"],"best_for":["data integration teams automating contact data enrichment","developers building data validation pipelines for CallHub imports","teams managing complex contact metadata with custom fields"],"limitations":["Custom field schema is read-only — agents cannot create or modify field definitions through MCP","Field validation is strict — invalid values fail at API layer, not MCP layer","Custom field updates are synchronous — bulk updates (10k+ contacts) require sequential API calls","No built-in data transformation — agents must implement their own field mapping and transformation logic"],"requires":["Python 3.8+","CallHub API credentials with custom field access","Pre-existing custom field definitions in CallHub","MCP client with custom field resource support"],"input_types":["Custom field names or IDs for schema queries","Contact IDs for metadata updates","Field values (strings, numbers, dates, etc.) matching field schema"],"output_types":["Custom field schema: name, type, constraints, allowed_values","Contact metadata with custom field values","Validation results (success/failure with error details)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_7","uri":"capability://tool.use.integration.reporting.and.analytics.data.export.via.mcp","name":"reporting-and-analytics-data-export-via-mcp","description":"Provides MCP-based access to CallHub reporting and analytics data, enabling agents to query campaign performance metrics, agent statistics, and contact outcomes. Implements MCP handlers that aggregate CallHub data, apply filters and grouping, and export results in structured formats (JSON, CSV) with support for time-series data and custom metric calculations.","intents":["I want my AI agent to generate performance reports and dashboards from CallHub data","I need to export campaign metrics for analysis in external tools","I want to query agent productivity metrics and identify top performers"],"best_for":["analytics teams automating report generation and data export","managers using AI agents to monitor campaign performance","developers building business intelligence integrations with CallHub"],"limitations":["Analytics data is aggregated at API layer — no raw event-level data export for custom analysis","Metric calculations are limited to CallHub's predefined metrics — custom metrics require external computation","Time-series data is limited to daily granularity — hourly or minute-level data is not available","Large data exports (100k+ records) may timeout — pagination required for bulk exports"],"requires":["Python 3.8+","CallHub API credentials with reporting access","Completed campaigns with data to analyze","MCP client with reporting resource support"],"input_types":["Campaign IDs or date ranges for metric queries","Agent IDs for individual agent statistics","Grouping parameters (by_agent, by_campaign, by_date, etc.)","Metric filters (calls_made, completion_rate, etc.)"],"output_types":["Aggregated metrics: calls_made, completed_calls, outcomes, duration_stats","Agent statistics: calls_handled, completion_rate, average_duration","Time-series data with daily granularity","Exported data in JSON or CSV format"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-callhub__cap_8","uri":"capability://tool.use.integration.error.handling.and.retry.logic.via.mcp.protocol","name":"error-handling-and-retry-logic-via-mcp-protocol","description":"Implements automatic error handling and retry logic for all MCP operations, translating CallHub API errors into MCP-compatible error responses with exponential backoff and circuit breaker patterns. Handles rate limiting, network timeouts, and API errors with configurable retry strategies and detailed error messages for agent debugging.","intents":["I want my AI agent to gracefully handle API failures and retry operations automatically","I need detailed error messages to debug integration issues","I want to implement rate-limiting awareness to avoid API throttling"],"best_for":["developers building production-grade CallHub automation","teams requiring reliable, fault-tolerant agent workflows","operators monitoring and debugging MCP integration issues"],"limitations":["Retry logic is exponential backoff only — no jitter or adaptive retry strategies","Circuit breaker state is in-memory — resets on MCP client restart","Rate limit detection relies on HTTP 429 responses — CallHub's rate limit headers must be present","Error messages are CallHub API errors passed through — no additional context or remediation suggestions"],"requires":["Python 3.8+","MCP client with error handling support","Configured retry parameters (max_retries, backoff_factor, etc.)"],"input_types":["API error responses from CallHub","HTTP status codes and headers","Retry configuration parameters"],"output_types":["MCP error responses with error codes and messages","Retry status (retrying, max_retries_exceeded, success)","Circuit breaker state (open, closed, half-open)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":30,"verified":false,"data_access_risk":"high","permissions":["Python 3.8+","CallHub API credentials (API key)","MCP client implementation (Claude Desktop, custom MCP host, or compatible LLM framework)","Network access to CallHub API endpoints","CallHub API credentials","MCP client with phonebook resource support","Valid contact IDs for phonebook membership operations","CallHub API credentials with campaign management permissions","Pre-existing call scripts in CallHub","Pre-existing phonebooks with contacts"],"failure_modes":["MCP protocol adds request/response serialization overhead (~50-100ms per operation)","Batch contact operations are sequential, not parallel — large imports (10k+ contacts) may be slow","No built-in deduplication logic — duplicate detection must be handled by calling agent","Contact field validation is delegated to CallHub API — invalid fields fail at API layer, not MCP layer","Phonebook operations are synchronous — bulk phonebook creation (100+ lists) requires sequential API calls","No built-in member deduplication across phonebooks — duplicate contacts in different lists are not automatically detected","Phonebook metadata is read-only after creation for some fields (e.g., creation date) — updates are limited to name, description, and tags","MCP protocol does not support streaming large phonebook member lists — full list retrieval required for large phonebooks (10k+ members)","Campaign creation requires pre-configured call scripts and phonebooks — agents cannot generate scripts dynamically","Real-time campaign monitoring relies on polling (not webhooks in base implementation) — status updates have ~30-60 second latency","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.43,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:02.371Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=callhub","compare_url":"https://unfragile.ai/compare?artifact=callhub"}},"signature":"Zgg1ep1oBKRooRzi+hCF+y/ZZpycpE7CcnA6LcgE1lsJPRTQQie401ebzyO0yhSRGIHSGN7IE/Dz4WN7DQMMCA==","signedAt":"2026-06-21T07:46:56.387Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/callhub","artifact":"https://unfragile.ai/callhub","verify":"https://unfragile.ai/api/v1/verify?slug=callhub","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}