Create powerful collaborative AI workflows by connecting multiple MCP servers including Outlook Mail, Firecrawl Deep Research, Klavis ReportGen for enhanced multi-agent automation capabilities in Klavis AI.
Outlook Mail is a web-based suite of webmail, contacts, tasks, and calendaring services from Microsoft
A personal research assistant that analyze sources across the web, based on Firecrawl
Generate visually appealing JavaScript web reports from search queries with Klavis AI.
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"))
outlook_mail_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.OUTLOOK_MAIL,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
firecrawl_deep_research_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.FIRECRAWL_DEEP_RESEARCH,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
klavis_reportgen_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.KLAVIS_REPORTGEN,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
# Initialize MCP tools for each server
outlook_mail_tools = MCPServerAdapter(outlook_mail_mcp_instance.server_params)
firecrawl_deep_research_tools = MCPServerAdapter(firecrawl_deep_research_mcp_instance.server_params)
klavis_reportgen_tools = MCPServerAdapter(klavis_reportgen_mcp_instance.server_params)
# Create specialized agents for each service
outlook_mail_agent = Agent(
role="Outlook Mail Specialist",
goal="Handle all Outlook Mail related tasks and data processing",
backstory="You are an expert in Outlook Mail operations and data analysis",
tools=outlook_mail_tools,
reasoning=True,
verbose=False
)
firecrawl_deep_research_agent = Agent(
role="Firecrawl Deep Research Specialist",
goal="Handle all Firecrawl Deep Research related tasks and data processing",
backstory="You are an expert in Firecrawl Deep Research operations and data analysis",
tools=firecrawl_deep_research_tools,
reasoning=True,
verbose=False
)
klavis_reportgen_agent = Agent(
role="Klavis ReportGen Specialist",
goal="Handle all Klavis ReportGen related tasks and data processing",
backstory="You are an expert in Klavis ReportGen operations and data analysis",
tools=klavis_reportgen_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=outlook_mail_agent,
markdown=True
)
analysis_task = Task(
description="Analyze and synthesize the gathered data",
expected_output="Comprehensive analysis with insights and recommendations",
agent=firecrawl_deep_research_agent,
markdown=True
)
# Create multi-agent crew
multi_agent_crew = Crew(
agents=[outlook_mail_agent, firecrawl_deep_research_agent, klavis_reportgen_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