ChatGPT MCP Server
Pregunta a ChatGPT de forma anónima y lee la respuesta como markdown junto con las fuentes web que citó, como JSON estructurado.
Documentación
Servidor ChatGPT MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) alojado que brinda a Claude, Cursor, Windsurf y cualquier otro cliente MCP una herramienta de ChatGPT. Envía un mensaje de forma anónima y recibe la respuesta como markdown junto con las páginas web que ChatGPT consultó, como JSON estructurado, sin cuenta de OpenAI ni clave API propia.
1,000 créditos gratuitos cada mes, sin necesidad de tarjeta, lo que equivale a 100 mensajes.
https://mcp.hasdata.com/mcp?apis=chatgpt
Contenido
- Lo que necesitas
- Inicio rápido
- Ejemplos de mensajes
- Herramientas
- Errores y rutas de fallo
- Precios, plan gratuito y límites
- Cómo se compara
- Preguntas frecuentes
- Enlaces de HasData
- Desarrollo
- Contribuciones
- Licencia
Lo que necesitas
Un cliente MCP y una clave API de HasData desde el panel de control, que se crea gratuitamente sin tarjeta, y el plan gratuito cubre 100 llamadas al mes a la tarifa de 10 créditos. Este es un servidor remoto, por lo que la ruta más sencilla es una URL y un encabezado x-api-key, sin contenedor que ejecutar ni facturación de OpenAI en ningún punto del flujo. Un cliente que solo hable stdio lo alcanza mediante un lanzador ligero, publicado como @hasdata/chatgpt-mcp en npm y hasdata-chatgpt-mcp en PyPI, como se muestra a continuación.
Inicio rápido
La URL del servidor es la misma para todos los clientes. Lo probamos directamente en Claude Code y Claude Desktop. Los demás bloques siguen el formato documentado de cada cliente para un servidor remoto.
| Campo | Valor |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=chatgpt |
| Transporte | HTTP, transmisible |
| Encabezado de autenticación | x-api-key: HASDATA_API_KEY |
Los clientes con soporte OAuth pueden añadir la misma URL como conector e iniciar sesión sin poner una clave en un archivo de configuración.
Claude Code
claude mcp add --transport http chatgpt "https://mcp.hasdata.com/mcp?apis=chatgpt" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
{
"mcpServers": {
"chatgpt": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=chatgpt",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Cursor
{
"mcpServers": {
"chatgpt": {
"type": "streamable-http",
"url": "https://mcp.hasdata.com/mcp?apis=chatgpt",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
{
"servers": {
"chatgpt": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=chatgpt",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Ejemplos de mensajes
Mensajes, no código. Pega uno y el agente elige la herramienta por sí mismo. Cada uno está anotado con las llamadas que requiere, porque cada llamada exitosa cuesta 10 créditos.
Pregunta a ChatGPT cuál es el estado actual del programa Artemis y enumera las fuentes que utilizó.
Una llamada, 10 créditos. La respuesta y las fuentes llegan juntas.
Pregunta a ChatGPT la misma pregunta en alemán.
Una llamada, 10 créditos. La respuesta sigue el idioma del mensaje, así que escribe el mensaje en el idioma que quieras recibir.
Pregunta a ChatGPT qué pasó en IA esta semana, con Berlín como fecha actual.
Una llamada, 10 créditos. timezone es lo que fija el significado de "esta semana".
Haz la misma pregunta a ChatGPT tres veces y muestra dónde difieren las respuestas.
Tres llamadas, 30 créditos. Cada solicitud es una conversación nueva, por lo que no hay continuidad entre ellas.
Herramientas
| Herramienta | Qué devuelve |
|---|---|
hasdata_chatgpt_chat_getChatgptAnswer | La respuesta como markdown, las fuentes web que ChatGPT consultó con su dominio y título, el título de conversación que generó, el modelo que respondió y si se utilizó una búsqueda web. 10 créditos por llamada |
Una herramienta, 10 créditos por llamada exitosa.
Preguntar a ChatGPT
hasdata_chatgpt_chat_getChatgptAnswer
| Parámetro | Tipo | Obligatorio | Notas |
|---|---|---|---|
prompt | string | sí | La pregunta o instrucción, hasta 8000 caracteres |
timezone | string | Nombre de zona IANA como Europe/Berlin. Define lo que ChatGPT considera como hoy |
Todo se guarda bajo conversation. La respuesta está en answer como markdown, con title conteniendo el nombre que ChatGPT generó para el hilo, model el modelo que respondió y usedWebSearch indicando si recurrió a la web. finishReason y complete distinguen una respuesta truncada de una completa.
{
"conversation": {
"answer": "As of **October 5, 2026**, NASA's Artemis program has made substantial progress…",
"title": "Artemis developments cited",
"model": "gpt-5-6",
"usedWebSearch": true,
"finishReason": "stop",
"complete": true,
"sources": [
{ "title": "Artemis News - NASA", "url": "https://www.nasa.gov/artemis-news/", "domain": "www.nasa.gov" }
]
}
}
Errores y rutas de fallo
Tu cliente casi nunca ve un código de error HTTP de una llamada a herramienta. La capa MCP responde 200 y coloca el fallo dentro del resultado, con isError establecido en true y el motivo como texto.
sources es desigual y en parte ausente. En una respuesta medida con veinte fuentes, todas tenían title, url y domain, once tenían publishedDate y solo cinco tenían snippet. Lee cada campo de forma defensiva en lugar de asumir que la forma del primer elemento se mantiene para el resto.
Sin búsqueda web no hay fuentes. usedWebSearch es falso cuando ChatGPT responde solo con el modelo, y sources está entonces vacío o ausente. Un mensaje sobre un hecho estable suele tomar esa ruta, así que pide información actual cuando las citas sean el punto clave.
Cada llamada es una conversación nueva. No hay memoria entre solicitudes, por lo que un seguimiento debe llevar su propio contexto en el mensaje. conversationId identifica el hilo que respondió, no un hilo que puedas continuar.
Una respuesta truncada sigue siendo exitosa. Verifica complete y finishReason antes de tratar answer como la respuesta completa.
Cada llamada exitosa gasta créditos de la cuenta conectada. Una llamada que falla la validación no se factura.
Precios, plan gratuito y límites
La herramienta de ChatGPT cuesta 10 créditos por llamada exitosa. La longitud de la respuesta no cambia el precio.
El plan gratuito es de 1,000 créditos cada mes sin tarjeta, lo que equivale a 100 mensajes.
Los planes de pago comienzan en $59 al mes por 200,000 créditos, lo que equivale a 20,000 llamadas. El precio unitario baja en planes más grandes. Los números actuales están en la página de planes.
Cómo se compara
| API de OpenAI | Este servidor | |
|---|---|---|
| Cuenta | Tu propia cuenta y facturación de OpenAI | Una clave de HasData |
| Lo que obtienes | La respuesta del modelo | La respuesta más las fuentes web detrás de ella |
| Búsqueda web | Una herramienta separada que configuras | Incluida, con usedWebSearch informando si se ejecutó |
| Salida | Tu propio esquema | JSON analizado con las fuentes ya separadas |
Los dos no son sustitutos. La API de OpenAI es la opción correcta cuando necesitas mensajes de sistema, herramientas, transmisión y estado de conversación. Este servidor es la opción correcta cuando quieres lo que ChatGPT responde públicamente, con sus citas, y sin cuenta propia.
Preguntas frecuentes
¿Necesito una cuenta de OpenAI o una clave API?
No. El servidor responde de forma anónima a través de HasData, y la única credencial involucrada es tu clave de HasData.
¿Qué modelo responde?
El que ChatGPT sirva de forma anónima en ese momento. La respuesta lo informa en model, así que léelo en lugar de asumir. Una llamada medida devolvió gpt-5-6.
¿Puedo continuar una conversación?
No. Cada solicitud es un hilo nuevo sin memoria de los anteriores. Lleva el contexto en el mensaje en su lugar.
¿En qué idioma estará la respuesta?
En el idioma del mensaje. Pregunta en alemán y la respuesta llega en alemán, o pide explícitamente un idioma en el mensaje.
¿HasData está afiliada a OpenAI?
No. HasData es un proveedor independiente de datos web y no está afiliada, respaldada ni patrocinada por OpenAI. Todas las marcas comerciales pertenecen a sus propietarios.
Cumplimiento y datos personales
El servidor lee lo que ChatGPT responde públicamente a un visitante anónimo. No inicia sesión y no accede a conversaciones privadas ni a datos de cuenta.
Enlaces de HasData
| Página de producto y constructor de solicitudes | API de ChatGPT Scraper |
| Documentación de endpoint | Documentación de API de ChatGPT Scraper |
| Documentación del servidor | Documentación del servidor MCP |
| Todas las herramientas en un servidor | HasData/hasdata-mcp |
| Guías para clientes | Clientes MCP e integraciones |
| Planes y costos de créditos | Planes y costos de créditos |
Desarrollo
npm install
npm test
Las pruebas en test/ verifican el contrato de la herramienta, la parte que puede romperse sin un commit aquí. Comprueban que ?apis=chatgpt devuelve la única herramienta esperada, que su nombre y parámetro obligatorio no han cambiado, que lleva una descripción y que una llamada real sigue colocando la respuesta bajo conversation.
Contribuciones
La tabla de parámetros y el ejemplo anterior se leyeron del esquema en vivo y de llamadas reales, no de documentación. Una corrección es bienvenida cuando un campo o un modo de fallo haya cambiado. Abre un issue con la respuesta que viste.
Licencia
MIT