From 64cbb43ecc23bbb6ccce7bbcb0b5f0d049ae051b Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Mon, 13 Apr 2026 06:39:15 +0000 Subject: [PATCH] chore(deps): bump Go 1.26.2, go-sdk v1.5.0, fix docs and CI - Bump Go to 1.26.2 and go-sdk to v1.5.0 - Fix MCP dependency references in README and CRUSH.md (was mark3labs/mcp-go, now modelcontextprotocol/go-sdk) - Remove stale google/uuid reference from CRUSH.md - Add staticcheck to CI workflow - Simplify test helpers (use strings.Contains) --- .github/workflows/test.yml | 2 ++ CRUSH.md | 5 ++--- README.md | 2 +- go.mod | 6 +++--- go.sum | 16 ++++++++-------- internal/ximcp/server_test.go | 12 ++---------- 6 files changed, 18 insertions(+), 25 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1e277b9..8307ddf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,4 +15,6 @@ jobs: run: sudo apt-get update && sudo apt-get install -y libasound2-dev - run: go test -race ./... - run: go vet ./... + - run: go install honnef.co/go/tools/cmd/staticcheck@latest + - run: staticcheck ./... - run: go build ./... diff --git a/CRUSH.md b/CRUSH.md index 14a6592..6d98e63 100644 --- a/CRUSH.md +++ b/CRUSH.md @@ -30,7 +30,6 @@ - `history`: List available audio files with text summaries ## Dependencies -- `github.com/mark3labs/mcp-go` - MCP server framework +- `github.com/modelcontextprotocol/go-sdk` - MCP server framework (official SDK) - `github.com/taigrr/elevenlabs` - ElevenLabs API client -- `github.com/gopxl/beep` - Audio playback -- `github.com/google/uuid` - UUID generation \ No newline at end of file +- `github.com/gopxl/beep` - Audio playback \ No newline at end of file diff --git a/README.md b/README.md index cf49e19..9816ab2 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ The server provides the following tools to MCP clients: - [ElevenLabs API](https://elevenlabs.io) for text-to-speech generation - [Beep library](https://github.com/gopxl/beep) for audio playback -- [MCP-Go](https://github.com/mark3labs/mcp-go) for MCP server functionality +- [MCP Go SDK](https://github.com/modelcontextprotocol/go-sdk) for MCP server functionality ## License diff --git a/go.mod b/go.mod index e7b341c..ef6f31b 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,10 @@ module github.com/taigrr/elevenlabs-mcp -go 1.26.1 +go 1.26.2 require ( github.com/gopxl/beep/v2 v2.1.1 - github.com/modelcontextprotocol/go-sdk v1.4.1 + github.com/modelcontextprotocol/go-sdk v1.5.0 github.com/taigrr/elevenlabs v0.1.18 ) @@ -18,5 +18,5 @@ require ( github.com/segmentio/encoding v0.5.4 // indirect github.com/yosida95/uritemplate/v3 v3.0.2 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sys v0.42.0 // indirect + golang.org/x/sys v0.43.0 // indirect ) diff --git a/go.sum b/go.sum index b014018..3214218 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/ebitengine/oto/v3 v3.4.0 h1:br0PgASsEWaoWn38b2Goe7m1GKFYfNgnsjSd5Gg+/ github.com/ebitengine/oto/v3 v3.4.0/go.mod h1:IOleLVD0m+CMak3mRVwsYY8vTctQgOM0iiL6S7Ar7eI= github.com/ebitengine/purego v0.10.0 h1:QIw4xfpWT6GWTzaW5XEKy3HXoqrJGx1ijYHzTF0/ISU= github.com/ebitengine/purego v0.10.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= -github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= -github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= +github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/jsonschema-go v0.4.2 h1:tmrUohrwoLZZS/P3x7ex0WAVknEkBZM46iALbcqoRA8= @@ -15,8 +15,8 @@ github.com/gopxl/beep/v2 v2.1.1/go.mod h1:ZAm9TGQ9lvpoiFLd4zf5B1IuyxZhgRACMId1XJ github.com/hajimehoshi/go-mp3 v0.3.4 h1:NUP7pBYH8OguP4diaTZ9wJbUbk3tC0KlfzsEpWmYj68= github.com/hajimehoshi/go-mp3 v0.3.4/go.mod h1:fRtZraRFcWb0pu7ok0LqyFhCUrPeMsGRSVop0eemFmo= github.com/hajimehoshi/oto/v2 v2.3.1/go.mod h1:seWLbgHH7AyUMYKfKYT9pg7PhUu9/SisyJvNTT+ASQo= -github.com/modelcontextprotocol/go-sdk v1.4.1 h1:M4x9GyIPj+HoIlHNGpK2hq5o3BFhC+78PkEaldQRphc= -github.com/modelcontextprotocol/go-sdk v1.4.1/go.mod h1:Bo/mS87hPQqHSRkMv4dQq1XCu6zv4INdXnFZabkNU6s= +github.com/modelcontextprotocol/go-sdk v1.5.0 h1:CHU0FIX9kpueNkxuYtfYQn1Z0slhFzBZuq+x6IiblIU= +github.com/modelcontextprotocol/go-sdk v1.5.0/go.mod h1:gggDIhoemhWs3BGkGwd1umzEXCEMMvAnhTrnbXJKKKA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -34,9 +34,9 @@ github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT0 golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sys v0.0.0-20220712014510-0a85c31ab51e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= -golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= -golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= +golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internal/ximcp/server_test.go b/internal/ximcp/server_test.go index 63d7626..3d0eb06 100644 --- a/internal/ximcp/server_test.go +++ b/internal/ximcp/server_test.go @@ -1,6 +1,7 @@ package ximcp import ( + "strings" "testing" "github.com/taigrr/elevenlabs/client/types" @@ -177,14 +178,5 @@ func TestFormatVoiceListNoSelection(t *testing.T) { } func contains(s, substr string) bool { - return len(s) >= len(substr) && searchString(s, substr) -} - -func searchString(s, substr string) bool { - for i := 0; i <= len(s)-len(substr); i++ { - if s[i:i+len(substr)] == substr { - return true - } - } - return false + return strings.Contains(s, substr) }