mcp

mcp

MCP server that provides tools for PostgreSQL database operations and Swagger/OpenAPI integration, enabling database queries and API interactions through MCP.

Category
Visit Server

README

mcp

MCP server combining PostgreSQL tools and Swagger/OpenAPI tools.

The Swagger side is designed as an execution layer for another agent:

  • auth is managed inside MCP memory
  • operation tools are generated from Swagger operationId
  • consumers do not pass Authorization headers, API paths, or HTTP methods

Swagger tool behavior

Registered core Swagger tools:

  • auth_login - stores token in MCP session memory
  • auth_logout - clears stored token
  • auth_status - shows auth session state
  • call_api_by_swagger - low-level operationId caller with internal auth header injection
  • get_profile_page - high-level profile page wrapper
  • get_translations - high-level translations wrapper
  • update_profile - high-level profile update wrapper
  • list_api_endpoints
  • get_endpoint
  • get_schema
  • find_endpoint_by_keyword

Additionally, MCP generates one tool per Swagger operation:

  • tool name pattern: api_<operation_id_normalized>
  • fallback when operationId is missing: api_<method>_<path>
  • input shape for generated tools:
    • pathParams (optional)
    • query (optional)
    • body (optional)

Example generated tools:

  • api_get_profile
  • api_update_profile
  • api_get_translations

Wrapper mapping order is deterministic:

  • fixed table tool_name -> operationId
  • startup validation fails fast if mapped operationId is absent in Swagger

Authentication flow

Preferred usage:

  1. Call auth_login once (or configure env credentials for auto-login).
  2. Call wrapper tools or api_* tools mapped by Swagger operationId.

MCP handles:

  • token storage in process memory
  • automatic Authorization header injection
  • clear unauthorized errors: Unauthorized: call auth_login first

Environment

  • Create .env in repository root.
  • SQL tools require: DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME.
  • Swagger tools require: SWAGGER_URL.

Auth/API controls:

  • AUTH_LOGIN_PATH (default: /api/v1/login)
  • AUTH_LOGIN_METHOD (default: post)
  • AUTH_USERNAME_FIELD (default: username)
  • AUTH_PASSWORD_FIELD (default: password)
  • AUTH_TOKEN_FIELD_PATH (default: content.accessToken)
  • AUTH_TOKEN_TYPE_FIELD_PATH (default: content.tokenType)
  • AUTH_DEFAULT_TOKEN_TYPE (default: Bearer)
  • AUTH_TOKEN (optional pre-seeded static token)
  • AUTH_USERNAME / AUTH_PASSWORD (optional for auto-login)
  • AUTH_AUTO_LOGIN (default: true)
  • API_REQUEST_TIMEOUT_MS (default: 15000)
  • API_RETRY_ON_UNAUTHORIZED (default: true)

If required variables are missing, corresponding tool groups are not registered. tool_status is always available.

Structure

  • index.js - bootstrap and wiring.
  • src/config/env.js - environment config parsing.
  • src/infrastructure/db/client.js - PostgreSQL client factory.
  • src/services/auth/auth-session.js - auth session and token management.
  • src/services/swagger/swagger-cache.js - Swagger loading and cache.
  • src/tools/register-sql-tools.js - SQL MCP tools.
  • src/tools/register-swagger-tools.js - auth and generated Swagger operation tools.
  • src/tools/register-health-tool.js - combined health check tool.
  • src/tools/register-status-tool.js - tool availability diagnostics.

Run

npm install
npm start

Quick check

npm run check

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured