@@ -29,13 +29,10 @@ import (
2929 mcplib "github.com/mark3labs/mcp-go/mcp"
3030 mcpserver "github.com/mark3labs/mcp-go/server"
3131 "github.com/onflow/cadence"
32- "github.com/onflow/cadence/tools/analysis"
3332 flow "github.com/onflow/flow-go-sdk"
3433
3534 "github.com/onflow/flowkit/v2"
3635 "github.com/onflow/flowkit/v2/arguments"
37-
38- cadenceLinter "github.com/onflow/flow-cli/internal/cadence"
3936)
4037
4138// mcpContext holds shared dependencies for all MCP tool handlers.
@@ -132,14 +129,6 @@ func registerTools(s *mcpserver.MCPServer, mctx *mcpContext) {
132129 mctx .getContractCode ,
133130 )
134131
135- s .AddTool (
136- mcplib .NewTool ("cadence_lint" ,
137- mcplib .WithDescription ("Run Cadence lint analyzers on code. Detects common issues like unnecessary casts, deprecated patterns, unused variables, and more using AST-based analysis." ),
138- mcplib .WithString ("code" , mcplib .Required (), mcplib .Description ("Cadence source code to lint" )),
139- ),
140- mctx .cadenceLint ,
141- )
142-
143132 s .AddTool (
144133 mcplib .NewTool ("cadence_code_review" ,
145134 mcplib .WithDescription ("Review Cadence code for common issues and anti-patterns." ),
@@ -372,19 +361,6 @@ func (m *mcpContext) getContractCode(ctx context.Context, req mcplib.CallToolReq
372361 return mcplib .NewToolResultText (b .String ()), nil
373362}
374363
375- func (m * mcpContext ) cadenceLint (_ context.Context , req mcplib.CallToolRequest ) (* mcplib.CallToolResult , error ) {
376- code , err := resolveCode (req )
377- if err != nil {
378- return mcplib .NewToolResultError (err .Error ()), nil
379- }
380-
381- diagnostics , err := cadenceLinter .LintCode (code , m .state )
382- if err != nil {
383- return mcplib .NewToolResultError (fmt .Sprintf ("lint failed: %v" , err )), nil
384- }
385- return mcplib .NewToolResultText (formatLintDiagnostics (diagnostics )), nil
386- }
387-
388364func (m * mcpContext ) cadenceCodeReview (_ context.Context , req mcplib.CallToolRequest ) (* mcplib.CallToolResult , error ) {
389365 code , err := resolveCode (req )
390366 if err != nil {
@@ -439,31 +415,3 @@ func (m *mcpContext) cadenceExecuteScript(ctx context.Context, req mcplib.CallTo
439415 return mcplib .NewToolResultText (val .String ()), nil
440416}
441417
442- // formatLintDiagnostics formats analysis diagnostics as human-readable text.
443- func formatLintDiagnostics (diagnostics []analysis.Diagnostic ) string {
444- if len (diagnostics ) == 0 {
445- return "Lint passed — no issues found."
446- }
447-
448- var b strings.Builder
449- numErrors := 0
450- numWarnings := 0
451- for _ , d := range diagnostics {
452- sev := "warning"
453- if d .Category == "error" || d .Category == "semantic-error" || d .Category == "syntax-error" {
454- sev = "error"
455- numErrors ++
456- } else {
457- numWarnings ++
458- }
459- fmt .Fprintf (& b , "[%s] line %d:%d (%s): %s\n " ,
460- sev ,
461- d .Range .StartPos .Line ,
462- d .Range .StartPos .Column ,
463- d .Category ,
464- d .Message ,
465- )
466- }
467- fmt .Fprintf (& b , "\n %d error(s), %d warning(s)\n " , numErrors , numWarnings )
468- return b .String ()
469- }
0 commit comments