node-wire-http
Generic HTTP connector for Node Wire. Lets an agent or app call any REST endpoint (GET, POST,
PUT, PATCH or DELETE) without a dedicated connector, while blocking requests to internal
network addresses.
Part of Node Wire. Every call runs through the Node Wire runtime, so it gets input validation, retries with a circuit breaker, scope policy, a shared error taxonomy, and OpenTelemetry tracing. A Node Wire host exposes each action over REST, gRPC and MCP.
Install
pip install node-wire-http
This pulls in node-wire-runtime. Pre-releases
are published as X.Y.ZbN; install one with pip install --pre node-wire-http. To install
every connector at once, use node-wire-connectors.
The wheel is pure Python (py3-none-any) and installs on CPython 3.11, 3.12 and 3.13 on any
OS and CPU.
Actions
The connector registers as http_generic. MCP tool names are <connector_id>_<action>, with
dots replaced by underscores.
| Action | MCP tool | What it does |
|---|---|---|
request |
http_generic_request |
Sends one HTTP request (method, URL, query parameters, headers, body) and returns the status code, headers and body |
Configuration
Add the connector to config/connectors.yaml. It needs no credentials: the whole request is the
action payload.
connectors:
http_generic:
enabled: true
exposed_via: ["rest", "grpc", "mcp"]
| Variable | Purpose |
|---|---|
NW_HTTP_GENERIC_ALLOWED_HOSTS |
Optional. Comma- or space-separated hostnames; when set, requests to any other host are refused |
Usage
Set NW_ALLOWED_CONNECTORS=http_generic (comma-separate several). Node Wire loads only the
connectors listed there, and discovers them through the node_wire.connectors entry point.
A Node Wire host (the REST, gRPC or MCP server, or ConnectorFactory) then builds the connector
from the configuration above. See Use a connector.
Because this connector needs no credentials, you can also run it directly with only the PyPI packages installed:
import asyncio
import os
os.environ["NW_ALLOWED_CONNECTORS"] = "http_generic"
os.environ["NW_HTTP_GENERIC_ALLOWED_HOSTS"] = "httpbin.org"
from node_wire_runtime import get_connector_registry
from node_wire_runtime.connector_registry import auto_register
async def main() -> None:
auto_register()
connector = get_connector_registry()["http_generic"]()
response = await connector.run(
{"action": "request", "method": "GET", "url": "https://httpbin.org/get"}
)
print(response.success, response.data["status_code"])
asyncio.run(main())
Security notes
- Requests to loopback, private and link-local addresses and to cloud metadata endpoints are refused. The check runs when the payload is validated, and again against the resolved IP address at connection time.
NW_HTTP_GENERIC_ALLOWED_HOSTSnarrows egress to an explicit allowlist. Set it in production.- Logs omit query strings and URL fragments.
Documentation
- Node Wire on GitHub: source, issues and full documentation
- Connector reference
- Configuration
- Error codes
- Changelog
License
Apache-2.0. See LICENSE.
Metadata
Release files for node-wire-http 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| node_wire_http-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / node_wire_http-1.1.0-py3-none-any.whl
| Download URL | node_wire_http-1.1.0-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
71329513a0862ce9bca3de7d4b4a4efc3fbef24912d4835a0977edc09bd3ce53
|
|
BLAKE2b-256 checksum How to use checksums |
ead3c3089be5206cdf870bca0cef99c7e86a34fc4688e5cac974d30444eee287
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for node-wire-http 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for node_wire_http-1.1.0-py3-none-any.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.