1- # Fetch MCP Server
21
3- An SSE Go implementation of the ` fetch ` MCP server that retrieves web content.
2+ <div align =" center " >
3+ <img src =" docs/gofetch.png " width =" 300 " >
4+
5+ [ ![ GitHub Release] [ release-img ]] [ release ]
6+ [ ![ Test] [ test-img ]] [ test ]
7+ [ ![ Go Report Card] [ go-report-img ]] [ go-report ]
8+ [ ![ License: Apache-2.0] [ license-img ]] [ license ]
9+ [ ![ GitHub Downloads] [ github-downloads-img ]] [ release ]
10+ ![ Docker Pulls] [ docker-pulls ]
11+ </div >
12+
13+ <!-- <img src="docs/gofetch.png" alt="gofetch" height="300" style="display: inline-block; vertical-align: top; margin-right: 20px;"><span style="display: inline-block; vertical-align: top;"> -->
14+
15+ An SSE Go implementation of the ` gofetch ` MCP server that retrieves web content.</span >
16+
417
518## Features
619
7- - ** Web Content Retrieval** : Fetches URLs and extracts textual content
20+ - ** Web Content Retrieval** : gofetches URLs and extracts textual content
821- ** Content Extraction** : Extract main content from web pages
922- ** Robots.txt Compliance** : Respects robots.txt rules (can be disabled)
1023- ** Configurable** : Supports custom user agents and proxy settings
@@ -38,8 +51,8 @@ but has the following benefits:
38511 . Clone the repository:
3952
4053 ``` bash
41- git clone https://github.com/StacklokLabs/fetch .git
42- cd fetch
54+ git clone https://github.com/StacklokLabs/gofetch .git
55+ cd gofetch
4356 ```
4457
45582 . Install dependencies:
@@ -74,40 +87,40 @@ The server will start and expose:
7487- ` --addr ` : Address to listen on (default: ":8080", can be set via MCP_PORT env
7588 var)
7689- ` --user-agent ` : Custom User-Agent string (default: "Mozilla/5.0 (compatible;
77- MCPFetchBot /1.0)")
90+ MCPGoFetchBot /1.0)")
7891- ` --ignore-robots-txt ` : Ignore robots.txt rules
7992- ` --proxy-url ` : Proxy URL for requests
8093
8194#### Examples
8295
8396``` bash
8497# Basic server on port 8080
85- ./fetch-mcp-server --addr :8080
98+ ./gofetch --addr :8080
8699
87100# Custom port with user agent
88- ./fetch-mcp-server --addr :3000 --user-agent " MyBot/1.0"
101+ ./gofetch --addr :3000 --user-agent " MyBot/1.0"
89102
90103# Ignore robots.txt on custom port
91- ./fetch-mcp-server --addr :8080 --ignore-robots-txt
104+ ./gofetch --addr :8080 --ignore-robots-txt
92105
93106# Use proxy
94- ./fetch-mcp-server --addr :8080 --proxy-url " http://proxy.example.com:8080"
107+ ./gofetch --addr :8080 --proxy-url " http://proxy.example.com:8080"
95108
96109# Use environment variable for port
97- MCP_PORT=9090 ./fetch-mcp-server
110+ MCP_PORT=9090 ./gofetc
98111```
99112
100113### Docker Usage
101114
102115``` bash
103116# Build Docker image
104- docker build -t fetch-mcp-server .
117+ docker build -t gofetch .
105118
106119# Run with default settings
107- docker run -p 8080:8080 fetch-mcp-server
120+ docker run -p 8080:8080 gofetch
108121
109122# Run with custom arguments
110- docker run -p 9090:9090 fetch-mcp-server --addr :9090
123+ docker run -p 9090:9090 gofetch --addr :9090
111124```
112125
113126### Testing the Server
@@ -124,7 +137,7 @@ curl -N http://localhost:8080/sse
124137
125138## MCP Tools
126139
127- The server provides a single tool called ` fetch ` with the following parameters:
140+ The server provides a single tool called ` gofetch ` with the following parameters:
128141
129142### Tool: ` fetch `
130143
@@ -191,7 +204,7 @@ task deps
191204
192205## Running as an MCP Server with ToolHive
193206
194- fetch can be run as a Model Context Protocol (MCP) server using
207+ gofetch can be run as a Model Context Protocol (MCP) server using
195208[ ToolHive] ( https://github.com/stacklok/toolhive ) , which simplifies the
196209deployment and management of MCP servers.
197210
@@ -203,21 +216,21 @@ deployment and management of MCP servers.
203216
204217### Running fetch with ToolHive (Recommended)
205218
206- The easiest way to run fetch is using the packaged version available in
219+ The easiest way to run gofetch is using the packaged version available in
207220ToolHive's registry:
208221
209222``` bash
210223# Register a supported client so ToolHive can auto-configure your environment
211224thv client setup
212225
213226# Run the fetch server
214- thv run fetch --transport sse
227+ thv run gofetch --transport sse
215228
216229# List running servers
217230thv list
218231
219232# Get detailed information about the server
220- thv registry info fetch
233+ thv registry info gofetch
221234```
222235
223236### Advanced Usage with Custom Configuration
@@ -227,7 +240,7 @@ the container image directly:
227240
228241``` bash
229242# Run the fetch server using the published container image
230- thv run --name fetch --transport sse --target-port 8080 ghcr.io/stackloklabs/fetch /server:latest
243+ thv run --name gofetch --transport sse --target-port 8080 ghcr.io/stackloklabs/gofetch /server:latest
231244```
232245
233246This command:
@@ -239,32 +252,32 @@ This command:
239252To use a specific version instead of the latest:
240253
241254``` bash
242- thv run --name fetch --transport sse --target-port 8080 ghcr.io/stackloklabs/fetch /server:v0.0.1
255+ thv run --name gofetch --transport sse --target-port 8080 ghcr.io/stackloklabs/gofetch /server:v0.0.1
243256```
244257
245- ### Managing the fetch Server
258+ ### Managing the gofetch Server
246259
247- To verify that the fetch server is running:
260+ To verify that the gofetch server is running:
248261
249262``` bash
250263thv list
251264```
252265
253- This will show all running MCP servers managed by ToolHive, including the fetch
266+ This will show all running MCP servers managed by ToolHive, including the gofetch
254267server.
255268
256- To stop the fetch server:
269+ To stop the gofetch server:
257270
258271``` bash
259272# For custom named version
260- thv stop fetch
273+ thv stop gofetch
261274```
262275
263276To remove the server instance completely:
264277
265278``` bash
266279# For custom named version
267- thv rm fetch
280+ thv rm gofetch
268281```
269282
270283## Contributing
@@ -274,11 +287,23 @@ review the [CONTRIBUTING guide](./CONTRIBUTING.md) for details on how to get
274287started.
275288
276289If you run into a bug or have a feature request, please
277- [ open an issue] ( https://github.com/StacklokLabs/fetch /issues ) in the repository
290+ [ open an issue] ( https://github.com/StacklokLabs/gofetch /issues ) in the repository
278291or join us in the ` #mcp-servers ` channel on our
279292[ community Discord server] ( https://discord.gg/stacklok ) .
280293
281294## License
282295
283296This project is licensed under the Apache v2 License - see the LICENSE file for
284297details.
298+
299+ <!-- Badge Links -->
300+ [ release-img ] : https://img.shields.io/github/release/StacklokLabs/gofetch.svg
301+ [ release ] : https://github.com/StacklokLabs/gofetch/releases
302+ [ test-img ] : https://github.com/StacklokLabs/gofetch/workflows/Main%20build/badge.svg
303+ [ test ] : https://github.com/StacklokLabs/gofetch/actions?query=workflow%3ATest
304+ [ go-report-img ] : https://goreportcard.com/badge/github.com/StacklokLabs/gofetch
305+ [ go-report ] : https://goreportcard.com/report/github.com/StacklokLabs/gofetch
306+ [ license-img ] : https://img.shields.io/badge/License-Apache%202.0-blue.svg
307+ [ license ] : https://opensource.org/licenses/Apache-2.0
308+ [ github-downloads-img ] : https://img.shields.io/github/downloads/StacklokLabs/gofetch/total.svg
309+ [ docker-pulls ] : https://img.shields.io/docker/pulls/stacklok/gofetch.svg
0 commit comments