Create powerful collaborative AI workflows by connecting multiple MCP servers including Slack, Exa, Mem0 for enhanced multi-agent automation capabilities in Klavis AI.
Slack is a messaging app for business that connects people to the information they need
Exa is an AI-powered search engine designed for AI applications. Use neural search to understand meaning and context, find similar content, get direct answers with citations, and conduct comprehensive research with structured analysis
Mem0 is an intelligent memory layer for AI applications that provides long-term memory storage and retrieval. Store code snippets, implementation details, and programming knowledge for seamless context retention across conversations
Follow these steps to connect CrewAI to these MCP servers
Sign up for KlavisAI to access our MCP server management platform.
Set up your CrewAI agents with your desired MCP servers tools and configure authentication settings for collaborative workflows.
Test your multi-agent workflows and start using your enhanced collaborative AI capabilities.
import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import MCPServerAdapter
from klavis import Klavis
from klavis.types import McpServerName, ConnectionType
# Initialize clients
klavis_client = Klavis(api_key=os.getenv("KLAVIS_API_KEY"))
slack_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.SLACK,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
exa_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.EXA,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
mem0_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.MEM0,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
# Initialize MCP tools for each server
slack_tools = MCPServerAdapter(slack_mcp_instance.server_params)
exa_tools = MCPServerAdapter(exa_mcp_instance.server_params)
mem0_tools = MCPServerAdapter(mem0_mcp_instance.server_params)
# Create specialized agents for each service
slack_agent = Agent(
role="Slack Specialist",
goal="Handle all Slack related tasks and data processing",
backstory="You are an expert in Slack operations and data analysis",
tools=slack_tools,
reasoning=True,
verbose=False
)
exa_agent = Agent(
role="Exa Specialist",
goal="Handle all Exa related tasks and data processing",
backstory="You are an expert in Exa operations and data analysis",
tools=exa_tools,
reasoning=True,
verbose=False
)
mem0_agent = Agent(
role="Mem0 Specialist",
goal="Handle all Mem0 related tasks and data processing",
backstory="You are an expert in Mem0 operations and data analysis",
tools=mem0_tools,
reasoning=True,
verbose=False
)
# Define collaborative tasks
research_task = Task(
description="Gather comprehensive data from all available sources",
expected_output="Raw data and initial findings from all services",
agent=slack_agent,
markdown=True
)
analysis_task = Task(
description="Analyze and synthesize the gathered data",
expected_output="Comprehensive analysis with insights and recommendations",
agent=exa_agent,
markdown=True
)
# Create multi-agent crew
multi_agent_crew = Crew(
agents=[slack_agent, exa_agent, mem0_agent],
tasks=[research_task, analysis_task],
verbose=False,
process=Process.sequential
)
result = multi_agent_crew.kickoff()
Everything you need to know about connecting CrewAI to these MCP servers
Join developers who are already using KlavisAI to power their CrewAI multi-agent systems with these MCP servers.
Start For Free