mcp-read-only-sql: Instructions file for Codex

AGENTS.md

mcp-read-only-sql AGENTS.md is an instructions file for Codex, OpenCode from lukleh/mcp-read-only-sql. It costs 829 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

Written for Codex and OpenCode: the file is AGENTS.md.

This is lukleh/mcp-read-only-sql's own configuration. It tells Codex and OpenCode how to work on mcp-read-only-sql itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything mcp-read-only-sql configures →

Reuse

Borrowing it

Nothing to install: this file belongs to lukleh/mcp-read-only-sql. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/lukleh/mcp-read-only-sql/main/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/github.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/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for mcp-read-only-sql AGENTS.md

Your own site · 80×15
<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="Reviewed on agentmods" width="80" height="20"></a>
Per session 829 This file is loaded in full into every session.
When invoked 829 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00829 $0.00829
Opus 5.5 $0.00332 $0.00332
Sonnet 5.5 $0.00166 $0.00166
Haiku 4.5 $0.00083 $0.00083

Measured 29d ago against content hash 3b825b5e1970, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, 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 29d 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_postgresql.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. 29d ago Changed · +62 tokens per session 3b825b5e1970
  2. 1mo 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 29d ago), licensed MIT. It adds 829 tokens to every session, about $0.0033 per session on Opus 5.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.

Related

Other instructions, from other repositories