{"name":"io.github.sijunkim/db-gateway","slug":"sijunkim-db-gateway","title":null,"description":"145+ tools across 8 databases: MySQL, PostgreSQL, Redshift, MongoDB, Redis, Kafka, and more","url":"https://mcp.market/server/sijunkim-db-gateway","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"data","tags":["data"],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":32,"last_push_at":"2026-08-09T15:41:15.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/sijunkim/db-gateway","website":null,"version":"1.0.4","remotes":[],"packages":[{"registryType":"npm","identifier":"db-gateway","version":"1.0.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Engines to enable, comma-separated. Only the listed engines get their tools registered. Example: mysql,redis,kafka","isRequired":true,"format":"string","name":"DBS"},{"description":"Set to true to hide every write tool and restrict *_execute_query to SELECT-style statements. Recommended when pointing at production.","format":"string","name":"READ_ONLY"},{"description":"MySQL connection string(s), semicolon-separated for multiple instances. Format: mysql://<user>:<password>@<host>:3306/<database>?alias=dev&default=true — alias is required.","format":"string","isSecret":true,"name":"MYSQL"},{"description":"PostgreSQL connection string(s), semicolon-separated. Format: postgresql://<user>:<password>@<host>:5432/<database>?alias=dev&ssl=true — alias is required.","format":"string","isSecret":true,"name":"POSTGRESQL"},{"description":"Redshift connection string(s), semicolon-separated. Format: redshift://<user>:<password>@<host>:5439/<database>?alias=dev&ssl=true — alias is required.","format":"string","isSecret":true,"name":"REDSHIFT"},{"description":"MongoDB connection string(s), semicolon-separated. Format: mongodb://<user>:<password>@<host>:27017/<database>?alias=dev — alias is required.","format":"string","isSecret":true,"name":"MONGODB"},{"description":"Redis connection string(s), semicolon-separated. Format: redis://:<password>@<host>:6379/0?alias=dev — leave the password empty for a no-auth instance. alias is required.","format":"string","isSecret":true,"name":"REDIS"},{"description":"Elasticsearch connection string(s), semicolon-separated. Format: elasticsearch://<user>:<password>@<host>:9200?alias=dev, or http(s)://<host>:9200?alias=dev for no auth. alias is required.","format":"string","isSecret":true,"name":"ELASTICSEARCH"},{"description":"Kafka connection string(s), semicolon-separated. Format: kafka://<user>:<password>@<broker1>:9092,<broker2>:9092?alias=dev&mechanism=plain — alias is required.","format":"string","isSecret":true,"name":"KAFKA"},{"description":"AWS region for DynamoDB. DynamoDB is configured with discrete variables instead of a connection string.","format":"string","name":"DYNAMODB_REGION"},{"description":"AWS access key ID for DynamoDB.","format":"string","isSecret":true,"name":"DYNAMODB_ACCESS_KEY_ID"},{"description":"AWS secret access key for DynamoDB.","format":"string","isSecret":true,"name":"DYNAMODB_SECRET_ACCESS_KEY"}]}],"tools":[{"name":"dynamodb_batch_get_item","description":"Get multiple items from one or more DynamoDB tables in a single request","write_action":false,"price_micros":0,"input_schema":null},{"name":"dynamodb_batch_write_item","description":"Put or delete multiple items in one or more DynamoDB tables","write_action":true,"price_micros":0,"input_schema":null},{"name":"dynamodb_create_table","description":"Create a new DynamoDB table","write_action":true,"price_micros":0,"input_schema":null},{"name":"dynamodb_delete_item","description":"Delete an item from a DynamoDB table","write_action":true,"price_micros":0,"input_schema":null},{"name":"dynamodb_delete_table","description":"Delete a DynamoDB table (WARNING: This permanently removes the table and all its data)","write_action":true,"price_micros":0,"input_schema":null},{"name":"dynamodb_describe_table","description":"Get detailed information about a DynamoDB table","write_action":false,"price_micros":0,"input_schema":null},{"name":"dynamodb_get_item","description":"Get an item from a DynamoDB table by its primary key","write_action":false,"price_micros":0,"input_schema":null},{"name":"dynamodb_list_tables","description":"List all tables in DynamoDB","write_action":false,"price_micros":0,"input_schema":null},{"name":"dynamodb_put_item","description":"Create or replace an item in a DynamoDB table","write_action":true,"price_micros":0,"input_schema":null},{"name":"dynamodb_query","description":"Query items from a DynamoDB table using key conditions","write_action":false,"price_micros":0,"input_schema":null},{"name":"dynamodb_scan","description":"Scan all items in a DynamoDB table (use with caution on large tables)","write_action":false,"price_micros":0,"input_schema":null},{"name":"dynamodb_transact_write_items","description":"Perform multiple Put, Update, Delete, or ConditionCheck operations atomically across one or more tables","write_action":true,"price_micros":0,"input_schema":null},{"name":"dynamodb_update_item","description":"Update an existing item in a DynamoDB table","write_action":true,"price_micros":0,"input_schema":null},{"name":"elasticsearch_aggregate","description":"Perform aggregations on documents","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_bulk","description":"Perform bulk operations (index, update, delete) in a single request","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_count","description":"Count documents matching a query","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_create_alias","description":"Create an alias for an index","write_action":true,"price_micros":0,"input_schema":null},{"name":"elasticsearch_create_index","description":"Create a new index with optional settings and mappings","write_action":true,"price_micros":0,"input_schema":null},{"name":"elasticsearch_delete_alias","description":"Delete an alias from an index","write_action":true,"price_micros":0,"input_schema":null},{"name":"elasticsearch_delete_document","description":"Delete a document by ID","write_action":true,"price_micros":0,"input_schema":null},{"name":"elasticsearch_delete_index","description":"Delete an index (WARNING: This permanently removes the index and all its data)","write_action":true,"price_micros":0,"input_schema":null},{"name":"elasticsearch_get_cluster_health","description":"Get the health status of the ElasticSearch/OpenSearch cluster","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_get_cluster_info","description":"Get basic information about the ElasticSearch/OpenSearch cluster","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_get_document","description":"Get a document by its ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_get_index","description":"Get detailed information about a specific index","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_get_index_settings","description":"Get the settings of an index","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_get_mapping","description":"Get the mapping definition of an index","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_index_document","description":"Index (create or update) a document","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_list_aliases","description":"List all index aliases","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_list_indices","description":"List all indices in the ElasticSearch/OpenSearch cluster","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_refresh_index","description":"Refresh an index to make recent changes searchable","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_search","description":"Search for documents using Query DSL","write_action":false,"price_micros":0,"input_schema":null},{"name":"elasticsearch_update_document","description":"Partially update an existing document","write_action":true,"price_micros":0,"input_schema":null},{"name":"kafka_add_partitions","description":"Increase the number of partitions for a topic (cannot decrease partitions)","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_alter_topic_config","description":"Modify configuration settings for a Kafka topic","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_create_topic","description":"Create a new Kafka topic with specified partitions and replication factor","write_action":true,"price_micros":0,"input_schema":null},{"name":"kafka_delete_consumer_group","description":"Delete a consumer group. Group must be inactive (no running consumers)","write_action":true,"price_micros":0,"input_schema":null},{"name":"kafka_delete_topic","description":"Delete a Kafka topic (WARNING: This permanently removes the topic and all its data)","write_action":true,"price_micros":0,"input_schema":null},{"name":"kafka_describe_consumer_group","description":"Get detailed information about a consumer group including members and their assignments","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_describe_topic","description":"Get detailed information about a Kafka topic including partitions, leaders, and replicas","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_get_cluster_info","description":"Get Kafka cluster information including brokers, controller, and cluster ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_get_consumer_group_offsets","description":"Get committed offsets for a consumer group on a specific topic","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_get_latest_messages","description":"Get the most recent messages from a topic across all partitions","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_get_messages","description":"Read messages from a specific partition starting from a given offset","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_get_topic_config","description":"Get configuration settings for a Kafka topic (retention, cleanup policy, etc.)","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_get_topic_offsets","description":"Get offset information for each partition of a topic (current, high, low watermarks)","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_list_consumer_groups","description":"List all consumer groups in the Kafka cluster","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_list_topics","description":"List all topics in the Kafka cluster (excludes internal topics starting with __)","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_produce_message","description":"Produce a message to a Kafka topic (for testing purposes)","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_reset_consumer_offsets","description":"Reset consumer group offsets for reprocessing messages. Group must be inactive (no running consumers)","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_search_messages_by_content","description":"Search for messages by content (value contains search text). Scans from beginning of topic","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_search_messages_by_key","description":"Search for messages by key (exact match or contains). Scans from beginning of topic","write_action":false,"price_micros":0,"input_schema":null},{"name":"kafka_search_messages_by_timestamp","description":"Search for messages within a specific time range","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_aggregate","description":"Perform an aggregation pipeline on a MongoDB collection","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_collection_stats","description":"Get statistics about a MongoDB collection (size, count, indexes, storage)","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_count","description":"Count documents in a MongoDB collection matching an optional filter","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_create_index","description":"Create an index on a specified MongoDB collection","write_action":true,"price_micros":0,"input_schema":null},{"name":"mongodb_delete_many","description":"Delete multiple documents from a MongoDB collection","write_action":true,"price_micros":0,"input_schema":null},{"name":"mongodb_delete_one","description":"Delete a single document from a MongoDB collection","write_action":true,"price_micros":0,"input_schema":null},{"name":"mongodb_distinct","description":"Get distinct values for a field in a MongoDB collection","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_drop_collection","description":"Drop a collection from a specified MongoDB database","write_action":true,"price_micros":0,"input_schema":null},{"name":"mongodb_find_many","description":"Find multiple documents in a MongoDB collection","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_find_one","description":"Find a single document in a MongoDB collection","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_insert_many","description":"Insert multiple documents into a MongoDB collection","write_action":true,"price_micros":0,"input_schema":null},{"name":"mongodb_insert_one","description":"Insert a single document into a MongoDB collection","write_action":true,"price_micros":0,"input_schema":null},{"name":"mongodb_list_collections","description":"List all collections in a specified MongoDB database","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_list_databases","description":"List all databases in MongoDB","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_list_indexes","description":"List all indexes on a MongoDB collection","write_action":false,"price_micros":0,"input_schema":null},{"name":"mongodb_update_many","description":"Update multiple documents in a MongoDB collection","write_action":true,"price_micros":0,"input_schema":null},{"name":"mongodb_update_one","description":"Update a single document in a MongoDB collection","write_action":true,"price_micros":0,"input_schema":null},{"name":"mysql_describe_table","description":"Describe the structure of a MySQL table","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_execute_batch","description":"Execute multiple SQL queries sequentially on a single connection. Useful for running several queries at once. All queries share the same connection, so SET variables and temporary tables persist across queries. Returns an array of { query, result } pairs.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mysql_execute_query","description":"Execute SQL query on MySQL database","write_action":true,"price_micros":0,"input_schema":null},{"name":"mysql_explain_query","description":"Get the execution plan for a SQL query (EXPLAIN)","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_get_all_schemas","description":"Get CREATE TABLE statements for all tables in the current database","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_get_schema","description":"Get the CREATE TABLE statement for a specific MySQL table","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_get_table_relationships","description":"Get all foreign key relationships between tables in the current database","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_kill_process","description":"Kill a MySQL connection/query by process ID","write_action":true,"price_micros":0,"input_schema":null},{"name":"mysql_list_connections","description":"List all configured MySQL connections with their status (connected/disconnected)","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_list_databases","description":"List all databases the current user can see in MySQL","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_list_indexes","description":"List all indexes on a specific MySQL table","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_show_processlist","description":"Show all running queries and connections in MySQL (SHOW FULL PROCESSLIST)","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_show_status","description":"Show MySQL server status variables (connections, queries, etc.)","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_show_tables","description":"Show all tables in the current MySQL database","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_show_variables","description":"Show MySQL server configuration variables","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_table_stats","description":"Get table statistics including row count, data size, and index size","write_action":false,"price_micros":0,"input_schema":null},{"name":"mysql_use_database","description":"Switch to a different MySQL database","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_describe_table","description":"Describe the structure of a PostgreSQL table","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_execute_query","description":"Execute SQL query on PostgreSQL database","write_action":true,"price_micros":0,"input_schema":null},{"name":"postgresql_explain_query","description":"Get the execution plan for a SQL query (EXPLAIN FORMAT JSON)","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_get_schema","description":"Get the schema information for a specific PostgreSQL table","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_kill_process","description":"Terminate a PostgreSQL connection/query by PID (pg_terminate_backend)","write_action":true,"price_micros":0,"input_schema":null},{"name":"postgresql_list_databases","description":"List all databases the current user can see in PostgreSQL","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_list_indexes","description":"List all indexes on a specific PostgreSQL table","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_show_processlist","description":"Show all active queries and connections in PostgreSQL (pg_stat_activity)","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_show_status","description":"Show PostgreSQL database statistics (connections, transactions, cache hits)","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_show_tables","description":"Show all tables in the current PostgreSQL database (public schema)","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_show_variables","description":"Show PostgreSQL server configuration variables (pg_settings)","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_table_stats","description":"Get table statistics including row count, size, and vacuum info","write_action":false,"price_micros":0,"input_schema":null},{"name":"postgresql_use_database","description":"Switch to a different PostgreSQL database (reconnects)","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-23T21:40:59.844Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T21:40:59.817Z","components":{"code":{"score":25,"max":25,"notes":["49 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 45 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"db-gateway","version":"1.0.4","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":11,"publishedAt":"2026-08-09T15:41:48.462Z","repositoryUrl":"git+https://github.com/sijunkim/db-gateway.git","weeklyDownloads":32}],"repo":{"found":true,"owner":"sijunkim","repo":"db-gateway","archived":false,"pushedAt":"2026-08-09T15:41:15Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/13793993?v=4","ownerCreatedAt":"2015-08-14T07:32:53Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/13793993?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":32,"license":"MIT","lastPushAt":"2026-08-09T15:41:15.000Z","score":18}}}},"grade_history":[],"reviews":[]}