Summary
Connect SQL Server, PostgreSQL, MySQL, Oracle, SAP HANA or MongoDB to Claude and ChatGPT via MCP. Read-only by default: only SELECT runs. No code.
TL;DR: AnythingMCP connects to your database and gives Claude, ChatGPT and Copilot tools to list tables, describe columns and run queries. Only a single SELECT runs: writes and stacked statements are blocked before they reach the database. A five-minute demo with PostgreSQL and MySQL is in sql-to-mcp on GitHub.
Direct Database Access for AI Agents
Instead of building REST APIs on top of your databases, AnythingMCP connects directly to your database and exposes it as MCP tools. AI agents can query data using natural language.
Supported Databases
| Database | Status | Access Mode |
|---|---|---|
| PostgreSQL | Supported | Read-only |
| MySQL | Supported | Read-only |
| MariaDB | Supported | Read-only |
| Microsoft SQL Server | Supported | Read-only |
| Oracle | Supported | Read-only |
| SAP HANA | Supported | Read-only |
| SQLite | Supported | Read-only |
| MongoDB | Supported | Read-only |
Important: All database connectors in AnythingMCP are read-only by design. This ensures AI agents cannot accidentally modify or delete data.
Auto-Generated Tools
When you create a database connector, AnythingMCP automatically generates three tools:
| Tool | Description |
|---|---|
get_database_schema | Returns the database schema (tables, columns, types) |
get_example_queries | Suggests example queries based on the schema |
execute_query | Executes a read-only query (SELECT/find only, max 1000 rows) |
Step-by-Step Guide
Step 1: Deploy AnythingMCP
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 2: Create a Database Connector
Open the AnythingMCP dashboard at http://localhost:3000 and create a new Database connector. Select your database type (PostgreSQL, MySQL, MariaDB, MSSQL, Oracle, SAP HANA, SQLite, or MongoDB) and provide the connection details.
Step 3: Configure Connection
Enter your database host, port, credentials, and database name. For SQL databases (PostgreSQL, MySQL, MariaDB, MSSQL, Oracle, SAP HANA, SQLite), the connector will use SQL SELECT queries only. For MongoDB, only find operations are allowed.
SAP HANA takes a connection string such as hana://host:30015/?databaseName=TENANT¤tSchema=SCHEMA; the session is set read-only in HANA itself and each statement times out. For SAP S/4HANA on HANA, the SAP S/4HANA (HANA SQL) adapter adds tools that read SAP's own data dictionary, so the model knows what the abbreviated table and field names mean.
Step 4: Test the Connection
Use the dashboard to verify the connection and review the auto-discovered schema. The get_database_schema tool will show all available tables and columns.
Step 5: Connect to AI Agents
{
"mcpServers": {
"my-database": {
"url": "http://localhost:4000/mcp"
}
}
}
Query Limits
- SQL databases (PostgreSQL, MySQL, MariaDB, MSSQL, Oracle, SAP HANA, SQLite): Only
SELECTstatements are allowed - MongoDB: Only
findoperations are allowed - Row limit: Maximum 1000 rows per query
- No write operations: INSERT, UPDATE, DELETE, DROP are blocked
AI Agent Use Cases
- "Show me all orders from last month with total over $500"
- "What are the top 10 products by revenue?"
- "How many new users signed up this week?"
- "List all customers from Germany"
Security Best Practices
- Use a read-only database user — Create a dedicated user with SELECT-only permissions
- Restrict accessible tables — Only expose tables that are safe for AI access
- SSL connections — Always use encrypted connections in production
- Network restrictions — Limit database access to the AnythingMCP server IP
FAQ
Can Claude query my SQL Server, PostgreSQL or MySQL database? Yes, through MCP. AnythingMCP connects to the database and exposes tools to list tables, describe columns and run a query; Claude writes the SQL after reading the schema.
Can the AI change or delete data? No, by default. The query tools accept a single SELECT (or WITH ... SELECT) and block INSERT, UPDATE, DELETE, DROP and stacked statements. Use a SELECT-only database user as well, so the database enforces the same rule.
How many rows does a query return? At most 1,000. Larger results are truncated and the response says so, which keeps the model's context small.
Does my database have to be reachable from the internet?
Not with a self-hosted AnythingMCP on the same network: add the database host to SSRF_ALLOWED_HOSTS. AnythingMCP Cloud can only reach databases exposed to the internet.
Which databases are supported? PostgreSQL, MySQL, MariaDB, Microsoft SQL Server, Oracle, SAP HANA, SQLite and MongoDB.
Next Steps
-
sql-to-mcp on GitHub — try it in five minutes with demo PostgreSQL and MySQL databases
-
Connect SQL Server to Claude — SQL Server and Windows authentication
-
PostgreSQL to MCP Guide — PostgreSQL-specific setup
-
MySQL to MCP Guide — MySQL-specific setup
-
MariaDB to MCP Guide — MariaDB-specific setup
-
Oracle to MCP Guide — Oracle-specific setup
-
SAP S/4HANA via SAP HANA — SAP HANA with SAP's data dictionary as tools
-
SQLite to MCP Guide — SQLite-specific setup
-
MongoDB to MCP Guide — MongoDB-specific setup
-
REST to MCP Guide — For databases that need write access, expose a REST API instead
Was this guide helpful?