{"id":"84d570c1-4a83-4722-8ee4-a1dcfcd4909b","slug":"badger-db-mcp","kind":"mcp","name":"badger-db-mcp","summary":"Badger DB MCP — minimal, token-efficient Database MCP Server for PostgreSQL, MySQL, SQL Server, SQLite, MariaDB","owner":"ajgreyling","repoUrl":"https://github.com/ajgreyling/badger-db-mcp","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-03-15T20:49:06.000Z","addedAt":"2026-10-21T08:32:55.553Z","logoUrl":"https://avatars.githubusercontent.com/u/39823199?u=0db789f754bedcadd05b066b4d616a7253f61bfa&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["databases","cloud-infra"],"tags":["database","postgres","typescript"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-23T03:25:15.015Z","sample":false,"url":"https://conduits.dev/tools/badger-db-mcp","language":"TypeScript","transports":["stdio"],"install":{"npm":"badger-db-mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Badger DB MCP\n\nBadger DB MCP is a token-efficient MCP server for exploring and querying SQL databases from MCP-capable clients.\n\n## Purpose\n\n- Expose database access through MCP tools.\n- Support PostgreSQL databases.\n- Provide safe defaults (read-only unless explicitly enabled for destructive SQL).\n\n## Repository Landmarks\n\n- `src/index.ts` - entrypoint and startup path.\n- `src/server.ts` - HTTP MCP transport wiring.\n- `src/connectors/` - database connector implementations.\n- `src/tools/` - MCP tool handlers (`execute_sql`, `search_objects`).\n- `src/config/` - TOML/config loading and validation.\n- `frontend/` - local web workbench UI.\n- `CLAUDE.md` - architecture and development conventions.\n\n## Quick Start\n\n```bash\npnpm install\npnpm run dev\n```\n\nBuild and test:\n\n```bash\npnpm run build\npnpm test\n```\n\n## MCP Request Flow\n\n```mermaid\nflowchart LR\n    A[MCP Client] --> B[Transport: stdio or HTTP]\n    B --> C[Tool Router]\n    C --> D{Tool}\n    D -->|execute_sql| E[Connector Manager]\n    D -->|search_objects| E\n    E --> F[Database Connector]\n    F --> G[(Database)]\n    G --> F --> E --> C --> A\n```\n\n## Query Execution State Machine\n\n```mermaid\nstateDiagram-v2\n    [*] --> RequestReceived\n    RequestReceived --> ValidatingInput\n    ValidatingInput --> SelectingSource\n    SelectingSource --> Executing\n    Executing --> FormattingResponse\n    FormattingResponse --> Completed\n    Executing --> Failed\n    ValidatingInput --> Failed\n    Failed --> [*]\n    Completed --> [*]\n```\n\n## Human + AI Agent Onboarding Checklist\n\n1. Read `CLAUDE.md` before editing connectors/tools.\n2. Prefer tool-level changes in `src/tools/` over transport-layer changes.\n3. Keep `source_id` routing behavior backward compatible.\n4. Run relevant tests (`pnpm test`, or targeted connector/integration tests).\n\n## Tool Schema Examples\n\n`execute_sql` input:\n\n```json\n{\n  \"sql\": \"SELECT id, email FROM users LIMIT 10;\"\n}\n```\n\n`search_objects` input:\n\n```json\n{\n  \"object_type\": \"column\",\n  \"schema\": \"public\",\n  \"table\": \"users\",\n  \"pattern\": \"%_id\",\n  \"detail_level\": \"summary\",\n  \"limit\": 50\n}\n```\n\n## Related Docs\n\n- `docs/` for user-facing documentation.\n- `dbhub.toml.example` for multi-source configuration examples.\n\n"}