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
Metadata
Release files for mcp-requests 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_requests-0.3.3.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_requests-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.6 kB
Release files / mcp_requests-0.3.3.tar.gz
| Download URL | mcp_requests-0.3.3.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c427d1e3436a86dc7b40a8d60ddf3de556af64c4eeabf4db9363c6e2bfc1acc6
|
|
BLAKE2b-256 checksum How to use checksums |
e8f0d3cade72c46ae333c0c977584fbc5b38742ff666f65ea941f9a9a6e835db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / mcp_requests-0.3.3-py3-none-any.whl
| Download URL | mcp_requests-0.3.3-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f560ac586347cda4f5b5b78acf68e3173e6580c8af3b32af8b491766c70cfbbc
|
|
BLAKE2b-256 checksum How to use checksums |
426acf50570997b647767979e2a9b9e351455dbd2f0f4fa0dfee876f8b446f71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|