MCP 万用数据库连接协议 sqlalchemy 服务器是一个基于 SQLAlchemy 的通用数据库连接服务器,支持多种数据库系统,能为不同数据库的连接和操作提供便利。
pip install mcp-sqlalchemy-server
编辑配置文件 config.json:
{
"port": 5001,
"databases": {
"mysql": {
"driver": "mysql+pymysql",
"host": "localhost",
"database": "mydb",
"user": "root",
"password": "password"
},
"postgresql": {
"driver": "postgresql+psycopg2",
"host": "localhost",
"database": "mydb",
"user": "postgres",
"password": "password"
}
}
}
python -m mcp_sqlalchemy_server --config config.json
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-sqlalchemy-server run mcp-sqlalchemy-server
访问提供的 URL 进行服务器交互故障排除。
const MCP = require('mcp-sqlalchemy-client');
// 连接到 MySQL 数据库
const mysqlConn = new MCP.Connection({
database: 'mysql',
user: 'root',
password: 'password'
});
// 执行查询
mysqlConn.query('SELECT * FROM users').then(rows => {
console.log(rows);
}).catch(err => {
console.error(err);
});
// 连接到 PostgreSQL 数据库
const postgresConn = new MCP.Connection({
database: 'postgresql',
user: 'postgres',
password: 'password'
});
// 执行查询
postgresConn.query('SELECT * FROM users').then(rows => {
console.log(rows);
}).catch(err => {
console.error(err);
});
const query = 'SELECT * FROM users WHERE id = 1';
conn.query(query).then(rows => {
console.log(rows);
}).catch(err => {
console.error(err);
});
const query = 'EXEC Demo.demo.execute_spasql_query';
conn.spasql(query).then(rows => {
console.log(rows);
}).catch(err => {
console.error(err);
});
const query = 'SELECT * { ?age}' ;
conn.sparql(query).then(rows => {
console.log(rows);
}).catch(err => {
console.error(err);
});
const prompt = '告诉我一些关于数据库优化的建议。';
conn.virtuosoSupportAI(prompt).then(response => {
console.log(response);
}).catch(err => {
console.error(err);
});