Skip to content

Commit 5ca6b89

Browse files
authored
feat: renames to gofetch and adds a lil mascot (#6)
Signed-off-by: ChrisJBurns <[email protected]>
1 parent 99e7d7a commit 5ca6b89

File tree

12 files changed

+84
-59
lines changed

12 files changed

+84
-59
lines changed

.dockerignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ README.md
77
*.md
88

99
# Build artifacts
10-
fetch-mcp-server
10+
gofetch
1111
*.exe
1212
*.dll
1313
*.so

.golangci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ formatters:
9797
sections:
9898
- standard
9999
- default
100-
- prefix(github.com/StacklokLabs/fetch)
100+
- prefix(github.com/StacklokLabs/gofetch)
101101
exclusions:
102102
generated: lax
103103
paths:

.ko.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
builds:
2-
- id: fetch-server
2+
- id: gofetch-server
33
dir: .
44
main: ./cmd/server
55
ldflags:
66
- -X main.version={{.Env.VERSION}}
77
labels:
88
org.opencontainers.image.created: "{{.Env.CREATION_TIME}}"
9-
org.opencontainers.image.description: "fetch - A HTTP fetching MCP server."
9+
org.opencontainers.image.description: "gofetch - A HTTP fetching MCP server."
1010
org.opencontainers.image.licenses: "Apache-2.0"
1111
org.opencontainers.image.revision: "{{.Env.GITHUB_SHA}}"
1212
org.opencontainers.image.source: "{{.Env.GITHUB_SERVER_URL}}/{{.Env.GITHUB_REPOSITORY}}"
13-
org.opencontainers.image.title: "fetch"
13+
org.opencontainers.image.title: "gofetch"
1414
org.opencontainers.image.url: "{{.Env.GITHUB_SERVER_URL}}/{{.Env.GITHUB_REPOSITORY}}"
1515
org.opencontainers.image.version: "{{.Env.VERSION}}"

CONTRIBUTING.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Contributing to `fetch` <!-- omit from toc -->
1+
# Contributing to `gofetch` <!-- omit from toc -->
22

3-
First off, thank you for taking the time to contribute to fetch! :+1: :tada:
4-
fetch is released under the Apache 2.0 license. If you would like to contribute
3+
First off, thank you for taking the time to contribute to gofetch! :+1: :tada:
4+
gofetch is released under the Apache 2.0 license. If you would like to contribute
55
something or want to hack on the code, this document should help you get
6-
started. You can find some hints for starting development in fetch's
7-
[README](https://github.com/StacklokLabs/fetch/blob/main/README.md).
6+
started. You can find some hints for starting development in gofetch's
7+
[README](https://github.com/StacklokLabs/gofetch/blob/main/README.md).
88

99
## Table of contents <!-- omit from toc -->
1010

@@ -19,17 +19,17 @@ started. You can find some hints for starting development in fetch's
1919
## Code of conduct
2020

2121
This project adheres to the
22-
[Contributor Covenant](https://github.com/StacklokLabs/fetch/blob/main/CODE_OF_CONDUCT.md)
22+
[Contributor Covenant](https://github.com/StacklokLabs/gofetch/blob/main/CODE_OF_CONDUCT.md)
2323
code of conduct. By participating, you are expected to uphold this code. Please
2424
report unacceptable behavior to
2525
2626

2727
## Reporting security vulnerabilities
2828

29-
If you think you have found a security vulnerability in fetch please DO NOT
29+
If you think you have found a security vulnerability in gofetch please DO NOT
3030
disclose it publicly until we've had a chance to fix it. Please don't report
3131
security vulnerabilities using GitHub issues; instead, please follow this
32-
[process](https://github.com/StacklokLabs/fetch/blob/main/SECURITY.md)
32+
[process](https://github.com/StacklokLabs/gofetch/blob/main/SECURITY.md)
3333

3434
## How to contribute
3535

@@ -46,7 +46,7 @@ sample project that reproduces the problem.
4646
### Not sure how to start contributing?
4747

4848
PRs to resolve existing issues are greatly appreciated and issues labeled as
49-
["good first issue"](https://github.com/StacklokLabs/fetch/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
49+
["good first issue"](https://github.com/StacklokLabs/gofetch/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
5050
are a great place to start!
5151

5252
### Pull request process
@@ -56,14 +56,14 @@ message to indicate that the contributor agrees to the Developer Certificate of
5656
Origin. For additional details, check out the [DCO instructions](dco.md).
5757

5858
- Create an issue outlining the fix or feature.
59-
- Fork the fetch repository to your own GitHub account and clone it locally.
59+
- Fork the gofetch repository to your own GitHub account and clone it locally.
6060
- Hack on your changes.
6161
- Correctly format your commit messages, see
6262
[Commit message guidelines](#commit-message-guidelines) below.
6363
- Open a PR by ensuring the title and its description reflect the content of the
6464
PR.
6565
- Ensure that CI passes, if it fails, fix the failures.
66-
- Every pull request requires a review from the core fetch team before merging.
66+
- Every pull request requires a review from the core gofetch team before merging.
6767
- Once approved, all of your commits will be squashed into a single commit with
6868
your PR title.
6969

README.md

Lines changed: 53 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
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:
3851
1. 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

4558
2. 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
196209
deployment 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
207220
ToolHive's registry:
208221

209222
```bash
210223
# Register a supported client so ToolHive can auto-configure your environment
211224
thv 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
217230
thv 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

233246
This command:
@@ -239,32 +252,32 @@ This command:
239252
To 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
250263
thv 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
254267
server.
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

263276
To 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
274287
started.
275288

276289
If 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
278291
or join us in the `#mcp-servers` channel on our
279292
[community Discord server](https://discord.gg/stacklok).
280293

281294
## License
282295

283296
This project is licensed under the Apache v2 License - see the LICENSE file for
284297
details.
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

Taskfile.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: '3'
22

33
vars:
4-
BINARY_NAME: fetch-server
4+
BINARY_NAME: gofetch
55
BUILD_DIR: build
66
MAIN_PACKAGE: ./cmd/server
77

@@ -62,7 +62,7 @@ tasks:
6262
build-image:
6363
desc: Build the image locally with ko
6464
env:
65-
KO_DOCKER_REPO: ghcr.io/stackloklabs/fetch/server
65+
KO_DOCKER_REPO: ghcr.io/stackloklabs/gofetch/server
6666
VERSION: dev-local
6767
cmds:
6868
- ko build --local --bare ./cmd/server

cmd/server/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
"context"
66
"log"
77

8-
"github.com/chrisburns/fetch-mcp-server/pkg/config"
9-
"github.com/chrisburns/fetch-mcp-server/pkg/server"
8+
"github.com/stackloklabs/gofetch/pkg/config"
9+
"github.com/stackloklabs/gofetch/pkg/server"
1010
)
1111

1212
func main() {

docs/gofetch.png

841 KB
Loading

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module github.com/chrisburns/fetch-mcp-server
1+
module github.com/stackloklabs/gofetch
22

33
go 1.23.2
44

pkg/fetcher/fetcher.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import (
88
"net/http"
99
"strings"
1010

11-
"github.com/chrisburns/fetch-mcp-server/pkg/processor"
12-
"github.com/chrisburns/fetch-mcp-server/pkg/robots"
11+
"github.com/stackloklabs/gofetch/pkg/processor"
12+
"github.com/stackloklabs/gofetch/pkg/robots"
1313
)
1414

1515
// HTTPFetcher handles HTTP requests and content retrieval

0 commit comments

Comments
 (0)