@paretools/http 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +79 -0
  2. package/package.json +3 -3
package/README.md ADDED
@@ -0,0 +1,79 @@
1
+ # @paretools/http
2
+
3
+ [![npm](https://img.shields.io/npm/v/@paretools/http.svg)](https://www.npmjs.com/package/@paretools/http)
4
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Dave-London/Pare/blob/main/LICENSE)
5
+
6
+ **Structured, token-efficient HTTP requests for AI agents.** Wraps [curl](https://curl.se/) with typed JSON output including status, headers, body, and timing.
7
+
8
+ Part of the [Pare](https://github.com/Dave-London/Pare) suite of MCP servers.
9
+
10
+ ## Tools (4)
11
+
12
+ | Tool | Description |
13
+ | --------- | ------------------------------------------------------- |
14
+ | `request` | Make an HTTP request with any method, headers, and body |
15
+ | `get` | Convenience GET request (no body) |
16
+ | `post` | Convenience POST request (body required) |
17
+ | `head` | HEAD request returning headers only (no response body) |
18
+
19
+ ## Quick Start
20
+
21
+ ```bash
22
+ npx -y @paretools/http
23
+ ```
24
+
25
+ Add to your MCP client config:
26
+
27
+ ```json
28
+ {
29
+ "mcpServers": {
30
+ "pare-http": {
31
+ "command": "npx",
32
+ "args": ["-y", "@paretools/http"]
33
+ }
34
+ }
35
+ }
36
+ ```
37
+
38
+ ## Example
39
+
40
+ **`get` output:**
41
+
42
+ ```json
43
+ {
44
+ "status": 200,
45
+ "statusText": "OK",
46
+ "headers": {
47
+ "content-type": "application/json",
48
+ "content-length": "1234"
49
+ },
50
+ "body": "{\"id\": 1, \"name\": \"example\"}",
51
+ "timing": { "total": 0.125 },
52
+ "size": 1234,
53
+ "contentType": "application/json"
54
+ }
55
+ ```
56
+
57
+ ## Security
58
+
59
+ - Only `http://` and `https://` URL schemes are allowed (`file://`, `ftp://`, etc. are blocked)
60
+ - Header values are validated against CRLF injection
61
+ - Request body is passed via `--data-raw` to prevent curl `@file` expansion
62
+ - Redirect hops limited to 10
63
+
64
+ ## Prerequisites
65
+
66
+ - [curl](https://curl.se/) (pre-installed on most systems)
67
+
68
+ ## Compatible Clients
69
+
70
+ Works with any MCP-compatible client: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Claude Desktop](https://claude.ai/download), [Cursor](https://cursor.com), [Windsurf](https://codeium.com/windsurf), [VS Code / GitHub Copilot](https://code.visualstudio.com), [Cline](https://github.com/cline/cline), [Roo Code](https://roocode.com), [Zed](https://zed.dev), [Continue.dev](https://continue.dev), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [OpenAI Codex](https://openai.com/index/codex/)
71
+
72
+ ## Links
73
+
74
+ - [Pare monorepo](https://github.com/Dave-London/Pare)
75
+ - [MCP protocol](https://modelcontextprotocol.io)
76
+
77
+ ## License
78
+
79
+ [MIT](https://github.com/Dave-London/Pare/blob/main/LICENSE)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@paretools/http",
3
- "version": "0.7.0",
4
- "mcpName": "io.github.Dave-London/http",
3
+ "version": "0.8.0",
4
+ "mcpName": "io.github.Dave-London/pare-http",
5
5
  "description": "MCP server for HTTP requests (curl) with structured, token-efficient output",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -51,7 +51,7 @@
51
51
  "dependencies": {
52
52
  "@modelcontextprotocol/sdk": "^1.26.0",
53
53
  "zod": "^4.3.6",
54
- "@paretools/shared": "0.6.0"
54
+ "@paretools/shared": "0.8.1"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/node": "^25.2.3",