Skip to main content

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_HOSTS narrows egress to an explicit allowlist. Set it in production.
  • Logs omit query strings and URL fragments.

Documentation

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)

Table of built distributions (wheels) for node-wire-http 1.1.0
File Interpreter ABI Platform
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 log

Security 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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page