mcp-read-only-sql AGENTS.md

mcp-read-only-sql AGENTS.md is an instructions file for Codex, OpenCode from lukleh/mcp-read-only-sql. It costs 767 tokens per session, scanned A, original, MIT.

A repository instruction file for mcp-read-only-sql, a server with PostgreSQL and ClickHouse connectors that allow read-only SQL access. It documents the project structure, configuration, commands, and tests.

In plain words
What is it for?
Use it when configuring database connections, starting the server, importing DBeaver settings, running tests, or changing SQL-access code.
Why use it?
It tells the coding agent how this repository is organized and how to run and verify changes safely.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/lukleh/mcp-read-only-sql/agents-md
Clone the repo
git clone --depth 1 https://github.com/lukleh/mcp-read-only-sql

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mcp-read-only-sql AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/lukleh/mcp-read-only-sql/agents-md.svg)](https://agentmods.dev/instructions/lukleh/mcp-read-only-sql/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/lukleh/mcp-read-only-sql/agents-md"><img src="https://agentmods.dev/badge/instructions/lukleh/mcp-read-only-sql/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 767 This file is loaded in full into every session.
When invoked 767 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00767 $0.00767
Opus 5 $0.00383 $0.00383
Sonnet 5 $0.00153 $0.00153
Haiku 4.5 $0.00077 $0.00077

Measured 2d ago against content hash 5b577da87f6f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

mcp-read-only-sql AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 28 lines

How it starts

The opening of the file, as written. The whole thing — 28 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Repository Guidelines

Project Structure & Module Organization

src/mcp_read_only_sql/server.py exposes the MCP entry point, while src/mcp_read_only_sql/connectors/ hosts the PostgreSQL and ClickHouse adapters for both CLI and Python implementations. Cross-cutting helpers (ssh_tunnel.py, ssh_tunnel_cli.py, sql_guard.py, TSV formatting, timeout handling) live in src/mcp_read_only_sql/utils/. Configuration tooling, including DBeaver import and manifest validation, sits in src/mcp_read_only_sql/config/ and src/mcp_read_only_sql/tools/. Tests are grouped in tests/, and Docker fixtures for integration runs reside in docker/. The package ships a sample connections.yaml, and runtime config lives under ~/.config/lukleh/mcp-read-only-sql/.

Build, Test, and Development Commands

  • uv sync --extra dev — install runtime and development dependencies.
  • uv run mcp-read-only-sql or just run — start the MCP server with the resolved runtime config directory.
  • uv run mcp-read-only-sql --write-sample-config or just write-sample-config — bootstrap connections.yaml without cloning-path assumptions.
  • uv run mcp-read-only-sql import-dbeaver ... or just import-dbeaver — convert a DBeaver workspace into connections.yaml.
  • just validate — lint connections.yaml against the schema and safety checks.
  • just test — spin up Dockerized fixtures and execute the full pytest suite via ./run_tests.sh.
  • uv run python -m pytest tests/test_sql_guard.py — run an individual module when iterating quickly.
  • uv run ruff check . — lint the Python tree.
  • uv run ty check — type-check the full src/ tree; there are no remaining package excludes.

Coding Style & Naming Conventions

Target Python 3.11+, four-space indentation, and Unix newlines. Lint via uv run ruff check . and keep uv run ty check passing for src/. Modules and callables use snake_case, classes PascalCase (e.g., TestReadOnlyGuards), and immutable settings uppercase (DEFAULT_QUERY_TIMEOUT). Apply type hints on public surfaces and keep docstrings brief, emphasizing read-only guarantees and connector behavior.

Read the full file on GitHub · 28 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 28 lines · 767 tokens per session scan A 5b577da87f6f

Subscribe to this mod's changes

mcp-read-only-sql AGENTS.md is an instructions file published in the GitHub repository lukleh/mcp-read-only-sql (0 stars, last pushed 1mo ago), licensed MIT. It adds 767 tokens to every session, about $0.0038 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.