@effect-x/ultimate-search 0.1.1 → 0.1.3
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 +26 -132
- package/SKILL.md +8 -20
- package/dist/cli.js +1291 -265
- package/dist/cli.js.map +1 -329
- package/package.json +31 -25
- package/src/commands/fetch.ts +1 -4
- package/src/commands/map.ts +2 -8
- package/src/commands/search/dual.ts +1 -4
- package/src/commands/search/tavily.ts +1 -4
- package/src/providers/grok/schema.ts +3 -5
- package/src/services/firecrawl-fetch.ts +1 -4
- package/src/services/read-only-mcp.ts +1 -4
- package/src/services/web-fetch-schema.ts +1 -3
- package/src/services/web-fetch.ts +2 -7
package/README.md
CHANGED
|
@@ -1,56 +1,33 @@
|
|
|
1
1
|
# @effect-x/ultimate-search
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Node-first web search CLI and read-only MCP server for agents and automation.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Highlights
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- exposes `search`, `fetch`, and `map` commands for common agent research workflows
|
|
8
|
+
- supports Grok, Tavily, and Firecrawl-backed retrieval flows behind one CLI surface
|
|
9
|
+
- runs as a read-only MCP stdio server for tool-aware agent environments
|
|
10
|
+
- bundles the CLI with `tsdown` while keeping Bun for dependency management and local development
|
|
11
|
+
- publishes through a single-package Changesets workflow with npm provenance enabled
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
## Install
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `search grok` for synthesis-oriented web search
|
|
15
|
-
- `search tavily` for structured search with ranking and recency controls
|
|
16
|
-
- `search dual` for cross-checking results across Grok and Tavily
|
|
17
|
-
- `fetch` for page retrieval with Tavily Extract first and FireCrawl fallback
|
|
18
|
-
- `map` for site URL discovery and documentation tree exploration
|
|
19
|
-
- `mcp stdio` for exposing the same read-only surface to MCP clients
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
Run without installing:
|
|
15
|
+
Run it without installing:
|
|
24
16
|
|
|
25
17
|
```bash
|
|
26
18
|
npx @effect-x/ultimate-search --help
|
|
27
19
|
```
|
|
28
20
|
|
|
29
|
-
Or
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
pnpm dlx @effect-x/ultimate-search --help
|
|
33
|
-
bunx @effect-x/ultimate-search --help
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Install globally:
|
|
21
|
+
Or install it globally:
|
|
37
22
|
|
|
38
23
|
```bash
|
|
39
24
|
npm install --global @effect-x/ultimate-search
|
|
40
25
|
ultimate-search --help
|
|
41
26
|
```
|
|
42
27
|
|
|
43
|
-
##
|
|
44
|
-
|
|
45
|
-
### 1. Configure environment variables
|
|
46
|
-
|
|
47
|
-
Copy the example file:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
cp .env.example .env
|
|
51
|
-
```
|
|
28
|
+
## Usage
|
|
52
29
|
|
|
53
|
-
|
|
30
|
+
Set the provider credentials you need in your shell or `.env` file:
|
|
54
31
|
|
|
55
32
|
- `GROK_API_URL`
|
|
56
33
|
- `GROK_API_KEY`
|
|
@@ -58,118 +35,35 @@ At minimum, configure:
|
|
|
58
35
|
- `TAVILY_API_KEY`
|
|
59
36
|
- `FIRECRAWL_API_KEY` for the `fetch` fallback path
|
|
60
37
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npx @effect-x/ultimate-search search grok --query "latest bun release"
|
|
65
|
-
npx @effect-x/ultimate-search search tavily --query "effect cli docs" --depth advanced --max-results 5
|
|
66
|
-
npx @effect-x/ultimate-search search dual --query "FastAPI latest release" --include-answer --output llm
|
|
67
|
-
npx @effect-x/ultimate-search fetch --url "https://effect.website" --output llm
|
|
68
|
-
npx @effect-x/ultimate-search map --url "https://docs.tavily.com" --depth 2 --limit 100 --output llm
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### 3. Start the MCP server
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
npx @effect-x/ultimate-search mcp stdio
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Exposed read-only MCP tools:
|
|
78
|
-
|
|
79
|
-
- `search_grok`
|
|
80
|
-
- `search_tavily`
|
|
81
|
-
- `search_dual`
|
|
82
|
-
- `fetch`
|
|
83
|
-
- `map`
|
|
84
|
-
|
|
85
|
-
## Usage
|
|
86
|
-
|
|
87
|
-
### Output modes
|
|
88
|
-
|
|
89
|
-
- default output is human-readable text
|
|
90
|
-
- `--output llm` emits structured JSON for agents and automation
|
|
91
|
-
- if `AGENT=1` is set and `--output` is omitted, commands may default to `llm`
|
|
92
|
-
|
|
93
|
-
### Installed binary usage
|
|
38
|
+
Run a few common commands:
|
|
94
39
|
|
|
95
40
|
```bash
|
|
96
|
-
ultimate-search --
|
|
97
|
-
ultimate-search search
|
|
41
|
+
ultimate-search search grok --query "latest bun release"
|
|
42
|
+
ultimate-search search tavily --query "effect cli docs" --depth advanced --max-results 5
|
|
43
|
+
ultimate-search search dual --query "FastAPI latest release" --include-answer --output llm
|
|
44
|
+
ultimate-search fetch --url "https://effect.website" --output llm
|
|
45
|
+
ultimate-search map --url "https://docs.tavily.com" --depth 2 --limit 100 --output llm
|
|
98
46
|
ultimate-search mcp stdio
|
|
99
47
|
```
|
|
100
48
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
- `ultimate-search search grok --query "..."`
|
|
104
|
-
- `ultimate-search search tavily --query "..."`
|
|
105
|
-
- `ultimate-search search dual --query "..."`
|
|
106
|
-
- `ultimate-search fetch --url "..."`
|
|
107
|
-
- `ultimate-search map --url "..."`
|
|
108
|
-
- `ultimate-search mcp stdio`
|
|
109
|
-
|
|
110
|
-
## Configuration
|
|
111
|
-
|
|
112
|
-
### Required runtime variables
|
|
113
|
-
|
|
114
|
-
- `GROK_API_URL`
|
|
115
|
-
- `GROK_API_KEY`
|
|
116
|
-
- `TAVILY_API_URL`
|
|
117
|
-
- `TAVILY_API_KEY`
|
|
118
|
-
|
|
119
|
-
### Optional runtime variables
|
|
120
|
-
|
|
121
|
-
- `GROK_MODEL`
|
|
122
|
-
- `FIRECRAWL_API_URL`
|
|
123
|
-
- `FIRECRAWL_API_KEY`
|
|
124
|
-
- `AGENT`
|
|
49
|
+
## Development
|
|
125
50
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
Repository maintenance uses Bun. Published artifacts target Node.js 20+.
|
|
51
|
+
The repository uses Bun for dependency management and local commands. The published CLI targets Node.js 24+.
|
|
129
52
|
|
|
130
53
|
```bash
|
|
131
54
|
bun install
|
|
132
|
-
bun run build
|
|
133
|
-
node ./dist/cli.js --help
|
|
134
|
-
node ./dist/cli.js search grok --query "query"
|
|
135
|
-
node ./dist/cli.js mcp stdio
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
You can also run the source entry directly during development:
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
bun run ./src/cli.ts search grok --query "query"
|
|
142
|
-
bun run ./src/cli.ts mcp stdio
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## Quality Checks
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
55
|
bun run check
|
|
149
|
-
|
|
56
|
+
node ./dist/cli.js --help
|
|
150
57
|
```
|
|
151
58
|
|
|
152
|
-
## Release
|
|
153
|
-
|
|
154
|
-
This repository uses Changesets and GitHub Actions for versioning and publishing.
|
|
155
|
-
|
|
156
|
-
- release docs: `docs/publishing.md`
|
|
157
|
-
- contribution guide: `CONTRIBUTING.md`
|
|
158
|
-
- package skill instructions: `SKILL.md`
|
|
159
|
-
|
|
160
|
-
Before the first publish, make sure the target GitHub repository provides:
|
|
161
|
-
|
|
162
|
-
- an `NPM_TOKEN` secret
|
|
163
|
-
- npm publish access for the `@effect-x` scope
|
|
164
|
-
- trusted publishing / provenance setup if you want npm provenance enabled
|
|
165
|
-
|
|
166
|
-
## Skill Integration
|
|
59
|
+
## Release
|
|
167
60
|
|
|
168
|
-
|
|
61
|
+
This package uses Changesets plus the shared GitHub Actions release workflow.
|
|
169
62
|
|
|
170
63
|
```bash
|
|
171
|
-
|
|
172
|
-
|
|
64
|
+
bun run changeset
|
|
65
|
+
bun run version-packages
|
|
66
|
+
bun run release
|
|
173
67
|
```
|
|
174
68
|
|
|
175
69
|
## License
|
package/SKILL.md
CHANGED
|
@@ -9,26 +9,14 @@ Use `@effect-x/ultimate-search` as the default web search tool for agent workflo
|
|
|
9
9
|
|
|
10
10
|
## Primary Commands
|
|
11
11
|
|
|
12
|
-
| Use case
|
|
13
|
-
|
|
|
14
|
-
| Grok search
|
|
15
|
-
| Tavily search
|
|
16
|
-
| Dual-provider verification | `npx @effect-x/ultimate-search search dual --query "..."`
|
|
17
|
-
| Fetch a page
|
|
18
|
-
| Map a site
|
|
19
|
-
| Start MCP stdio
|
|
20
|
-
|
|
21
|
-
If the package is installed globally, you can use the `ultimate-search` binary directly.
|
|
22
|
-
|
|
23
|
-
## Environment
|
|
24
|
-
|
|
25
|
-
Make sure these environment variables are available before invoking the CLI:
|
|
26
|
-
|
|
27
|
-
- `GROK_API_URL`
|
|
28
|
-
- `GROK_API_KEY`
|
|
29
|
-
- `TAVILY_API_URL`
|
|
30
|
-
- `TAVILY_API_KEY`
|
|
31
|
-
- `FIRECRAWL_API_KEY` for the `fetch` fallback path
|
|
12
|
+
| Use case | Command |
|
|
13
|
+
| -------------------------- | ----------------------------------------------------------- |
|
|
14
|
+
| Grok search | `npx @effect-x/ultimate-search search grok --query "..."` |
|
|
15
|
+
| Tavily search | `npx @effect-x/ultimate-search search tavily --query "..."` |
|
|
16
|
+
| Dual-provider verification | `npx @effect-x/ultimate-search search dual --query "..."` |
|
|
17
|
+
| Fetch a page | `npx @effect-x/ultimate-search fetch --url "..."` |
|
|
18
|
+
| Map a site | `npx @effect-x/ultimate-search map --url "..."` |
|
|
19
|
+
| Start MCP stdio | `npx @effect-x/ultimate-search mcp stdio` |
|
|
32
20
|
|
|
33
21
|
## Tool Selection
|
|
34
22
|
|