JobDBMCP
Provides read-only and optional write access to a job-search PostgreSQL database, with tools for checking whether a job exists, retrieving and finding jobs, and saving jobs or updating their status and score when writes are enabled.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JobDBMCPCheck if this job already exists: https://example.com/job/123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
JobDBMCP
MCP server providing controlled access to the job-search PostgreSQL database.
The server exposes domain-specific MCP tools for storing, finding, and reviewing job postings over Streamable HTTP. Arbitrary SQL execution is intentionally not exposed.
Requirements
Python 3.14+
PostgreSQL 18
Docker, to build and run the images
Related MCP server: postgres-mcp
Installation
uv syncConfiguration
Settings come from environment variables. Copy .env.example to .env and fill it in; .env
is not committed.
Variable | Description |
| PostgreSQL connection string for the application role. |
| Register the write tools. Unset means a read-only server that can still change a job's status. |
| Bind address, |
| Listen port, |
| Used only when applying migrations, see below. |
Running
The server speaks MCP over Streamable HTTP at /mcp.
uv run jobs-db-mcpIn Docker:
docker build -t jobs-db-mcp .
docker run --rm --env-file .env jobs-db-mcpThe container needs network access to the database.
Always registered: job_exists, get_job, find_jobs, count_jobs, update_job_status.
Write tools: create_job, update_job. They are registered only when
JOBDBMCP_ALLOW_WRITES is set; without it they are absent from tools/list entirely, so a
read-only deployment does not advertise what it will not do. It can still change a job's
status, which needs UPDATE (status) for its database role; see docs/db.md.
See docs/api.md for their inputs and outputs.
Database
See docs/db.md for the schema.
Migrations are Liquibase formatted SQL changesets under db/changelog/. The runner image adds
the PostgreSQL JDBC driver, which Liquibase 5 no longer ships:
docker build -t jobs-db-mcp-liquibase dbConnection settings come from .env: LIQUIBASE_COMMAND_URL, LIQUIBASE_COMMAND_USERNAME,
LIQUIBASE_COMMAND_PASSWORD, and LIQUIBASE_COMMAND_CHANGELOG_FILE=changelog-master.yml.
Migrations need DDL rights, so they connect as a different role than the server does.
# status of each changeset
docker run --rm --env-file .env \
-v ./db/changelog:/liquibase/changelog -w /liquibase/changelog \
jobs-db-mcp-liquibase status --verbose
# the SQL that would run, for review before applying
docker run --rm --env-file .env \
-v ./db/changelog:/liquibase/changelog -w /liquibase/changelog \
jobs-db-mcp-liquibase update-sql
docker run --rm --env-file .env \
-v ./db/changelog:/liquibase/changelog -w /liquibase/changelog \
jobs-db-mcp-liquibase updateDevelopment
uv run ruff format .
uv run ruff check . --fix
uv run mypy
uv run pytest -qThis server cannot be deployed
Maintenance
Related MCP Connectors
Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Deterministic safety, correctness & cost gate that vets Postgres SQL before your AI agent runs it.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with PostgreSQL databases through both HTTP and Stdio transports, supporting read-only SQL queries, table listing, and schema inspection. Features stateful session management for HTTP transport and flexible deployment options including Docker support.24 npmMIT
- AlicenseAqualityCmaintenanceA self-hostable PostgreSQL MCP server for exploring database schemas and running guarded read/write queries with selectable access modes (readonly, readwrite, admin), plus a dry-run confirm workflow for safety.141MIT
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server for PostgreSQL that enables safe database introspection and querying via natural language.300 npmMIT
- AlicenseNot gradedqualityCmaintenanceA Postgres-backed bookmark manager that exposes CRUD tools, database inspection, and a configurable REST API tool to save, search, and manage bookmarks via natural language.MIT