This document describes the current runtime MCP tool contracts for Database MCP Server.
Canonical sources:
internal/mcp/server.go(runtime registration)docs/mcp-openapi.yaml(machine-readable schema)
- Protocol: MCP (JSON-RPC over stdio)
- Primary transport: stdio
- Optional transport: HTTP/SSE when
MCP_SSE_ADDRis configured
Typical request:
{
"jsonrpc": "2.0",
"method": "tool-name",
"params": {"...": "..."},
"id": "req_001"
}Typical success response:
{
"jsonrpc": "2.0",
"result": {"...": "..."},
"id": "req_001"
}Typical error response:
{
"jsonrpc": "2.0",
"error": {
"code": "ERROR_CODE",
"message": "Human-readable message",
"details": {"...": "..."},
"suggestions": ["...", "..."]
},
"id": "req_001"
}configure-profile
- Purpose: create, update, delete, or clone a database connection profile
- Key params:
profile_name,action(delete|clone|""),source_profile(for clone),db_type,database_name,readonly, plus host/port/user/pass for non-sqlite
list-profiles
- Purpose: list configured profiles
- Key params: none
mcp-info
- Purpose: return provider version/author metadata
- Key params: none
list-tools
- Purpose: list runtime-registered tools and descriptions
- Key params: none
list-databases
- Purpose: list accessible databases/schemas for a profile
- Key params:
profile_name
list-tables
- Purpose: list tables/views in a specific database
- Key params:
profile_name,database_name
describe-table
- Purpose: return comprehensive table schema metadata
- Key params:
profile_name,database_name,table_name
sample-data
- Purpose: fetch sample rows for schema/value understanding
- Key params:
profile_name,database_name,table_name, optionalsample_size
execute-sql
- Purpose: execute SQL statement/query
- Key params:
profile_name,database_name,sql, optionalparams
discover-joins
- Purpose: detect joinable FK relationships and suggest joins
- Key params:
profile_name, optionaltables
analyze-schema
- Purpose: multi-level schema analysis with optional advanced profiling
- Key params:
profile_name,analysis_level(basic|detailed|comprehensive), optional filters andprofiling
smart-query-builder
- Purpose: generate SQL from natural-language intent
- Key params:
profile_name,intent, optionaldatabase_name,table_names
validate-query
- Purpose: validate syntax/risky patterns without execution
- Key params:
profile_name,sql, optionaldatabase_name,params
optimize-query
- Purpose: run explain-style optimization analysis
- Key params:
profile_name,database_name,sql, optionalparams
analyze-data-lineage
- Purpose: trace upstream/downstream table dependencies
- Key params:
profile_name,table_name, optionaldatabase_name,scope
discover-insights
- Purpose: discover KPI/trend/anomaly/distribution insights from table data
- Key params:
profile_name,table_name, optionalcolumns,insight_types,max_results
track-schema-changes
- Purpose: schema snapshot/history/migration/drift workflows
- Key params:
profile_name, optionaloperation,database_name, snapshot and migration parameters
federated-query
- Purpose: read-only multi-profile query federation with join/aggregation
- Key params: either federated
sqlorsub_queries, optionaljoins,aggregations, pagination and concurrency
The following tools are planned for the Data Migration feature (Phase 4):
start-migration-job
- Purpose: Start an asynchronous cross-database migration job
- Key params:
source_profile,source_database,target_profile,target_database, optionalsource_table,include_tables,truncate_target,stop_on_error - Returns:
job_idfor status tracking
check-migration-status
- Purpose: Poll migration job progress and results
- Key params:
job_id - Returns:
status,progress_percent,tables_status,rows_migrated,rows_failed, error file paths
generate-schema-copy
- Purpose: Generate schema translation SQL between database dialects (helper for LLM-guided migration)
- Key params:
source_profile,source_database,target_profile,target_database, optionalsource_table,include_tables - Returns: SQL files for tables, indexes, foreign keys, triggers, views; skipped items for unsupported objects
Design Document: docs/data-migration-design.md
smart-query-buildervalidate-queryoptimize-queryexecute-sql
list-databaseslist-tablesdescribe-tablesample-data
track-schema-changes(track)track-schema-changes(history)track-schema-changes(detect_drift)track-schema-changes(generate_migration)
- Ensure each source has a configured profile
- Use
federated-query - Review metadata for partial failures/errors
For full request/response schema details, use:
docs/mcp-openapi.yamldocs/mcp-examples.md
These files are the maintained detailed contract references.