Create powerful AI workflows by connecting multiple MCP servers including Markdown2doc, YouTube, Supabase for enhanced automation capabilities in Klavis AI.
Convert markdown text to different file formats (pdf, docx, doc, html), based on Pandoc
Extract and convert YouTube video information to markdown format
Supabase official MCP Server
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"))
markdown2doc_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.MARKDOWN2DOC,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
youtube_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.YOUTUBE,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
supabase_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.SUPABASE,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
markdown2doc_tools = await aget_tools_from_mcp_url(
markdown2doc_mcp_instance.server_url,
client=BasicMCPClient(markdown2doc_mcp_instance.server_url)
)
youtube_tools = await aget_tools_from_mcp_url(
youtube_mcp_instance.server_url,
client=BasicMCPClient(youtube_mcp_instance.server_url)
)
supabase_tools = await aget_tools_from_mcp_url(
supabase_mcp_instance.server_url,
client=BasicMCPClient(supabase_mcp_instance.server_url)
)
markdown2doc_agent = FunctionAgent(
name="markdown2doc_agent",
tools=markdown2doc_tools,
llm=llm,
)
youtube_agent = FunctionAgent(
name="youtube_agent",
tools=youtube_tools,
llm=llm,
)
supabase_agent = FunctionAgent(
name="supabase_agent",
tools=supabase_tools,
llm=llm,
)
workflow = AgentWorkflow(
agents=[markdown2doc_agent, youtube_agent, supabase_agent],
root_agent="markdown2doc_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