This is a high level tracking issue.

We want to experiment with exposing MCP server bindings in gopls, so that we can provide rich language features in AI-powered environments. To start, we should expose a narrow set of features, activated through a custom LSP command that starts an SSE transport MCP endpoint (similar to how we activate documentation serving).

CC @adonovan @h9jiang @madelinekalil @samthanawalla

Comment From: gopherbot

Change https://go.dev/cl/670397 mentions this issue: gopls/internal/lsprpc: start mcp server by passing -mcp-listen

Comment From: gopherbot

Change https://go.dev/cl/672056 mentions this issue: gopls/internal/test/marker: add mcp tools action marker

Comment From: gopherbot

Change https://go.dev/cl/674255 mentions this issue: gopls/internal/mcp: add location info to mcp tool input arg

Comment From: gopherbot

Change https://go.dev/cl/675738 mentions this issue: gopls/internal/mcp: add context mcp tool

Comment From: gopherbot

Change https://go.dev/cl/676796 mentions this issue: gopls/internal/mcp: add exported type spec and value spec to context

Comment From: gopherbot

Change https://go.dev/cl/677537 mentions this issue: gopls/internal/mcp: add all symbols from current package

Comment From: gopherbot

Change https://go.dev/cl/677537 mentions this issue: gopls/internal/mcp: add top level symbols from current package

Comment From: changkun

Is there any plans or what's the timeline to release golang.org/x/tools/internal/mcp to public?

Comment From: gopherbot

Change https://go.dev/cl/678155 mentions this issue: gopls/internal/test/marker: organize mcp tool context test

Comment From: h9jiang

Hi @changkun, thank you for your interest in the mcp package. Please refer to the discussion in MCP for the latest update.