Create powerful AI workflows by connecting multiple MCP servers including Linear, Doc2markdown, Motion for enhanced automation capabilities in Klavis AI.
Linear is a modern issue tracking and project management tool designed for high-performance teams to build better software faster
Convert any file to markdown using markitdown
Motion is an intelligent project management and calendar application that automatically schedules your tasks, meetings, and projects to optimize your productivity and help you focus on what matters most
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"
linear_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.LINEAR,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
doc2markdown_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.DOC2MARKDOWN,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
motion_mcp_instance = klavis_client.mcp_server.create_server_instance(
server_name=McpServerName.MOTION,
user_id="1234",
platform_name="Klavis",
connection_type=ConnectionType.STREAMABLE_HTTP,
)
# Get tools from all MCP servers
linear_tools = klavis_client.mcp_server.list_tools(
server_url=linear_mcp_instance.server_url,
connection_type=ConnectionType.STREAMABLE_HTTP,
format=ToolFormat.OPENAI,
)
doc2markdown_tools = klavis_client.mcp_server.list_tools(
server_url=doc2markdown_mcp_instance.server_url,
connection_type=ConnectionType.STREAMABLE_HTTP,
format=ToolFormat.OPENAI,
)
motion_tools = klavis_client.mcp_server.list_tools(
server_url=motion_mcp_instance.server_url,
connection_type=ConnectionType.STREAMABLE_HTTP,
format=ToolFormat.OPENAI,
)
# Combine all tools
all_tools = []
all_tools.extend(linear_tools)
all_tools.extend(doc2markdown_tools)
all_tools.extend(motion_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