pvs-mcp-server
A PM2-deployed MCP server that provides model context protocol endpoints for multiple SQL Anywhere databases with read-only ODBC access, enabling AI assistants to query database content.
README
SQL Anywhere MCP Server - PM2
Simple PM2 deployment for running one MCP server process per SQL Anywhere database.
Files
.env shared credentials and runtime settings
package.json npm scripts
ecosystem.config.cjs generated PM2 process list
configs/*.json generated DB connection config files
scripts/generate-configs.cjs config + PM2 generator
src/server.js MCP server
src/start-connection.js starts one DB config file
logs/.gitkeep keeps logs folder in git
1. Install
npm install
npm install -g pm2
2. Set shared credentials
Edit .env once:
MCP_SERVER_API_KEY=change-this-user-key
ADMIN_API_KEYS=change-this-admin-key
ODBC_USER=readonly_user
ODBC_PASSWORD=readonly_password
CORS_ALLOWED_ORIGINS=https://your-openwebui-domain.com
Use a read-only SQL Anywhere account.
3. Generate DB config files and PM2 apps
Generate 5 databases on ports 8081 to 8085:
npm run generate:configs -- --count 5 --base-port 8081
This creates:
configs/db1.json
configs/db2.json
configs/db3.json
configs/db4.json
configs/db5.json
ecosystem.config.cjs
Default generated DSNs are:
DB1_DSN
DB2_DSN
DB3_DSN
DB4_DSN
DB5_DSN
To use your real DSN names in one command:
npm run generate:configs -- --names db1,db2,db3,db4,db5 --dsns TestData,PVSData,PVSales,ValueDB,SALT --base-port 8000
To generate a different number of databases:
npm run generate:configs -- --count 10 --base-port 8081
To use a custom DSN naming pattern:
npm run generate:configs -- --count 5 --dsn-prefix PVS_DB --dsn-suffix _DSN --base-port 8081
That generates DSNs like:
PVS_DB1_DSN
PVS_DB2_DSN
PVS_DB3_DSN
PVS_DB4_DSN
PVS_DB5_DSN
See all generator options:
npm run generate:configs -- --help
4. Check syntax
npm run check
5. Test one DB without PM2
npm run start:one -- configs/db1.json
Then open:
http://localhost:8081/health
Stop it with Ctrl+C after testing.
6. Start with PM2
npm run pm2:start
npm run pm2:save
7. Monitor
npm run pm2:status
npm run pm2:logs
Health checks:
http://localhost:8081/health
http://localhost:8082/health
http://localhost:8083/health
http://localhost:8084/health
http://localhost:8085/health
MCP endpoints:
http://localhost:8081/mcp
http://localhost:8082/mcp
http://localhost:8083/mcp
http://localhost:8084/mcp
http://localhost:8085/mcp
Use this auth header from Open WebUI or ChatGPT connector:
Authorization: Bearer <MCP_SERVER_API_KEY>
PM2 commands
npm run pm2:restart
npm run pm2:stop
npm run pm2:delete
npm run pm2:logs
npm run pm2:status
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.