Un servidor MCP para realizar peticiones HTTP
Project description
LIMPIO
Un servidor MCP (Model Context Protocol) que proporciona herramientas para realizar peticiones HTTP de manera segura y eficiente.
🚀 Características
- ✅ Soporte completo para métodos HTTP: GET, POST, PUT, DELETE
- ✅ Manejo robusto de errores y timeouts configurables
- ✅ Soporte para headers personalizados y parámetros de consulta
- ✅ Capacidad para enviar datos JSON y form-data
- ✅ Logging contextual integrado
- ✅ Manejo seguro de contenido binario
- ✅ Validación de parámetros con Pydantic
📦 Instalación
Desde PyPI (próximamente)
### `http_put`
Realiza peticiones HTTP PUT.
**Parámetros:** (Igual que `http_post`)
**Ejemplo:**
```python
result = await http_put(
url="https://api.ejemplo.com/actualizar/123",
json={"nombre": "Nuevo nombre"}
)
http_delete
Realiza peticiones HTTP DELETE.
Parámetros:
url(str): URL de destinoparams(dict, opcional): Parámetros de consultaheaders(dict, opcional): Headers HTTP personalizadostimeout(int, opcional): Timeout en segundos (1-60, default: 30)
Ejemplo:
result = await http_delete(
url="https://api.ejemplo.com/eliminar/123",
headers={"Authorization": "Bearer token"}
)
📊 Formato de Respuesta
Todas las herramientas devuelven un diccionario con la siguiente estructura:
{
"status_code": 200, # Código de estado HTTP
"headers": { # Headers de respuesta
"content-type": "application/json",
"content-length": "150"
},
"content": "...", # Contenido de la respuesta
"elapsed_time": 0.234 # Tiempo de respuesta en segundos
}
Notas sobre el contenido:
- Para contenido de texto: se devuelve como string
- Para contenido binario: se muestra como
"[Contenido binario no mostrable]"
⚠️ Manejo de Errores
El servidor maneja los siguientes tipos de errores:
- Timeout: Cuando la petición excede el tiempo límite
- Conexión: Cuando no se puede conectar al servidor
- HTTP: Errores de estado HTTP (4xx, 5xx)
- Formato: Cuando el contenido no se puede procesar
Todos los errores se capturan y se reportan con mensajes descriptivos.
📄 Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENCE para detalles.
👨💻 Autor
Alejandro Cuartas
- Email: alejandro.cuartas@yahoo.com
- GitHub: @alejandrocuartas
⭐ Si este proyecto te es útil, no olvides darle una estrella en GitHub!bash
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_requests-0.3.3.tar.gz.
File metadata
- Download URL: mcp_requests-0.3.3.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c427d1e3436a86dc7b40a8d60ddf3de556af64c4eeabf4db9363c6e2bfc1acc6
|
|
| MD5 |
118dd9fdda0fdcbd3a20d351f3129790
|
|
| BLAKE2b-256 |
e8f0d3cade72c46ae333c0c977584fbc5b38742ff666f65ea941f9a9a6e835db
|
File details
Details for the file mcp_requests-0.3.3-py3-none-any.whl.
File metadata
- Download URL: mcp_requests-0.3.3-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f560ac586347cda4f5b5b78acf68e3173e6580c8af3b32af8b491766c70cfbbc
|
|
| MD5 |
2156fd6fb286724c37853e81a42c2391
|
|
| BLAKE2b-256 |
426acf50570997b647767979e2a9b9e351455dbd2f0f4fa0dfee876f8b446f71
|