Create powerful AI workflows by connecting multiple MCP servers including Moneybird, Hacker News, Exa for enhanced automation capabilities in Klavis AI.
Moneybird is an online accounting software for entrepreneurs and small businesses. Manage contacts, create invoices, track time entries, handle financial accounts, and organize projects with comprehensive bookkeeping features
Access the latest tech news, discussions, and stories from Hacker News. Fetch top stories, newest posts, best stories, show HN posts, ask HN posts, job listings, and user profiles from the popular tech community platform
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"))
moneybird_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.MONEYBIRD,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
hacker_news_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.HACKER_NEWS,
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,
)
moneybird_tools = await aget_tools_from_mcp_url(
moneybird_mcp_instance.server_url,
client=BasicMCPClient(moneybird_mcp_instance.server_url)
)
hacker_news_tools = await aget_tools_from_mcp_url(
hacker_news_mcp_instance.server_url,
client=BasicMCPClient(hacker_news_mcp_instance.server_url)
)
exa_tools = await aget_tools_from_mcp_url(
exa_mcp_instance.server_url,
client=BasicMCPClient(exa_mcp_instance.server_url)
)
moneybird_agent = FunctionAgent(
name="moneybird_agent",
tools=moneybird_tools,
llm=llm,
)
hacker_news_agent = FunctionAgent(
name="hacker_news_agent",
tools=hacker_news_tools,
llm=llm,
)
exa_agent = FunctionAgent(
name="exa_agent",
tools=exa_tools,
llm=llm,
)
workflow = AgentWorkflow(
agents=[moneybird_agent, hacker_news_agent, exa_agent],
root_agent="moneybird_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