Vibase

Easily query and mutate Postgres data using MCP, over HTTP, STDIO or any other MCP transport.
  • typescript

0

GitHub Stars

typescript

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can run a Postgres-backed MCP server that exposes YAML-defined tools to read and mutate data, with safe SQL handling, type validation, and flexible deployment options. This server runs locally over HTTP or can be embedded in serverless runtimes, making it easy to build data-driven APIs without writing boilerplate for each endpoint.

How to use

Start by running your MCP server locally or in a cloud environment. You define data-access tools in a YAML file and then launch the server to expose those tools over HTTP. Connect your MCP client to the server endpoint, pass tool arguments, and receive structured results from the database. The system automatically uses parameterized queries to keep SQL safe and applies any plugin logic you configure, such as authentication or custom request handling.

How to install

Prerequisites you need before installing and running the server:

  • Node.js and npm installed on your machine
  • Access to a PostgreSQL database you can connect to

Install the MCP core package globally and prepare to run your YAML-based tools file.

npm install -g @vibase/core

Create or place your YAML configuration (for example tools.yaml) that defines sources and tools, then start the MCP server on a chosen port.

npx @vibase/core tools.yaml --http 5555

Your MCP server will be reachable at http://localhost:5555. You can view available options and usage with the help flag.

npx @vibase/core tools.yaml --help

Configuration examples

Define your data sources and tools in YAML to describe how the MCP server should query PostgreSQL and what parameters to accept.

sources:
  todo_db:
    kind: postgres
    connection_string: postgres://user:password@localhost:5432/todo_management

tools:
  get_boards:
    kind: postgres
    source: todo_db
    description: Retrieve all todo boards
    statement: SELECT id, name, description FROM boards ORDER BY created_at DESC;
    parameters: []

  search_tasks:
    kind: postgres
    source: todo_db
    description: Search tasks by title or description
    parameters:
      - name: search_term
        type: string
        description: Search term to match against task title or description
        required: true
    statement: |
      SELECT t.id, t.title, t.priority, s.name as stage_name
      FROM tasks t
      JOIN stages s ON t.stage_id = s.id
      WHERE t.title ILIKE '%' || $1 || '%' OR t.description ILIKE '%' || $1 || '%';

Available tools

get_boards

Retrieve all todo boards using a PostgreSQL query: selects id, name, and description from boards.

search_tasks

Search tasks by title or description with a parameter named search_term and a query joining tasks and stages.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational