Use an MCP server when an OpenAI model needs to call an external service; use the Responses API to send a PDF for analysis; and use the Images API to generate or edit images. These are separate capabilities, not one “ChatGPT MCP server” that creates every media type. Video is the exception: as of September 29, 2026, OpenAI’s Sora 2 models and Videos API are shut down, with no one-to-one replacement API available.
What an MCP server does—and what it does not do
Model Context Protocol (MCP) connects a model to tools and services outside the model itself. An MCP server exposes capabilities; the model can then decide whether to call an available tool as part of a response. OpenAI’s MCP guide describes connecting models to remote MCP servers and local servers through Secure MCP Tunnel. Depending on the configuration, a tool call can run automatically or require developer approval.
MCP is therefore an integration mechanism, not an image, PDF, or video format. If a server offers a relevant tool, an MCP-connected model may use that tool. For native PDF input or image generation, use the corresponding OpenAI API capability directly. The Responses API and Images API have distinct inputs, outputs, and controls.
Choose a route by the task
| Need | Use | What you provide or configure |
|---|---|---|
| Let a model call an external service | MCP through the Responses API | A public server URL, or a private/on-premises server configured through Secure MCP Tunnel; OAuth may be required. |
| Ask a model questions about a PDF | Responses API | A PDF as an input file, either as file data or a file ID. |
| Create, edit, or vary an image | Images API | A prompt and, for image edits or variations, an input image as supported by the operation. |
| Generate a video with the documented Sora 2 API | Not currently available | The Sora 2 models and Videos API were shut down on September 24, 2026; no one-to-one replacement API is available. |
Connect an MCP server to a model
In an API integration, configure the MCP server as a tool on a Responses API request. For a publicly reachable server, the key setting is its server_url. For a private or on-premises server, the documented route is Secure MCP Tunnel with a tunnel_id. The server may require OAuth authentication; follow the provider’s authentication setup rather than assuming that a public URL is enough.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →#1 Best Overall
Example: require approval before tool calls
The following Python example shows the shape of a Responses API request using a remote MCP server and explicit approval. Replace the server label and URL with details supplied by a server provider, set OPENAI_API_KEY in the environment, and install the OpenAI Python SDK. The server must actually expose tools suited to the task in your prompt.
pip install openai
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
response = client.responses.create(
model="gpt-4o",
tools=[
{
"type": "mcp",
"server_label": "my_service",
"server_url": "https://YOUR-MCP-SERVER.example",
"require_approval": "always",
}
],
input="Use the available service to find the requested information. Ask for approval before taking an action.",
)
print(response.output_text)
This is a request pattern, not a universal server configuration: the provider determines the URL, authentication, and available tools. For a private server, use its Secure MCP Tunnel configuration and tunnel_id instead of treating an inaccessible local address as a public server URL. If OAuth is required, complete that setup as instructed by the provider.
Choose an approval policy deliberately
- Approval required: Prefer this for sensitive actions, for tools that can change records or trigger transactions, and while validating a new server. A human can inspect the proposed tool call before it proceeds.
- Automatic calls: Consider this only when the server and its actions are trusted, the workflow is well bounded, and you have reviewed the consequences of each exposed tool. Convenience does not remove the need for safeguards.
- Review returned content: Treat tool results and URLs as external input. A model can encounter misleading instructions or prompt-injection content in material returned by a service; do not let untrusted content silently authorize a sensitive action.
Send a PDF to the Responses API
To ask a model to read a PDF, add an input_file content item to the request. The file can be supplied as PDF data with a filename and the MIME type application/pdf, or by using a file ID. PDF understanding can include extracted text and page images, so a visually complex document may consume more tokens than its extracted text alone suggests.
Runnable Python example with a local PDF
This example encodes a local PDF as a data URL and asks a vision-capable model to summarize it. Set OPENAI_API_KEY and replace the path and question as needed. The request uses detail set to auto; the documented choices are auto, low, and high.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11pip install openai
import base64
import os
from pathlib import Path
from openai import OpenAI
pdf_path = Path("report.pdf")
pdf_data = base64.b64encode(pdf_path.read_bytes()).decode("ascii")
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
response = client.responses.create(
model="gpt-4o",
input=[
{
"role": "user",
"content": [
{
"type": "input_file",
"filename": pdf_path.name,
"file_data": f"data:application/pdf;base64,{pdf_data}",
"detail": "auto",
},
{
"type": "input_text",
"text": "Summarize the report and identify its main conclusions.",
},
],
}
],
)
print(response.output_text)
PDF limits and practical choices
- Size: A single file is limited to 50 MB. The combined files in one request are also limited to 50 MB.
- Model: Visual PDF parsing requires a vision-capable model, such as GPT-4o or later. Use an appropriate model when pages contain charts, diagrams, scans, or other visual information.
- Detail: Use
autofor the general case. Chooselowwhen lower visual detail is acceptable; choosehighwhen page imagery needs closer inspection. Higher visual detail can increase token usage. - Question design: Ask for a defined result—such as a summary, extracted table, or comparison of named sections—instead of an open-ended “analyze this” request. For consequential work, verify quoted figures and conclusions against the source pages.
If the request exceeds a size limit, reduce or split the files before sending them. Splitting a PDF into several requests can make it easier to isolate sections, but the 50 MB combined-file limit still applies to each individual request.
Generate or edit an image with the Images API
The Images API supports image generation, edits, and variations from prompts and/or input images. GPT image models return image data in base64 form. Documented controls include output format (png, webp, or jpeg), quality, background, and sizes including 1024x1024, 1024x1536, and 1536x1024.
Runnable Python example: generate and save a PNG
This example requests a square PNG and writes the returned base64 image bytes to disk. Install the SDK, set OPENAI_API_KEY, then run it. Adjust the prompt and supported generation settings for your intended image.
pip install openai
import base64
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
result = client.images.generate(
model="gpt-image-1",
prompt="A clean editorial illustration of a small greenhouse on a city rooftop at dawn, no text",
size="1024x1024",
quality="high",
output_format="png",
)
image_bytes = base64.b64decode(result.data[0].b64_json)
with open("greenhouse.png", "wb") as image_file:
image_file.write(image_bytes)
Generation, editing, and variations are different operations
- Generate: Provide a text prompt to create a new image. Be specific about the subject, composition, style, and any content that should not appear.
- Edit: Provide an input image and a prompt describing the requested change. Use this when the output should be based on an existing image rather than a new scene.
- Vary: Provide an image as the starting point for variations, where supported. This is useful when exploring alternatives while retaining a relationship to the source image.
Choose the output format based on the downstream use: PNG, WebP, and JPEG are documented output choices. Pick a documented size that suits the intended layout, and select quality and background settings according to the job. The examples above show one generation configuration; they do not imply that every model or operation accepts every option in the same way.
Free tools Windows power users keep installed
One-click scans. No signup required.
Can ChatGPT generate video now?
Not through the documented Sora 2 models or Videos API. OpenAI’s Videos API reference states that the Sora 2 models and Videos API were shut down on September 24, 2026, are no longer available, and have no one-to-one replacement API. This status is current as of September 29, 2026. Do not rely on old /v1/videos code examples as runnable instructions.
This is a specific availability statement about the documented Sora 2 offering. It does not establish that no video tool exists anywhere, nor does it promise a replacement. If a third-party MCP server offers a video-related tool, its availability and terms are controlled by that provider; it is not evidence that the shut-down OpenAI Videos API has returned.
Security, privacy, and operational checks for MCP
OpenAI warns that remote MCP servers are third-party services that OpenAI has not verified. A server may access, send, or receive data. Treat connecting an MCP server as a trust and data-sharing decision, not merely a configuration step.
- Use a trusted provider-hosted server. Confirm who operates it and what service it represents before sending prompts, files, or other information.
- Require approval for sensitive actions. Keep developer approval on when a tool can perform consequential operations, especially during initial setup.
- Inspect tool-returned URLs. Review destinations returned by tools rather than assuming they are safe or relevant.
- Log data shared with servers. Keep an appropriate record of what your integration sends to an MCP provider. Do not assume the provider’s retention or handling policy from the fact that it supports MCP; check that provider’s terms.
- Limit what you send. Only include the information necessary for the tool to do its job. Apply the same care to PDFs and other sensitive content as to any external service.
For production use, also decide who can configure servers and approval policies, how credentials are provisioned, and how access is revoked. A working connection is not by itself a review of authorization, logging, or prompt-injection defenses.
Rank #3
Need a clean screenshot of a web page as an input?
A screenshot can be useful when the source you need to inspect is a web page rather than a document or image file. ScreenshotNeo is a separate website screenshot API and MCP server for developers, made by Yorker Media; it is not an OpenAI media-generation endpoint. Its API accepts one GET request with a URL and returns a screenshot or PDF. See ScreenshotNeo for the service and its API documentation.
Or skip the browser setup
Instead of installing and scripting a browser, request a screenshot directly:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Before capture, ScreenshotNeo accepts the cookie or consent banner like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents and MCP clients. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month—no card required.
Troubleshooting common problems
The MCP connection cannot reach the server
Check that the public server_url is the provider’s reachable endpoint, not a private machine address. For a private or on-premises server, use the documented Secure MCP Tunnel route and its tunnel_id. Confirm any OAuth setup required by the server provider.
The model does not call the tool
Confirm that the server is included in the request and that its tools fit the task in your prompt. MCP enables access to external tools; it does not guarantee that a particular server has the capability you want or that every response will need a tool call. Review the approval policy as well: a call configured for developer approval may be waiting for that approval.
A PDF request is rejected or misses visual content
Check the PDF MIME type, filename and input representation. Make sure the single file and all files combined in the request each stay within 50 MB. If the document depends on page images, use a vision-capable model such as GPT-4o or later and set an appropriate detail level.
The PDF request uses more tokens than expected
PDF parsing may include both extracted text and page images. Try detail: "low" if lower visual detail is sufficient, or narrow the request to the pages and questions that matter. A shorter prompt does not remove the document’s image-processing cost by itself.
Rank #4
The saved image file is invalid or empty
GPT image output is returned as base64 image data. Decode that value before writing it as a binary file, as in the Python example, and use a filename extension that matches the requested output format. Do not save the base64 text as though it were already PNG or JPEG bytes.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
An old video example no longer works
The documented Sora 2 Videos API was shut down on September 24, 2026. Treat old /v1/videos snippets as legacy examples, not a currently supported workflow; there is no one-to-one replacement API identified in the current reference.
FAQ
The answers below address terminology and setup decisions not covered by the workflow steps above.
Frequently Asked Questions
Is an MCP server the same thing as a ChatGPT plugin?
No. MCP is a protocol for connecting a model to external tools and services. The integration described here configures an MCP server as a tool in an API request; it is not a claim that every ChatGPT interface has the same server configuration.
Can I use the same MCP server to read PDFs and generate images?
Only if that particular server exposes tools for those tasks. MCP itself does not provide PDF parsing or image generation; those are separate API capabilities.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsDoes the shutdown date mean every video-generation service is unavailable?
No. The stated shutdown applies to OpenAI’s Sora 2 models and documented Videos API. It does not establish the status of unrelated services.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




