Skip to main content
Glama

Database Tools for Claude AI

by elber-code
index.js1.9 kB
import { config } from 'dotenv'; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { z } from "zod"; import { executeMysqlQuery } from "./mysql.js"; config(); const server = new McpServer({ name: "database-tools", version: "1.0.0", capabilities: { resources: {}, tools: {}, }, }); server.tool("mysql", "Execute a query in MySQL", { query: z.string().describe("SQL query to execute"), }, async ({ query }) => { try { return executeMysqlQuery(query, { host: process.env.DB_HOST || 'localhost', user: process.env.DB_USER || 'root', password: process.env.DB_PASSWORD || '' }); } catch (error) { return { content: [ { type: "text", text: "Error executing query: " + (error.message || "Unknown error"), }, ], }; } }); /* server.tool("mysql-remote", "Execute a query on the remote MySQL database", { query: z.string().describe("SQL query to execute"), }, async ({ query }) => { try { return executeMysqlQuery(query, { host: 'remote-host', user: 'remote-user', password: 'remote-password' }); } catch (error) { return { content: [ { type: "text", text: "Error executing query: " + (error.message || "Unknown error"), }, ], }; } }); */ async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.error("Server running on stdio"); } main().catch((error) => { console.error("Fatal error in main():", error); process.exit(1); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/elber-code/database-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server