{"id":"tconbeer-harlequin","name":"harlequin","homepage":"https://harlequin.sh","repo_url":"https://github.com/tconbeer/harlequin","category":"ai-ml","subcategories":[],"tags":["sql","tui","terminal-ide","python","database-adapters","duckdb","sqlite"],"what_it_does":"Harlequin is a terminal-based SQL IDE (TUI) implemented in Python. It provides an interactive interface to author, run, and browse/query data using pluggable database adapters (e.g., DuckDB default, SQLite, Postgres/MySQL via optional adapter packages).","use_cases":["Interactive SQL development in a terminal (editing, running, inspecting results)","Querying local or embedded databases (DuckDB/SQLite)","Adapting the IDE to various database engines via adapter plugins","Lightweight data exploration and export from a TUI workflow"],"not_for":["A server-side API for remote clients (it’s a local CLI/TUI tool)","Managed database administration or secure multi-tenant environments","Use cases requiring webhooks, hosted dashboards, or cloud-managed services"],"best_when":"You want an interactive SQL workflow directly in your terminal and can connect to a database using a supported adapter.","avoid_when":"You need a dedicated HTTP/GraphQL/GRPC service interface or need managed SaaS features like user accounts, billing, and hosted environments.","alternatives":["Beekeeper Studio (GUI)","DBeaver (GUI)","Datagrip (IDE)","sqlfluff (linting) + a terminal client like psql/mysql client (non-IDE)","K9s-style terminal DB tools (varies by engine)"],"af_score":39.0,"security_score":30.8,"reliability_score":30.0,"package_type":"skill","discovery_source":["openclaw"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-29T14:57:41.823293+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":false,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["None (local app)"],"oauth":false,"scopes":false,"notes":"Harlequin is a local CLI/TUI. Authentication is determined by database connection strings/adapter requirements rather than a first-party service auth layer described here."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information is provided in the provided README/manifest content; it appears to be distributed as an open-source Python package (MIT) with optional adapter dependencies."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":39.0,"security_score":30.8,"reliability_score":30.0,"mcp_server_quality":0.0,"documentation_accuracy":75.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":95.0,"rate_limit_clarity":0.0,"tls_enforcement":20.0,"auth_strength":20.0,"scope_granularity":10.0,"dependency_hygiene":65.0,"secret_handling":50.0,"security_notes":"As a local tool, transport security depends on the database adapter/connection scheme (not documented in the provided content). The project relies on multiple third-party dependencies (textual/click/rich-click/etc.); no CVE status is provided here. Authentication/authorization is not a first-party concern; it is delegated to database drivers/connection strings, so correct secret handling and least-privilege are primarily user responsibilities.","uptime_documented":0.0,"version_stability":50.0,"breaking_changes_history":40.0,"error_recovery":30.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["No MCP/REST contract for an agent to call; integration is primarily via invoking the CLI and interacting with a TUI.","Database operations are side-effecting (running queries); agent workflows should treat query execution as non-idempotent unless the user ensures it (e.g., read-only).","Adapter options/flags vary by installed adapter package; an agent may need to query available options via `harlequin --help` or consult adapter docs."]}}