RP

receptopalak/postgis-mcp

Developer tools
20 stars 0 forks Quality 57 Trend 31

Postgis MCP Server

Overview

This project is a server application that provides PostGIS database connection using Model Context Protocol (MCP). - Developed with TypeScript - Model Context Protocol (MCP) integration - PostGIS database support - Configuration for development and production environments - Hot-reload support - Node.js (v14 or higher) - PostgreSQL (with PostGIS extension) - npm or yarn Legacy single-database DB_HOST / DB_NAME / DB_USER / DB_PASSWORD variables are still supported as a fallback. 4. Optional: customize table/domain aliases in domain-aliases.json to improve natural-language table selection. You can use the following example configuration for MCP server: - @modelcontextprotocol/sdk: ^1.12.1 - dotenv: ^16.5.0 - pg: ^8.16.0 - zod: ^3.25.64 1. Fork this repository 2. Create your feature branch (git checkout -b feature/amazing-feature) 3. Commit your changes (git commit -m 'feat: Add some amazing feature') 4. Push to the branch (git push origin feature/amazing-feature) 5.

README

PostGIS MCP Server

English | Türkçe

PostGIS MCP Server

This project is a server application that provides PostGIS database connection using Model Context Protocol (MCP).

🚀 Features

  • Developed with TypeScript
  • Model Context Protocol (MCP) integration
  • PostGIS database support
  • Configuration for development and production environments
  • Hot-reload support

📋 Requirements

  • Node.js (v14 or higher)
  • PostgreSQL (with PostGIS extension)
  • npm or yarn

🛠️ Installation

  1. Clone the project:
git clone https://github.com/receptopalak/postgis-mcp.git
cd postgis-mcp
  1. Install dependencies:
npm install
  1. Create .env file:
NODE_ENV=development
DB_URL_1=postgres://user:password@host:5432/database_one
DB_URL_2=postgres://user:password@host:5432/database_two
DB_URL_3=postgres://user:password@host:5432/database_three

Legacy single-database DB_HOST / DB_NAME / DB_USER / DB_PASSWORD variables are still supported as a fallback.

  1. Optional: customize table/domain aliases in domain-aliases.json to improve natural-language table selection.

🚀 Usage

Development Mode

npm run dev

Production Mode

npm run build
npm start

🔧 MCP Configuration

You can use the following example configuration for MCP server:

{
  "mcpServers": {
    "postgis": {
      "command": "npx",
      "args": ["tsx", "server.ts"],
      "env": {
        "NODE_ENV": "development",
        "DB_URL_1": "postgres://user:pass@host:5432/db_one",
        "DB_URL_2": "postgres://user:pass@host:5432/db_two"
      }
    }
  }
}

📦 Dependencies

  • @modelcontextprotocol/sdk: ^1.12.1
  • dotenv: ^16.5.0
  • pg: ^8.16.0
  • zod: ^3.25.64

🤝 Contributing

  1. Fork this repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the ISC License. See the LICENSE file for more information.

📧 Contact

Project Owner - @receptopalak

Project Link: https://github.com/receptopalak/postgis-mcp


PostGIS MCP Server

Bu proje, Model Context Protocol (MCP) kullanarak PostGIS veritabanı bağlantısını sağlayan bir sunucu uygulamasıdır.

🚀 Özellikler

  • TypeScript ile geliştirilmiş
  • Model Context Protocol (MCP) entegrasyonu
  • PostGIS veritabanı desteği
  • Geliştirme ve üretim ortamları için yapılandırma
  • Hot-reload desteği

📋 Gereksinimler

  • Node.js (v14 veya üzeri)
  • PostgreSQL (PostGIS eklentisi ile)
  • npm veya yarn

🛠️ Kurulum

  1. Projeyi klonlayın:
git clone https://github.com/receptopalak/postgis-mcp.git
cd postgis-mcp
  1. Bağımlılıkları yükleyin:
npm install
  1. .env dosyası oluşturun:
NODE_ENV=development
DB_URL_1=postgres://user:password@host:5432/database_one
DB_URL_2=postgres://user:password@host:5432/database_two
DB_URL_3=postgres://user:password@host:5432/database_three

Eski tek veritabanlı DB_HOST / DB_NAME / DB_USER / DB_PASSWORD değişkenleri de fallback olarak desteklenir.

  1. Opsiyonel: doğal dilde tablo seçimini iyileştirmek için domain-aliases.json dosyasını özelleştirin.

🚀 Kullanım

Geliştirme Modu

npm run dev

Üretim Modu

npm run build
npm start

🔧 MCP Yapılandırması

MCP sunucu yapılandırması için aşağıdaki örnek yapılandırmayı kullanabilirsiniz:

{
  "mcpServers": {
    "postgis": {
      "command": "npx",
      "args": ["tsx", "server.ts"],
      "env": {
        "NODE_ENV": "development",
        "DB_URL_1": "postgres://user:pass@host:5432/db_one",
        "DB_URL_2": "postgres://user:pass@host:5432/db_two"
      }
    }
  }
}

📦 Bağımlılıklar

  • @modelcontextprotocol/sdk: ^1.12.1
  • dotenv: ^16.5.0
  • pg: ^8.16.0
  • zod: ^3.25.64

🤝 Katkıda Bulunma

  1. Bu depoyu fork edin
  2. Yeni bir özellik dalı oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'feat: Add some amazing feature')
  4. Dalınıza push edin (git push origin feature/amazing-feature)
  5. Bir Pull Request oluşturun

📝 Lisans

Bu proje ISC lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakın.

📧 İletişim

Proje Sahibi - @receptopalak

Proje Linki: https://github.com/receptopalak/postgis-mcp

View the full README on GitHub

Install

npx tsx server.ts
New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "postgis": { "command": "npx", "args": ["tsx", "server.ts"], "env": { "NODE_ENV": "development", "DB_URL_1": "postgres://user:pass@host:5432/db_one", "DB_URL_2": "postgres://user:pass@host:5432/db_two" } } } }