Implement Model Context Protocol (MCP) server for protolint #469
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant enhancements to
protolint
, including the addition of Model Context Protocol (MCP) server functionality, a new MCP reporter, and related documentation updates. These changes enableprotolint
to integrate with AI tools like Claude Desktop and provide structured linting results in MCP-friendly formats.New MCP Server Functionality:
protolint
to act as an MCP server for AI model integration (internal/cmd/cmd.go
,mcp/README.md
,README.md
). [1] [2] [3]--mcp
flag to start the MCP server and handle requests via stdin/stdout (internal/cmd/cmd.go
). [1] [2] [3]New MCP Reporter:
MCPReporter
to output linting results in a JSON format compatible with MCP (internal/linter/report/reporters/mcpReporter.go
).mcp
reporter (internal/cmd/subcmds/lint/reporterFlag.go
). [1] [2]Code Refactoring and Extensibility:
LintRunner
interface, enabling better modularity and testability (lib/lint.go
,lib/lint_test_runner.go
,internal/cmd/lint_runner.go
). [1] [2] [3]Documentation Updates:
mcp/README.md
,README.md
). [1] [2]Testing:
MCPReporter
to validate its JSON output and ensure compatibility with MCP clients (internal/linter/report/reporters/mcpReporter_test.go
).