OpenAI API#
Use ClipKit's MCP tools from your own OpenAI app — either the Agents SDK (the agent loop runs in your code) or the Responses API hosted mcp tool (OpenAI's servers connect to ClipKit for you).
ClipKit's connector is open (no headers, no OAuth) and speaks Streamable HTTP at https://www.clipkit.dev/mcp.
Responses API#
Add ClipKit to the tools array. Set require_approval: "never" or every tool call pauses for human approval.
import OpenAI from "openai"; const client = new OpenAI(); const resp = await client.responses.create({ model: "gpt-5.5", tools: [ { type: "mcp", server_label: "clipkit", server_url: "https://www.clipkit.dev/mcp", require_approval: "never", }, ], input: "Build a 5s title card and return a preview still.", }); console.log(resp.output_text);
Agents SDK (Python)#
# pip install openai-agents import asyncio from agents import Agent, Runner from agents.mcp import MCPServerStreamableHttp async def main(): async with MCPServerStreamableHttp( name="ClipKit", params={"url": "https://www.clipkit.dev/mcp"}, # open server, no headers cache_tools_list=True, ) as server: agent = Agent( name="Video assistant", instructions="Use the ClipKit MCP tools to author video.", mcp_servers=[server], ) result = await Runner.run(agent, "Make a 5s title card and preview it.") print(result.final_output) asyncio.run(main())
Agents SDK (JavaScript)#
// npm install @openai/agents import { Agent, Runner, MCPServerStreamableHttp } from "@openai/agents"; const clipkit = new MCPServerStreamableHttp({ url: "https://www.clipkit.dev/mcp", name: "ClipKit", cacheToolsList: true, }); await clipkit.connect(); const agent = new Agent({ name: "Video assistant", instructions: "Use the ClipKit MCP tools to author video.", mcpServers: [clipkit], }); const result = await Runner.run(agent, "Make a 5s title card and preview it."); console.log(result.finalOutput); await clipkit.close();
Notes#
require_approval: "never"is required for unattended Responses API runs — the default pauses with anmcp_approval_request.- The hosted
mcptool needs a tool-capable model (gpt-4.1, gpt-5.x, o-series).server_urlmust be sent on everyresponses.createcall — OpenAI doesn't persist it. - JS Agents SDK: call
await clipkit.connect()before running, andclose()when done — skipconnect()and the tool list comes back empty.
New to the tools? The MCP server overview has the full tool list and how projects work.