- Home
- MCP servers
- Vibase
Vibase
- 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.
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.