squire

squire

Remote runtimes for validation and offload jobs.

Category
Visit Server

README

Squire CLI

Squire is a CLI for running short validation and offload jobs in clean remote runtimes. Use it for cross-environment checks, fresh validation loops, target compilation checks, ephemeral SQL sandboxes, and short heavy jobs that are awkward to run locally.

Quick start

curl -fsSL https://squire.run/install.sh | bash
squire login
squire --help

Defaults to:

  • https://api.squire.run

Works on:

  • macOS
  • Linux
  • WSL

Update later with:

squire update

Command discovery

Use these first:

  • squire --help shows the command catalog
  • squire --help --json shows the command catalog in machine-readable form
  • squire <command> --help shows command-specific usage

Prefer --json when another tool or agent will read the result.

For the full generated command catalog, public-policy notes, and examples, see:

  • docs/commands.generated.md

Task-to-command mapping

Use Squire when a task is environment-sensitive, target-sensitive, or short but heavy.

  • shell, Python, or Node runtime validation -> squire verify
  • short clean test runs -> squire test
  • lint or static analysis -> squire lint
  • Go or Rust target compilation -> squire compile
  • offline Qiskit Aer simulation -> squire quantum simulate
  • SQLite or Postgres validation -> squire sql
  • dependency, security, secret, or static checks -> squire audit
  • solver tasks -> squire solve
  • pandas, polars, or pyarrow jobs -> squire data
  • ffmpeg or media transforms -> squire media
  • offline headless browser verification -> squire browser
  • packaging or build sanity checks -> squire build
  • short comparative timing runs -> squire bench

Public-service note:

  • deps exists in the CLI, but is currently disabled on the public service under the zero-egress policy

Agent workflows

Squire is intentionally CLI-first and works well in terminal-first coding-agent workflows such as Claude Code, Codex, and shell-driven automation.

Copy and trim the example instruction files in docs/agent/ for your own environment:

  • docs/agent/CLAUDE.md.example
  • docs/agent/SKILLS.md.example
  • docs/agent/CODEX.md.example
  • docs/agent/squire-usage-guidelines.md
  • docs/agent/tool-constraints.md

Prefer local execution for tiny trivial checks. Prefer Squire when correctness depends on a fresh environment or when the task is too annoying to run locally.

For per-tool runtime, network, input, output, and public-service constraints, start with:

  • docs/agent/tool-constraints.md
  • docs/commands.generated.md

Current public-service limits

  • browser is offline-only and does not fetch remote http:// or https:// URLs
  • deps is currently disabled on the public service because sandbox egress is not allowed
  • audit supports secret scanning and local-config static analysis; dependency audit and remote Semgrep configs are disabled
  • quantum simulate is offline-only and currently requires trusted access or higher on the public service

Artifact downloads

Artifact-producing commands can download outputs locally:

squire media --script square.py --input image.png --download-artifacts ./out --json

Use --download-artifacts <dir> for:

  • squire data
  • squire media
  • squire browser
  • squire build
  • squire quantum simulate

Command examples

squire verify --lang bash --file script.sh --targets alpine-3.20,ubuntu-24.04,debian-12 --json
squire test --lang python --file test_app.py --cmd "pytest -q" --targets py310,py311 --json
squire lint --lang python --tool ruff --file app.py --json
squire quantum simulate --file shor.py --shots 2048 --download-artifacts ./quantum-out --json
squire audit --secrets --path src --json
squire build --lang python --file pyproject.toml --path src --targets manylinux,musllinux --download-artifacts ./dist --json
squire bench --lang python --file bench.py --targets py310,py311 --json
squire browser --path website/public --screenshot page.png --download-artifacts ./browser-out --json
squire sql --dialect sqlite --query "SELECT 1" --json
squire compile --lang go --file main.go --targets linux/amd64,linux/arm64 --json
squire solve --solver z3 --file constraints.smt2 --json
squire data --script transform.py --input big.csv --download-artifacts ./data-out --json
squire media --script clip.py --input image.png --download-artifacts ./media-out --json

A tiny runnable quantum example is in examples/quantum/shor.py.

Optional MCP mode

Bootstrap MCP auth with:

squire mcp login

This logs you in and prints the SQUIRE_TOKEN and SQUIRE_API_BASE_URL values an MCP host needs.

Then either run the local stdio wrapper:

squire mcp serve

This exposes the same Squire command surface over MCP stdio and reuses the current local Squire session. Squire remains CLI-first; MCP is an optional wrapper.

For Cline on a machine that already has a working local Squire session, the shortest path is:

cline mcp add squire -- squire mcp serve

Squire is also published to the MCP Registry as io.github.reidgoodbar/squire. The registry package is a GHCR-backed OCI stdio server that runs the same squire mcp serve surface and expects:

  • SQUIRE_TOKEN required
  • SQUIRE_API_BASE_URL optional

Registry metadata lives in registry/server.json.

For Cline and other agent-hosted setup, see:

  • llms-install.md

Local build

go build -o ./bin/squire ./cmd/squire

Release packaging

./scripts/build-release.sh

Artifacts go to dist/ and use the same stable names that https://squire.run/install.sh downloads.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured