fastmcp-sqltools
by atarkowska
README.md
# FastMCP SQL Tools
mcp-name: io.github.atarkowska/fastmcp-sqltools
A Model Context Protocol (MCP) server built with FastMCP that provides SQL database access with support for PostgreSQL, MySQL, and SQLite.
## Features
- **list_tables**: List all tables in the database
- **get_table_schema**: Get detailed schema information for a table including columns, types, constraints, and indexes
- **execute_query**: Execute any SQL query (INSERT, UPDATE, DELETE, DDL, etc.)
- **execute_safe_query**: Execute read-only SELECT queries with additional safety checks
## Supported Databases
- **PostgreSQL**: Full support via asyncpg
- **MySQL**: Full support via aiomysql
- **SQLite**: Full support via aiosqlite
The server automatically detects the database type from the `DATABASE_URL` environment variable.
## Configuration
[](https://github.com/atarkowska/fastmcp-sqltools/blob/main/README.md#configuration)
Add the following to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"sql-mcp-tools": {
"command": "uvx",
"args": [
"fastmcp-sqltools"
],
"env": {
"DATABASE_URL": "<your-database-url>"
}
}
}
}
```
### Database URL Format
The `DATABASE_URL` should be in one of the following formats:
- **PostgreSQL**: `postgresql://user:password@host:port/database` or `postgres://user:password@host:port/database`
- **MySQL**: `mysql://user:password@host:port/database`
- **SQLite**: `sqlite:///path/to/database.db` (use three slashes for absolute path)
## License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
See the LICENSE file for details.
TDQS
A3.7/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: execute_query for any SQL, execute_safe_query for read-only, get_table_schema for column definitions, and list_tables for table listing. No ambiguity.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case, e.g., execute_query, list_tables. No deviations.
Tool Count5/5
Four tools is appropriate for a SQL tool server covering query execution, safe querying, schema retrieval, and table listing. Well-scoped.
Completeness3/5
Core operations are present, but missing a tool to list schemas (list_tables requires a schema parameter), which could cause agent failures. DDL is covered via execute_query.
Maintenance
ActivityInactive
ResponsivenessNo issues