Gopls-lsp — gopls integration for Claude Code

Hello Golang community.

Was bored not having Lsp in claude native. Solved it. Any reviewer ?

Repo: GitHub - hazyhaar/Glp: go lsp plugin for claude code · GitHub — MIT license

Claude Code has no built-in Go support, so agents navigate codebases with grep and find. No type awareness, no scope resolution, no cross-module references. On a monorepo with 10+ modules, that’s a problem.

Glp fixes this by connecting gopls to Claude Code via the MCP protocol (gopls v0.20+ gopls mcp mode). The agent gets 6 semantic tools: workspace detection, fuzzy symbol search, file-level dependency graph, package public API, symbol references, and real-time diagnostics with staticcheck. No gopls pre-install needed — it runs via go run The Go Programming Language mcp.

The plugin ships zero Go code. It’s a config package: an MCP server definition, an LSP fallback config, 6 skills covering navigation workflows, go.mod management, modern Go idioms (1.21→1.26), multi-module workspaces, and structured code review. There’s also a read-only reviewer agent that runs 3-pass audits (gopls diagnostics → external linters → semantic patterns) and outputs BLOCKING/WARNING/SUGGESTION per file and line.

Install: /plugin marketplace add hazyhaar/gopls-lsp && /plugin install gopls-lsp. Requires Go 1.24+ in PATH.

Current limits: gopls MCP doesn’t expose hover or go-to-definition yet (only the 6 tools above), first indexing takes 5-10s on large workspaces, and the LSP channel in Claude Code is still buggy upstream so MCP is the active path.

Feedback welcome, especially from anyone using gopls MCP in other setups.