mcp
MCP server that provides tools for PostgreSQL database operations and Swagger/OpenAPI integration, enabling database queries and API interactions through MCP.
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
Authorizationheaders, API paths, or HTTP methods
Swagger tool behavior
Registered core Swagger tools:
auth_login- stores token in MCP session memoryauth_logout- clears stored tokenauth_status- shows auth session statecall_api_by_swagger- low-level operationId caller with internal auth header injectionget_profile_page- high-level profile page wrapperget_translations- high-level translations wrapperupdate_profile- high-level profile update wrapperlist_api_endpointsget_endpointget_schemafind_endpoint_by_keyword
Additionally, MCP generates one tool per Swagger operation:
- tool name pattern:
api_<operation_id_normalized> - fallback when
operationIdis missing:api_<method>_<path> - input shape for generated tools:
pathParams(optional)query(optional)body(optional)
Example generated tools:
api_get_profileapi_update_profileapi_get_translations
Wrapper mapping order is deterministic:
- fixed table
tool_name -> operationId - startup validation fails fast if mapped
operationIdis absent in Swagger
Authentication flow
Preferred usage:
- Call
auth_loginonce (or configure env credentials for auto-login). - Call wrapper tools or
api_*tools mapped by SwaggeroperationId.
MCP handles:
- token storage in process memory
- automatic
Authorizationheader injection - clear unauthorized errors:
Unauthorized: call auth_login first
Environment
- Create
.envin 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.