bob-ddg-mcp
by scprotz
README.md
# bob-ddg-mcp
A DuckDuckGo web search + document fetch MCP server for [IBM Bob](https://www.ibm.com/products/ibm-bob).
Gives Bob two live-internet tools:
- **`search`** — DuckDuckGo web search (no API key, no cost)
- **`fetch`** — Read any URL or PDF as clean text
## Requirements
- Python 3.10 or later
- IBM Bob IDE
## Install
```bash
git clone https://github.com/scprotz/bob-ddg-mcp.git
cd bob-ddg-mcp
python install.py
```
`install.py` will:
1. Create a dedicated `.venv` inside the project folder
2. Install dependencies (`mcp`, `pypdf`)
3. Verify the server starts correctly
4. Print the exact JSON snippet to add to Bob's MCP config
## Configure Bob
After running `install.py`, add the printed snippet to your Bob MCP config.
**Global** (applies to all workspaces):
```
~/.bob/settings/mcp.json # Windows: %USERPROFILE%\.bob\settings\mcp.json
```
**Project-level** (this workspace only):
```
.bob/mcp.json
```
Merge into the `mcpServers` object — the exact paths are printed by `install.py` and saved to `mcp-config-snippet.json`.
Then in Bob: **Settings ⚙️ → MCP tab → refresh**.
## Usage
Just ask Bob naturally:
```
Search for IBM Storage Scale 5.2 release notes
Fetch https://example.com/doc.pdf and summarize it
What does this page say? https://www.ibm.com/support/pages/...
```
Bob will call `search` or `fetch` automatically as needed.
### Tool reference
| Tool | Parameters | Description |
|---|---|---|
| `search` | `query` (str), `max_results` (int, default 5) | DuckDuckGo web search |
| `fetch` | `url` (str), `max_chars` (int, default 20000) | Fetch HTML page or PDF as text |
## Updating
```bash
cd bob-ddg-mcp
git pull
python install.py # re-runs if dependencies changed
```
Or just `git pull` — if only `ddg_search.py` changed, no reinstall is needed. Bob hot-reloads the script.
## Changelog
See [CHANGELOG.md](CHANGELOG.md).
## Notes
- DuckDuckGo does not have an official public API. This server uses their unofficial search endpoint, which works reliably for personal/productivity use.
- No data is sent to any third party beyond DuckDuckGo and the URLs you fetch.
- All processing is local — the venv runs on your machine as a Bob child process.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues