valv runs on your own machine — the client starts it, so there is no endpoint to ping. 68 installs a week from npm. Last commit 11 Sep 2026.
Let coding agents query any SQL database safely. Read-only by default and scoped by your policies.
We read the source, 18 h ago · rules 3dff92dd89df
Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.
execFileSync(process.execPath, [cliPath, ...args], {
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
execFileSync(process.execPath, [cliPath, ...args], {
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch valv and you get told the day something new turns up.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add mcp -- npx -y @valv/mcp
{
"mcpServers": {
"mcp": {
"args": [
"-y",
"@valv/mcp"
],
"command": "npx"
}
}
}
[mcp_servers.mcp]
command = "npx"
args = ["-y", "@valv/mcp"]
{
"mcpServers": {
"mcp": {
"args": [
"-y",
"@valv/mcp"
],
"command": "npx"
}
}
}
{
"mcpServers": {
"mcp": {
"args": [
"-y",
"@valv/mcp"
],
"command": "npx"
}
}
}
This one needs environment variables set before it will start:
DATABASE_URL (Database connection string. PostgreSQL, MySQL, SQLite, CockroachDB, or a ClickHouse HTTP URL.), VALV_PROVIDER (Datasource provider: postgresql, mysql, sqlite, or clickhouse. Inferred from DATABASE_URL when omitted.), VALV_DATABASE (Database name. Required for ClickHouse, whose URL does not carry one.), VALV_TABLES (Comma-separated allow-list of tables. When set, only these are exposed to the agent.), VALV_EXCLUDE (Comma-separated deny-list of tables, applied after the allow-list.), VALV_POLICY_FILE (Path to a policy module that takes full control of access. Without it, the server is read-only across all tables.), VALV_CONTEXT (JSON context object the policy reads, e.g. {"tenant":{"id":"acme"}}.), VALV_HTTP_PORT (Serve over Streamable HTTP on this port instead of stdio.).
The author declared them in the registry entry; get the values from the project itself.
Safety-railed database access for agents: Postgres, MySQL, Redis. Read-only by default.
Safe, read-only database access for AI agents. 5 databases, batch queries, SQLGlot.
Run code, query databases, call any LLM, and commit to GitHub from your AI, safely. Free tier.
Connect to your PostgreSQL database to query data and schemas.
A secure MCP server that lets AI agents query databases safely.
Connect your AI agent to anything — APIs, databases, and agents; read and write, auto-discovered.
Safe-by-default SQL guardrails for AI agents: AST-checked queries, per-table policy, audit log.
Query any database in plain English or SQL through a guardrailed, read-only data layer.
Answers built from our own checks of this server.