Create powerful AI workflows by connecting multiple MCP servers including Firecrawl Deep Research, Resend, OpenRouter for enhanced automation capabilities in Klavis AI.
A personal research assistant that analyze sources across the web, based on Firecrawl
Resend is a modern email API for sending and receiving emails programmatically
Access to multiple AI models through a unified API. Generate chat completions, compare model performance, manage usage and costs, get model recommendations, and analyze model capabilities across various providers like OpenAI, Anthropic, Meta, Google, and more
Follow these steps to connect OpenAI to these MCP servers
Sign up for KlavisAI to access our MCP server management platform.
Add your desired MCP servers to OpenAI and configure authentication settings.
Verify your connections work correctly and start using your enhanced AI capabilities.
import json
import os
from openai import OpenAI
from klavis import Klavis
from klavis.types import McpServerName, ConnectionType, ToolFormat
# Initialize clients
openai_client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
klavis_client = Klavis(api_key=os.getenv("KLAVIS_API_KEY"))
# Constants
OPENAI_MODEL = "gpt-4o-mini"
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,
)
resend_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.RESEND,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
openrouter_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.OPENROUTER,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
# Get tools from all MCP servers
firecrawl_deep_research_tools = klavis_client.mcp_server.list_tools(
server_url=firecrawl_deep_research_mcp_instance.server_url,
connection_type=ConnectionType.STREAMABLE_HTTP,
format=ToolFormat.OPENAI,
)
resend_tools = klavis_client.mcp_server.list_tools(
server_url=resend_mcp_instance.server_url,
connection_type=ConnectionType.STREAMABLE_HTTP,
format=ToolFormat.OPENAI,
)
openrouter_tools = klavis_client.mcp_server.list_tools(
server_url=openrouter_mcp_instance.server_url,
connection_type=ConnectionType.STREAMABLE_HTTP,
format=ToolFormat.OPENAI,
)
# Combine all tools
all_tools = []
all_tools.extend(firecrawl_deep_research_tools)
all_tools.extend(resend_tools)
all_tools.extend(openrouter_tools)
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": user_message}
]
response = openai_client.chat.completions.create(
model=OPENAI_MODEL,
messages=messages,
tools=all_tools if all_tools else None
)
Everything you need to know about connecting to these MCP servers
Join developers who are already using KlavisAI to power their OpenAI applications with these MCP servers.
Start For Free