Quack MCP Server logo

Quack MCP Server

by adiboy6

Quack is a continuous integration server built as an MCP server that automates code analysis and testing for Python code. It provides tools for linting and static type analysis of Python code.

View on GitHub

Last updated: N/A

What is Quack MCP Server?

Quack is a continuous integration server designed as an MCP server. It automates code analysis and testing for Python projects, focusing on linting and static type analysis.

How to use Quack MCP Server?

To use Quack, you can either run it directly via the command line, use the provided shell script, or run it in a Docker container. It exposes MCP tools to submit code for linting, static analysis, or both, and to retrieve job results. It can also be integrated with Cline for code analysis directly through the Cline interface.

Key features of Quack MCP Server

  • Linting with pylint

  • Static analysis with mypy

  • Asynchronous job processing

  • Job management

  • Docker support

  • Cline integration

Use cases of Quack MCP Server

  • Automated code quality checks

  • Identifying type errors in Python code

  • Integrating code analysis into a CI/CD pipeline

  • Providing code analysis feedback through Cline

  • Testing new processors

FAQ from Quack MCP Server

How do I start the Quack server?

You can start the server using python3 quack.py for stdio transport, or python3 quack.py --sse --host=0.0.0.0 --port=8000 for SSE transport. Alternatively, use the run_quack.sh script.

How do I run Quack in a Docker container?

Build the Docker image with docker build -t quack-mcp-server . and run it with docker run -p 8000:8000 quack-mcp-server.

What MCP tools does Quack expose?

Quack exposes submit_code, submit_code_for_linting, submit_code_for_static_analysis, get_job_results, and list_jobs.

How do I integrate Quack with Cline?

Configure Cline's MCP settings with the appropriate command and arguments for stdio mode, or the URL for SSE mode when running in Docker.

How do I add a new processor to Quack?

Create a new processor class in quack/processors, implement the process method, register the processor in the server, and add tests in tests/processors/.