94782a85b64adb1a445ce880298c7584cbb2486a
94 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
94782a85b6 | build: streamline container configuration and metadata (#51) All checks were successful release-nightly / release-image (push) Successful in 1m2s - Remove the container healthcheck definition - Delete the image authors label from the build Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #51 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
e94dd26b30 | build: refactor Dockerfile for security, performance, and flexibility (#50) All checks were successful release-nightly / release-image (push) Successful in 1m17s - Switch build base image to Alpine and set platform dynamically - Use distroless nonroot image for final stage to enhance security - Add build arguments for VERSION, TARGETOS, and TARGETARCH with defaults - Cache Go module and build dependencies to improve build performance - Remove manual installation of ca-certificates and user creation (handled by base image) - Set nonroot user for running the application - Add healthcheck for the built binary - Add OCI-compliant author and version labels Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #50 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
da49bdeb96 | feat: integrate server recovery middleware into MCP server initialization (#49) All checks were successful release-nightly / release-image (push) Successful in 3m17s - Add server recovery middleware to the MCP server initialization Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #49 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
3f61299f72 | refactor: refactor HTTP client setup to enhance configuration flexibility (#47) All checks were successful release-nightly / release-image (push) Successful in 3m7s - Refactor HTTP client initialization to always create a custom http.Client - Move TLS config modification into the default HTTP client when insecure flag is set - Ensure the HTTP client is always included in client options Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #47 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
5308fbfb2b | docs: add Table of Contents to all README translations (#46) - Add a Table of Contents section to the README files in English, Simplified Chinese, and Traditional Chinese for improved navigation. Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #46 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com>v0.2.0 | |||
a7061f9b64 | fix: make API bool parameters in search_repos and list_releases optional (#40) (#44) All checks were successful release-nightly / release-image (push) Successful in 3m2s Fix #40 Left the `mcp.DefaultBool(false)` for `is_draft` and `is_pre_release` in `list_releases`, because I guess they are default, but it's up to the client whether to set them or not. | |||
f25cc0de8c | feat: add HTTP server mode with updated docs and localization (#45) All checks were successful release-nightly / release-image (push) Successful in 3m4s - Update download instructions for clarity and consistency in all README files - Add example configuration for HTTP mode to all README files - Expand transport type support to include "http" in command-line flags and documentation - Implement HTTP server mode in the application entrypoint - Update log output behavior to include "http" mode alongside "sse" for stdout logging - Refine Chinese README translations for greater accuracy and localization Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #45 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
417ef26da0 | build: add VS Code server config and enable versioning of settings (#43) All checks were successful release-nightly / release-image (push) Successful in 3m7s - Remove .vscode directory from .gitignore to allow versioning of VS Code settings - Add a VS Code server configuration file with prompts for Gitea host, access token, and insecure connection option - Configure a stdio-based server launch for gitea-mcp with relevant environment variables Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> Reviewed-on: #43 Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com> Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com> | |||
34ca5d45db | refactor(args): request argument access and update dependencies (#42) All checks were successful release-nightly / release-image (push) Successful in 3m4s - Update dependencies to newer versions in go.mod - Refactor all request argument accesses to use req.GetArguments() instead of direct access to req.Params.Arguments - Change variable declaration for ListRepoCommitsTool from a grouped var block to a single var statement for consistency Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> Reviewed-on: #42 Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com> Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com> | |||
796fd4682d | docs: document get_user_orgs tool in Chinese guides (#41) Some checks are pending release-nightly / release-image (push) Waiting to run - Add get_user_orgs tool to the list of supported tools in both Simplified and Traditional Chinese documentation Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> Reviewed-on: #41 Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com> Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com> | |||
95c036bf3a | docker sse (#37) Reviewed-on: #37 Co-authored-by: hiifong <f@ilo.nz> Co-committed-by: hiifong <f@ilo.nz>v0.1.9 | |||
70b9ac5b80 | Support read only mode (#36) All checks were successful release-nightly / release-image (push) Successful in 2m51s Fix: #35 Reviewed-on: #36 Co-authored-by: hiifong <f@ilo.nz> Co-committed-by: hiifong <f@ilo.nz> | |||
59e699aac7 | Add get_user_orgs tool (#34) All checks were successful release-nightly / release-image (push) Successful in 3m51s Fix #33 Reviewed-on: #34 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.com> Co-committed-by: techknowlogick <techknowlogick@gitea.com> | |||
26c50d53bd | Add gitlens to vscode extentions (#31) All checks were successful release-nightly / release-image (push) Successful in 2m50s Co-authored-by: hiifong <i@hiif.ong> Reviewed-on: #31 Reviewed-by: hiifong <i@hiif.ong> Co-authored-by: yp05327 <576951401@qq.com> Co-committed-by: yp05327 <576951401@qq.com> | |||
7bfc596a58 | fix debug mode default value (#29) All checks were successful release-nightly / release-image (push) Successful in 2m51s Reviewed-on: #29 | |||
966d617670 | Add EditIssue (#30) Some checks failed release-nightly / release-image (push) Has been cancelled Reviewed-on: #30 Reviewed-by: hiifong <i@hiif.ong> Co-authored-by: yp05327 <576951401@qq.com> Co-committed-by: yp05327 <576951401@qq.com> | |||
af27b685d4 | feat: Add debug (#28) Some checks are pending release-nightly / release-image (push) Waiting to run Reviewed-on: #28 Reviewed-by: yp05327 <576951401@qq.com> Co-authored-by: hiifong <i@hiif.ong> Co-committed-by: hiifong <i@hiif.ong> | |||
fac6e1d8d1 | Include error info in some functions (#27) All checks were successful release-nightly / release-image (push) Successful in 3m19s Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-on: #27 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: yp05327 <576951401@qq.com> Co-committed-by: yp05327 <576951401@qq.com> | |||
f656c92cda | Encode content to base64 in UpdateFileFn (#26) All checks were successful release-nightly / release-image (push) Successful in 2m53s Same to CreateFileFn Reviewed-on: #26 Reviewed-by: hiifong <i@hiif.ong> Co-authored-by: yp05327 <576951401@qq.com> Co-committed-by: yp05327 <576951401@qq.com> | |||
af0975d93f | Add release and tags related funcions (#25) All checks were successful release-nightly / release-image (push) Successful in 2m54s Reviewed-on: #25 Reviewed-by: hiifong Mr <i@hiif.ong> Co-authored-by: yp05327 <576951401@qq.com> Co-committed-by: yp05327 <576951401@qq.com> | |||
001383142f | fix typo | |||
b35919989f | ci: update CI environment variables for better token management - Replace `GITHUB_TOKEN` with `GITEA_TOKEN` and add `GORELEASER_FORCE_TOKEN` environment variable Signed-off-by: appleboy <appleboy.tw@gmail.com> | |||
d0225c4c24 | build: enhance build process and release configuration - Add build flags and ldflags for Go builds - Add Gitea URLs and force token configuration for release Signed-off-by: appleboy <appleboy.tw@gmail.com> | |||
6993bb2b5d | ci: integrate GoReleaser for streamlined release management - Rename job from `release` to `goreleaser` in `release-tag.yml` - Change the tag pattern from `' * '` to `" * "` in `release-tag.yml` - Update job steps to better describe their actions in `release-tag.yml` - Replace build steps with GoReleaser action steps in `release-tag.yml` - Add configuration file `.goreleaser.yaml` for GoReleaser - Include hooks, builds, archives, changelog sorting, and release footer in `.goreleaser.yaml` Signed-off-by: appleboy <appleboy.tw@gmail.com> | |||
f1b4a208a7 | fix(cmd): ensure GITEA_HOST can be read (#23) ## Why With the following configuration: ```bash docker run -i --rm -e GITEA_HOST=<gitea_host> -e GITEA_ACCESS_TOKEN=<gitea_access_token_for_host> docker.gitea.com/gitea-mcp-server:latest ``` after mcp-client calling a tool, the gitea client will encounter the following fatal error: ``` FATAL gitea/gitea.go:47 create gitea client err: user does not exist [uid: 0, name: ] gitea.com/gitea/gitea-mcp/pkg/gitea.Client.func1 /app/pkg/gitea/gitea.go:47 sync.(*Once).doSlow /usr/local/go/src/sync/once.go:78 sync.(*Once).Do /usr/local/go/src/sync/once.go:69 gitea.com/gitea/gitea-mcp/pkg/gitea.Client /app/pkg/gitea/gitea.go:21 gitea.com/gitea/gitea-mcp/operation/search.SearchReposFn /app/operation/search/search.go:161 github.com/mark3labs/mcp-go/server.(*MCPServer).handleToolCall /go/pkg/mod/github.com/mark3labs/mcp-go@v0.18.0/server/server.go:717 github.com/mark3labs/mcp-go/server.(*MCPServer).HandleMessage /go/pkg/mod/github.com/mark3labs/mcp-go@v0.18.0/server/request_handler.go:264 github.com/mark3labs/mcp-go/server.(*StdioServer).processMessage /go/pkg/mod/github.com/mark3labs/mcp-go@v0.18.0/server/stdio.go:228 github.com/mark3labs/mcp-go/server.(*StdioServer).processInputStream /go/pkg/mod/github.com/mark3labs/mcp-go@v0.18.0/server/stdio.go:143 github.com/mark3labs/mcp-go/server.(*StdioServer).Listen /go/pkg/mod/github.com/mark3labs/mcp-go@v0.18.0/server/stdio.go:209 github.com/mark3labs/mcp-go/server.ServeStdio /go/pkg/mod/github.com/mark3labs/mcp-go@v0.18.0/server/stdio.go:282 gitea.com/gitea/gitea-mcp/operation.Run /app/operation/operation.go:48 gitea.com/gitea/gitea-mcp/cmd.Execute /app/cmd/cmd.go:119 main.main /app/main.go:12 runtime.main /usr/local/go/src/runtime/proc.go:283 ``` Turns out the root cause was because the `GITEA_HOST` environment variable wasn't overriding the default flag value, resulting in mismatch of host and access token. The if statement won't be entered | |||
d76f02a234 | chore: refactor Docker configuration and update exclusion rules Some checks failed release-nightly / release-image (push) Has been cancelled - Add a `.dockerignore` file for Docker configuration - Ignore git-related files and directories - Exclude Dockerfile and `.dockerignore` - Ignore build artifacts including binaries and shared libraries - Add rules for Go-specific files and directories - Exclude testing-related files and folders - Ignore files from IDEs and editors - Exclude OS-specific and temporary files - Ignore documentation files and directories - Add development tools configuration files - Exclude debug files and directories Signed-off-by: appleboy <appleboy.tw@gmail.com> | |||
b2bde61882 | chore: improve code quality and streamline configuration files All checks were successful release-nightly / release-image (push) Successful in 3m7s - Compact the features object in the devcontainer configuration Signed-off-by: appleboy <appleboy.tw@gmail.com> | |||
7cfa1fa218 | docs(readme): rename interactive with insecure (#22) All checks were successful release-nightly / release-image (push) Successful in 3m19s After #20, `GITEA_INSECURE` flag is introduced. However, the READMEs referred to the wrong name. Replace GITEA_INTERACTIVE terms with `GITEA_INSECURE`. Reviewed-on: #22 Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.com> Co-authored-by: Flynn Hou <flynnhou7@gmail.com> Co-committed-by: Flynn Hou <flynnhou7@gmail.com> | |||
1fecc1df30 | build: standardize build and installation process in documentation and Makefile (#21) All checks were successful release-nightly / release-image (push) Successful in 3m8s - Add install, uninstall, and clean targets to the Makefile - Change README instructions from `make build` to `make install` - Update README.zh-cn instructions from `make build` to `make install` - Update README.zh-tw instructions from `make build` to `make install` Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> Reviewed-on: #21 Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com> Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com> | |||
8dc9ed9299 | feat: add support for insecure mode in Gitea client configuration (#20) - Add `GITEA_INTERACTIVE` configuration example in README files - Add `insecure` flag to ignore TLS certificate errors in `cmd.go` - Set insecure mode based on `GITEA_INSECURE` environment variable in `cmd.go` - Add `Insecure` boolean variable in `pkg/flag/flag.go` - Import `crypto/tls` and `net/http` in `pkg/gitea/gitea.go` - Modify Gitea client creation to support insecure HTTP client in `pkg/gitea/gitea.go` Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> Reviewed-on: #20 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com> Co-committed-by: Bo-Yi Wu <appleboy.tw@gmail.com>v0.1.7 | |||
1965c9830b | fix bug All checks were successful release-nightly / release-image (push) Successful in 3m19s | |||
f377f06478 | fix typo All checks were successful release-nightly / release-image (push) Successful in 3m10s | |||
02fd91da86 | build: switch Docker images to Debian and optimize build process (#19) Some checks failed release-nightly / release-image (push) Has been cancelled - Switch base image from `golang:1.24-alpine` to `golang:1.24-bullseye` for the build stage - Update working directory from `/build` to `/app` - Separate the copying of go.mod and go.sum files before downloading dependencies - Add comments for build stages and process steps - Switch final stage base image from `ubuntu:24.04` to `debian:bullseye-slim` - Improve installation of ca-certificates and clean up the apt lists afterward - Create and switch to a non-root user named `gitea-mcp` - Change the file copy command to `--chown=1000:1000 /app/gitea-mcp` - Update `CMD` to use an absolute path `/app/gitea-mcp` Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #19 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
55f32ef4f5 | docs: localize README with Chinese translations (#18) All checks were successful release-nightly / release-image (push) Successful in 4m13s - Add links to traditional and simplified Chinese versions of the README. - Add README in Simplified Chinese with installation, usage, and troubleshooting instructions. - Add README in Traditional Chinese with installation, usage, and troubleshooting instructions. Signed-off-by: appleboy <appleboy.tw@gmail.com> Co-authored-by: hiifong <i@hiif.ong> Reviewed-on: #18 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
c9cada1a8d | docs: improve build system with enhanced targets and descriptions (#17) Some checks failed release-nightly / release-image (push) Has been cancelled - Add a `help` target to print a help message. - Add descriptions for the `build`, `air`, `dev`, and `vendor` targets. - Remove inline comments for the `air`, `dev`, and `vendor` targets. Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #17 Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
a784029828 | Update Dockerfile | |||
f27c4c622d | Update Dockerfile Some checks failed release-nightly / release-image (push) Failing after 12s | |||
df47a0c9eb | Add Dockerfile | |||
e3307adbdf | Add Dockerfile (#16) Reviewed-on: #16 Co-authored-by: hiifong <f@ilo.nz> Co-committed-by: hiifong <f@ilo.nz>v0.1.4 | |||
afada4435e | Add Dockerfile (#15) All checks were successful release-nightly / release-image (push) Successful in 3m3s Reviewed-on: #15 Co-authored-by: hiifong <f@ilo.nz> Co-committed-by: hiifong <f@ilo.nz> | |||
6285bd2467 | test (#14) All checks were successful release-nightly / release-image (push) Successful in 2m56s Reviewed-on: #14 Co-authored-by: hiifong <f@ilo.nz> Co-committed-by: hiifong <f@ilo.nz> | |||
5bbf8e0afb | Add Dockerfile (#13) Some checks failed release-nightly / release-image (push) Failing after 50s Reviewed-on: #13 Co-authored-by: hiifong <f@ilo.nz> Co-committed-by: hiifong <f@ilo.nz> | |||
0535f5bab7 | docs: improve documentation with new sections and better readability (#12) - Add a "What is Gitea?" section explaining Gitea - Add a "What is MCP?" section describing Model Context Protocol - Reformat the MCP server configuration instructions for better readability - Correct the markdown table for tool support - Add a Troubleshooting section with common steps to resolve issues Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: #12 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com> | |||
d892b05048 | Support custom sse port (#11) All checks were successful release / release (push) Successful in 33s fix: #10 Reviewed-on: #11v0.1.3 | |||
592cf51c9b | fix bug (#9) All checks were successful release / release (push) Successful in 44s Reviewed-on: #9v0.1.2 | |||
2a9504fc5d | update (#8) All checks were successful release / release (push) Successful in 1m15s Reviewed-on: #8v0.1.1 | |||
2f17f37053 | fix bug (#7) Reviewed-on: #7 | |||
5270d2eb08 | Adding more logs (#6) Reviewed-on: #6 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: hiifong <i@hiif.ong> Co-committed-by: hiifong <i@hiif.ong> | |||
97b98c3fc2 | Merge pull request 'Add SHA to update file, convert get_file into get_file_content' (#5) from yp05327/gitea-mcp:add-sha-to-update-file into main Reviewed-on: #5 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> | |||
58328680a6 | Merge branch 'main' into add-sha-to-update-file |