PostgreSQL logo

PostgreSQL

A Model Context Protocol server that provides read-only access to PostgreSQL databases. This server enables LLMs to inspect database schemas and execute read-only queries.

How to Use Model Context Protocol (MCP) in Cursor

What is MCP?

Model Context Protocol (MCP) is an open protocol that allows you to provide custom tools to agentic LLMs (Large Language Models) in Cursor's Composer feature.

Installation Steps

  1. Open Cursor Settings
    • Navigate to Cursor Settings > Features > MCP
    • Click the "+ Add New MCP Server" button
  2. Configure the Server
    • Name: Give your server a nickname
    • Type: Select the transport type (stdio or sse)
    • Command/URL: Enter either:
      • For SSE servers: The URL of the SSE endpoint
      • For stdio servers: A valid shell command to run the server

Example Configurations

For stdio Server (PostgreSQL Example):

Command: node ~/mcp-quickstart/postgresql-server/build/index.js --connection-string $POSTGRES_CONNECTION_STRING

For SSE Server:

URL: https://your-postgres-mcp-server.com/sse

Using MCP Tools

Tool Availability

  • • After adding a server, it will appear in your MCP servers list
  • • You may need to click the refresh button to populate the tool list

Using Tools in Composer

  • • The Composer Agent automatically uses MCP tools when relevant
  • • You can explicitly prompt tool usage by:
    • Referring to the tool by name
    • Describing the tool's function

Tool Execution Process

  • • Displays a message in chat requesting approval
  • • Shows tool call arguments (expandable)
  • • Executes the tool upon user approval
  • • Displays the tool's response in the chat

Important Notes

  • • MCP tools may not work with all models
  • • MCP tools are only available to the Agent in Composer
  • • For PostgreSQL integration, you need to set up a POSTGRES_CONNECTION_STRING environment variable
  • • The connection string should have read-only access to your database
  • • For security, use a wrapper script that sets the environment variables before running the server