wick-mcp 0.1.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.
package/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # Wick
2
+
3
+ Browser-grade web access for AI agents.
4
+
5
+ <!-- mcp-name: io.github.myleshorton/wick -->
6
+
7
+ Your AI agent gets blocked on the web. Wick fixes that — giving agents the same web access their human operators have, running locally from your own IP.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install -g wick-mcp
13
+ wick setup
14
+ ```
15
+
16
+ Or via Homebrew:
17
+
18
+ ```bash
19
+ brew tap myleshorton/wick && brew install wick
20
+ wick setup
21
+ ```
22
+
23
+ ## What it does
24
+
25
+ - **`wick_fetch`** — Fetch any webpage with browser-grade access. Returns clean markdown.
26
+ - **`wick_session`** — Manage cookies and sessions.
27
+ - **`wick_search`** — Web search (coming soon).
28
+
29
+ ## Links
30
+
31
+ - [Website](https://getwick.dev)
32
+ - [GitHub](https://github.com/myleshorton/wick)
package/bin/wick ADDED
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+ # Stub that gets replaced by the real binary during postinstall.
3
+ # If you see this, run: npm run postinstall
4
+ echo "Error: wick binary not installed. Run: npm run postinstall" >&2
5
+ exit 1
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "wick-mcp",
3
+ "version": "0.1.0",
4
+ "mcpName": "io.github.myleshorton/wick",
5
+ "description": "Browser-grade web access for AI agents. Gives MCP-compatible agents (Claude Code, Cursor, etc.) the same web access their human operators have.",
6
+ "keywords": ["mcp", "ai-agent", "web-fetch", "browser", "claude", "cursor"],
7
+ "homepage": "https://getwick.dev",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/myleshorton/wick.git"
11
+ },
12
+ "license": "MIT",
13
+ "bin": {
14
+ "wick": "bin/wick"
15
+ },
16
+ "scripts": {
17
+ "postinstall": "node scripts/install.js"
18
+ },
19
+ "os": ["darwin"],
20
+ "cpu": ["arm64"],
21
+ "files": [
22
+ "bin/",
23
+ "scripts/",
24
+ "README.md"
25
+ ]
26
+ }
@@ -0,0 +1,69 @@
1
+ const https = require("https");
2
+ const fs = require("fs");
3
+ const path = require("path");
4
+ const { execFileSync } = require("child_process");
5
+
6
+ const VERSION = "0.1.0";
7
+ const PLATFORM = `${process.platform}-${process.arch}`;
8
+
9
+ const ASSETS = {
10
+ "darwin-arm64": {
11
+ url: `https://github.com/myleshorton/wick/releases/download/v${VERSION}/wick-${VERSION}-darwin-arm64.tar.gz`,
12
+ sha256: "353f2262314fe2cad5760a9c72161c61b3d4da56e1c6749fa16112599f317570",
13
+ },
14
+ };
15
+
16
+ const asset = ASSETS[PLATFORM];
17
+ if (!asset) {
18
+ console.error(
19
+ `Wick does not yet have a prebuilt binary for ${PLATFORM}.\n` +
20
+ `Supported: ${Object.keys(ASSETS).join(", ")}\n` +
21
+ `See https://github.com/myleshorton/wick for build-from-source instructions.`
22
+ );
23
+ process.exit(1);
24
+ }
25
+
26
+ const binDir = path.join(__dirname, "..", "bin");
27
+ const binPath = path.join(binDir, "wick");
28
+ const tarPath = path.join(binDir, "wick.tar.gz");
29
+
30
+ if (fs.existsSync(binPath)) {
31
+ process.exit(0);
32
+ }
33
+
34
+ fs.mkdirSync(binDir, { recursive: true });
35
+
36
+ function download(url, dest) {
37
+ return new Promise((resolve, reject) => {
38
+ const file = fs.createWriteStream(dest);
39
+ https
40
+ .get(url, (res) => {
41
+ if (res.statusCode === 302 || res.statusCode === 301) {
42
+ download(res.headers.location, dest).then(resolve).catch(reject);
43
+ return;
44
+ }
45
+ if (res.statusCode !== 200) {
46
+ reject(new Error(`Download failed: HTTP ${res.statusCode}`));
47
+ return;
48
+ }
49
+ res.pipe(file);
50
+ file.on("finish", () => file.close(resolve));
51
+ })
52
+ .on("error", reject);
53
+ });
54
+ }
55
+
56
+ async function main() {
57
+ console.log(`Downloading wick ${VERSION} for ${PLATFORM}...`);
58
+ await download(asset.url, tarPath);
59
+
60
+ execFileSync("tar", ["xzf", tarPath, "-C", binDir]);
61
+ fs.unlinkSync(tarPath);
62
+ fs.chmodSync(binPath, 0o755);
63
+ console.log("Wick installed successfully.");
64
+ }
65
+
66
+ main().catch((err) => {
67
+ console.error(`Failed to install wick: ${err.message}`);
68
+ process.exit(1);
69
+ });