Create powerful AI workflows by connecting multiple MCP servers including Google Sheets, Gmail, Exa for enhanced automation capabilities in Klavis AI.
Google Sheets is a web-based spreadsheet application that allows users to create, edit, and collaborate on spreadsheets online
Gmail is a free email service provided by Google
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
Follow these steps to connect LlamaIndex to these MCP servers
Sign up for KlavisAI to access our MCP server management platform.
Add your desired MCP servers to LlamaIndex and configure authentication settings.
Verify your connections work correctly and start using your enhanced AI capabilities.
import os
from klavis import Klavis
from klavis.types import McpServerName, ConnectionType
from llama_index.tools.mcp import (
BasicMCPClient,
get_tools_from_mcp_url,
aget_tools_from_mcp_url,
)
from llama_index.core.agent.workflow import FunctionAgent, AgentWorkflow
# Initialize clients
klavis_client = Klavis(api_key=os.getenv("KLAVIS_API_KEY"))
google_sheets_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.GOOGLE_SHEETS,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
gmail_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.GMAIL,
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,
)
google_sheets_tools = await aget_tools_from_mcp_url(
google_sheets_mcp_instance.server_url,
client=BasicMCPClient(google_sheets_mcp_instance.server_url)
)
gmail_tools = await aget_tools_from_mcp_url(
gmail_mcp_instance.server_url,
client=BasicMCPClient(gmail_mcp_instance.server_url)
)
exa_tools = await aget_tools_from_mcp_url(
exa_mcp_instance.server_url,
client=BasicMCPClient(exa_mcp_instance.server_url)
)
google_sheets_agent = FunctionAgent(
name="google_sheets_agent",
tools=google_sheets_tools,
llm=llm,
)
gmail_agent = FunctionAgent(
name="gmail_agent",
tools=gmail_tools,
llm=llm,
)
exa_agent = FunctionAgent(
name="exa_agent",
tools=exa_tools,
llm=llm,
)
workflow = AgentWorkflow(
agents=[google_sheets_agent, gmail_agent, exa_agent],
root_agent="google_sheets_agent",
)
Everything you need to know about connecting to these MCP servers
Join developers who are already using KlavisAI to power their LlamaIndex applications with these MCP servers.
Start For Free