from openai import OpenAI
from dotenv import load_dotenv
import os
import base64
import json
from urllib.parse import quote
load_dotenv()
def urlEncode(data_dict):
"""Convert dictionary to base64 and then URL encode it"""
return quote(base64.b64encode(json.dumps(data_dict).encode()).decode())
config = {
"exaApiKey": os.getenv("EXA_API_KEY")
}
config_str = urlEncode(config)
web_socket_url = "wss://your-mcp-server.com/ws"
extra_body = {
"mcp_servers": [
{
"server_url": f"{web_socket_url}?config={config_str}",
"type": "ws"
}
]
}
client = OpenAI(
api_key=os.getenv("LANGDB_API_KEY"),
base_url=os.getenv("LANGDB_API_URL")
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "what is langdb?"}],
extra_body = extra_body
)
print(response)