Skip to content

squackit

Semi-QUalified Agent Companion Kit — the stateful intelligence + MCP server layer for fledgling-equipped agents.

squackit wraps fledgling's SQL macros (via pluckitast-pluckit on PyPI) with smart defaults, token-aware output, session caching, compound workflows, an MCP server, prompt templates, and live resources. It is the Python-side "cold-start agent support" layer — the opinionated features that don't belong in fledgling's neutral SQL core.

What it does

squackit wears two hats: an MCP server for AI agents, and a CLI for humans.

For agents via MCP:

  • 20+ tools for reading code, searching definitions (CSS selectors via pluckit), browsing docs, inspecting git history, and running diagnostics
  • 4 compound workflows (explore, investigate, review, search) that compose multiple tools into single-call briefings
  • 3 prompt templates that pre-load live project data into exploration, debugging, and review workflows
  • 5 always-on resources exposing project overview, diagnostics, docs, git status, and session history
  • Smart defaults that infer your project's language, doc layout, and main branch
  • Token-aware output with configurable truncation and automatic bypass when the agent narrows its query
  • Session caching with per-tool TTL policies and mtime-based invalidation

For humans via CLI:

  • squackit tool <name> — run any tool from the shell with structured (--json) or human-readable output
  • squackit pluck ... — direct access to pluckit chain queries
  • squackit mcp serve — start the MCP server
  • Tool names resolve in three conventions (underscore, kebab-case, CamelCase) with shell tab completion

Quick install

pip install squackit

Then use the CLI:

squackit tool list
squackit tool view "src/**/*.py" ".fn#main"
squackit tool project_overview

Or start the MCP server:

squackit mcp serve

Or use it programmatically:

from squackit.server import create_server

mcp = create_server(root="/path/to/project")
mcp.run()

See the Getting Started guide for IDE integration and configuration.

Architecture

Layer 4   Consumers (Claude Code, agents, IDE extensions)
Layer 3b  squackit          ← this package
Layer 3a  pluckit           (fluent Python API)
Layer 2   fledgling-python  (Python bundler)
Layer 1   fledgling         (SQL macros)
Layer 0   DuckDB extensions (sitting_duck, markdown, duck_tails, ...)

squackit depends on pluckit and never imports fledgling directly. If squackit needs a capability pluckit doesn't expose, pluckit grows the capability. See Architecture for details.