WebToolsMcp 1.0.0

dotnet tool install --global WebToolsMcp --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local WebToolsMcp --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=WebToolsMcp&version=1.0.0
                    
nuke :add-package WebToolsMcp --version 1.0.0
                    

WebToolsMcp

Pure .NET 10 MCP (Model Context Protocol) server giving LM Studio models internet access. No Node.js / NPM required.

Tools

  • web_search(query, maxResults) — DuckDuckGo web search (no API key needed). Skips ad results and reports DDG bot-detection blocks (HTTP 202/403) explicitly.
  • fetch_url(url, startIndex, maxChars) — download a page and return readable plain text, with startIndex pagination for long pages.

Security

fetch_url has an SSRF guard: it refuses URLs (and redirect hops — redirects are followed manually, max 5) that resolve to loopback, private (RFC1918), link-local (incl. the 169.254.169.254 cloud metadata endpoint), CGNAT, or multicast addresses.

Note: DuckDuckGo blocks clients whose browser-like headers don't match their TLS fingerprint, so this server intentionally sends an honest minimal User-Agent — don't "upgrade" it to fake Chrome headers.

Install

Option 1: dotnet tool (needs the .NET 10 SDK or runtime)

dotnet tool install -g WebToolsMcp

This puts a webtools-mcp command on your PATH.

Option 2: standalone binary (no .NET required)

Download the archive for your platform from Releases (win-x64, win-arm64, linux-x64, linux-arm64, osx-x64, osx-arm64) and extract WebToolsMcp.exe (or WebToolsMcp) anywhere.

Option 3: build from source

dotnet publish -c Release -o publish

Hook into LM Studio

LM Studio ≥ 0.3.17 supports MCP servers. Open the Program tab (right sidebar in chat) → Install → Edit mcp.json, and add (adjust command to where you installed it):

{
  "mcpServers": {
    "web-tools": {
      "command": "webtools-mcp"
    }
  }
}

If you used the standalone binary instead, point command at the full path, e.g. "C:\\Tools\\WebToolsMcp.exe".

Save, toggle the server on, and enable the web_search / fetch_url tools in chat. Use a model with good tool-calling support (e.g. Qwen3, Llama 3.1+) so it actually invokes the tools.

Notes

  • stdout is reserved for the MCP protocol; all logs go to stderr.
  • The search scrapes DuckDuckGo's HTML endpoint; heavy usage may get rate-limited.
  • fetch_url truncates at maxChars (default 8000) to protect the model's context.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.0 131 8/15/2026