Skip to main content
Glama
alexandru2882

URL Text Fetcher MCP Server

README.md
### URL Text Fetcher MCP Server

Tiny MCP server for LM Studio that adds two tools:
- `fetch_url_text(url)`: returns visible page text
- `fetch_page_links(url)`: returns all page links

---

### Quick start
```bash
cd /Users/lex/Learning/URL-Fetcher-LM-Studio-MCP-Server
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip setuptools wheel
python -m pip install -e .
```

---

### LM Studio setup (paste this into `mcp.json`)
Use the absolute interpreter to avoid ENOENT errors.

```json
{
  "mcpServers": {
    "url-text-fetcher": {
      "command": "/Users/lex/Learning/URL-Fetcher-LM-Studio-MCP-Server/.venv/bin/python",
      "args": ["-m", "url_text_fetcher.mcp_server"],
      "cwd": "/Users/lex/Learning/URL-Fetcher-LM-Studio-MCP-Server"
    }
  }
}
```

Alternative using the console script:

```json
{
  "mcpServers": {
    "url-text-fetcher": {
      "command": "/Users/lex/Learning/URL-Fetcher-LM-Studio-MCP-Server/.venv/bin/url-text-fetcher",
      "args": [],
      "cwd": "/Users/lex/Learning/URL-Fetcher-LM-Studio-MCP-Server"
    }
  }
}
```

After saving, restart LM Studio if the tool does not appear.

---

### Working prompts (use inside LM Studio)
- **Summarize a real page**: “Use `url-text-fetcher.fetch_url_text` on `https://httpbin.org/html`. Give a two‑sentence summary.”
- **List links from a real site**: “Call `url-text-fetcher.fetch_page_links` for `https://www.python.org/` and return the first 10 HTTPS links.”
- **Answer using content**: 
“Fetch text from `https://docs.python.org/3/whatsnew/3.12.html`. What is one notable change in Python 3.12?”
"Fetch text from https://www.python.org/. What’s the latest Python release mentioned and when was it announced?"

---

### Troubleshooting
- ENOENT `spawn python`: Use the absolute interpreter shown above in `mcp.json`.
- Network/SSL errors: try another URL; some sites block scripted fetches.

---

### Local run (optional)
```bash
source /Users/lex/Learning/URL-Fetcher-LM-Studio-MCP-Server/.venv/bin/activate
python -m url_text_fetcher.mcp_server
```

TDQS

B3.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: fetch_page_links extracts links from a page, while fetch_url_text downloads visible text from a URL. There is no overlap or ambiguity between these operations, making it easy for an agent to select the correct tool based on the task.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'fetch_' as the prefix, followed by a descriptive noun (page_links, url_text). This predictable naming convention enhances readability and usability for agents.

Tool Count2/5

With only two tools, the server feels thin for its purpose of URL text fetching. While the tools cover basic operations, the scope is limited and lacks functionality like handling errors, filtering content, or supporting different content types, which could hinder agent workflows.

Completeness2/5

The tool set is severely incomplete for a URL text fetcher. It lacks essential operations such as fetching metadata, handling HTTP status codes, extracting specific elements (e.g., images, tables), or providing configuration options (e.g., timeout, headers), leaving significant gaps that will likely cause agent failures in real-world scenarios.

Maintenance

ActivityInactive
ResponsivenessNo issues