- Home
- MCP servers
- Quack
Quack
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Quack MCP Server is a Python-based continuous integration server that runs as an MCP server to automate code analysis and testing. It provides linting with pylint and static analysis with mypy, processing jobs asynchronously and letting you submit code submissions and retrieve results efficiently.
How to use
You interact with the Quack MCP Server through an MCP client. Submit code for analysis, pick the type of analysis you want (linting, static analysis, or both), and then fetch the results for review. The server processes jobs asynchronously, so you can submit multiple submissions and check their progress and results at any time.
How to install
Prerequisites include a Python runtime and an environment capable of running MCP servers. You will use the runtime to start the Quack MCP Server and connect with an MCP client.
# Start in stdio mode (default)
uv run quack.py
# Start in debug mode to see more logs
uv run quack.py --debug
# Start in Streamable-http mode for HTTP transport
uv run quack.py --streamable-http
# Alternative using the provided shell script for stdio
./run_quack.sh
# Alternative using the provided shell script for streamable-http
./run_quack.sh --streamable-http --host=0.0.0.0 --port=8000
Additional setup and runtime details
You can also run the server in Docker so it starts with Streamable-http transport by default and exposes port 8000 to the host.
# Build the Docker image
docker build -t quack-mcp-server .
# Run the container and expose port 8000
docker run -p 8000:8000 quack-mcp-server
Available tools
submit_code
Submit code for both linting and static analysis.
submit_code_for_linting
Submit code for linting only.
submit_code_for_static_analysis
Submit code for static analysis only.
submit_code_for_basedpyright
Submit code for basedpyright analysis only.
get_job_results
Retrieve results for a submitted job.
list_jobs
List all submitted jobs and their statuses.