{"name":"io.github.neverinfamous/db-mcp","slug":"neverinfamous-db-mcp","title":"db-mcp (SQLite MCP Server)","description":"SQLite MCP server with OAuth 2.1, HTTP/SSE, 122 tools, and smart tool filtering","url":"https://mcp.market/server/neverinfamous-db-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"data","tags":["data"],"presence":{"score":34,"stars":11,"forks":1,"downloads_week":47,"last_push_at":"2026-09-25T06:54:00.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/neverinfamous/db-mcp.git","website":null,"version":"1.0.2","remotes":[],"packages":[{"registryType":"npm","identifier":"db-mcp","version":"1.0.2","transport":{"type":"stdio"}},{"registryType":"oci","identifier":"docker.io/writenotenow/db-mcp:v1.0.2","transport":{"type":"stdio"}}],"tools":[{"name":"sqlite_advanced_search","description":"Advanced search combining exact, fuzzy (Levenshtein), and phonetic (Soundex) matching","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_analyze","description":"Analyze table statistics to improve query performance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_analyze_csv_schema","description":"Analyze a CSV file structure and infer column types. Uses a temporary virtual table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_append_insight","description":"Add a business insight to the memo://insights resource. Use this to capture key findings during data analysis.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_backup","description":"Create a backup of the database to a file.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_create_csv_table","description":"Create a virtual table from a CSV file. Requires the csv extension.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_create_index","description":"Create an index on one or more columns to improve query performance.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_create_json_collection","description":"Create an optimized JSON document collection table with ID, data column, optional timestamps, and JSON path indexes.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_create_table","description":"Create a new table in the database with specified columns and constraints.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_create_view","description":"Create a view based on a SELECT query.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_dbstat","description":"Get database storage statistics using dbstat virtual table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_describe_table","description":"Get detailed schema information for a table including columns, types, and constraints.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_drop_table","description":"Drop (delete) a table from the database. This is irreversible!","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_drop_view","description":"Drop (delete) a view from the database.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_drop_virtual_table","description":"Drop a virtual table.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_fts_create","description":"Create an FTS5 full-text search virtual table.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_fts_match_info","description":"Get FTS5 match ranking information using bm25.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_fts_rebuild","description":"Rebuild an FTS5 index to optimize search performance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_fts_search","description":"Search an FTS5 table using full-text query syntax.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_fuzzy_match","description":"Find fuzzy matches using Levenshtein distance. By default, splits values into tokens and matches against each word (use tokenize:false to match entire value). Use maxDistance 1-3 for similar-length strings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_generate_series","description":"Generate a series of numbers using generate_series() virtual table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_geo_bounding_box","description":"Find points within a rectangular bounding box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_geo_cluster","description":"Cluster geographic points into grid cells.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_geo_distance","description":"Calculate the distance between two geographic points using Haversine formula.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_geo_nearby","description":"Find points within a radius of a center point.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_get_indexes","description":"List all indexes in the database, optionally filtered by table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_index_stats","description":"Get detailed statistics for database indexes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_integrity_check","description":"Check database integrity for corruption or errors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_analyze_schema","description":"Analyze JSON data in a column to infer its schema (types, nullability, counts).","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_array_append","description":"Append a value to a JSON array using json_insert().","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_array_length","description":"Get the length of a JSON array at the specified path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_each","description":"Expand a JSON array or object into rows using json_each().","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_extract","description":"Extract a value from a JSON column at the specified path using json_extract().","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_group_array","description":"Aggregate column values into a JSON array using json_group_array().","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_group_object","description":"Aggregate key-value pairs into a JSON object using json_group_object().","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_insert","description":"Insert a row with JSON data. Automatically normalizes JSON for consistent storage.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_json_keys","description":"Get the distinct keys of JSON objects at the specified path (returns unique keys across all matching rows).","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_merge","description":"Merge JSON object into existing JSON column using json_patch().","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_normalize_column","description":"Normalize JSON data in a column (sort keys, compact format) for consistent storage and comparison.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_pretty","description":"Format JSON string with indentation for readability.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_query","description":"Query JSON data with path-based filters and projections.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_remove","description":"Remove a value at a JSON path using json_remove().","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_json_select","description":"Select rows and optionally extract specific JSON paths.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_set","description":"Set a value at a JSON path using json_set(). Creates path if it does not exist.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_storage_info","description":"Analyze storage format of a JSON column (text vs JSONB) and report statistics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_type","description":"Get the JSON type (null, true, false, integer, real, text, array, object) at a path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_update","description":"Update a value at a specific JSON path using json_set().","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_json_valid","description":"Check if a string is valid JSON.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_json_validate_path","description":"Validate a JSON path syntax without executing a query.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_jsonb_convert","description":"Convert a text JSON column to JSONB binary format for faster processing. Requires SQLite 3.45+.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_list_tables","description":"List all tables and views in the database with their column counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_list_views","description":"List all views in the database.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_list_virtual_tables","description":"List all virtual tables in the database.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_optimize","description":"Optimize database by reindexing and/or analyzing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_phonetic_match","description":"Find phonetically similar values using Soundex (SQLite native) or Metaphone algorithm.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_pragma_compile_options","description":"Get the compile-time options used to build SQLite. Use the filter parameter to reduce output (~50+ options by default).","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_pragma_database_list","description":"List all attached databases.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_pragma_optimize","description":"Run PRAGMA optimize to improve query performance based on usage patterns.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_pragma_settings","description":"Get or set a PRAGMA value.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_pragma_table_info","description":"Get detailed column information for a table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_read_query","description":"Execute a SELECT query on the SQLite database. Returns rows as JSON. Use parameter binding for safety.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_regex_extract","description":"Extract text matching a regex pattern. Processed in JavaScript after fetching data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_regex_match","description":"Find rows where column matches a regex pattern. Processed in JavaScript.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_restore","description":"Restore database from a backup file. WARNING: This replaces the current database.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_basic","description":"Get basic statistics (count, sum, avg, min, max) for a numeric column.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_correlation","description":"Calculate Pearson correlation coefficient between two numeric columns.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_count","description":"Count rows, optionally distinct values in a column.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_distinct","description":"Get distinct values from a column.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_frequency","description":"Get frequency distribution of values in a column.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_group_by","description":"Aggregate statistics grouped by a column.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_histogram","description":"Create a histogram with specified number of buckets.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_hypothesis","description":"Perform statistical hypothesis tests: one-sample t-test, two-sample t-test, or chi-square test.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_outliers","description":"Detect outliers using IQR (Interquartile Range) or Z-score method.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_percentile","description":"Calculate percentiles (median, quartiles, etc.) for a column.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_regression","description":"Perform linear or polynomial regression analysis between two columns.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_summary","description":"Get summary statistics for multiple columns at once.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_stats_top_n","description":"Get top N values from a column.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_case","description":"Convert text to uppercase or lowercase.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_concat","description":"Concatenate multiple columns with optional separator.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_normalize","description":"Normalize text using Unicode normalization (NFC, NFD, NFKC, NFKD) or strip accents.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_replace","description":"Replace text in a column using SQLite replace() function.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_split","description":"Split a text column by delimiter into array results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_substring","description":"Extract a substring from text column using substr().","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_trim","description":"Trim whitespace from text column values.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_text_validate","description":"Validate text values against patterns: email, phone, URL, UUID, IPv4, or custom regex.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vacuum","description":"Rebuild the database to reclaim space and optimize structure.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_batch_store","description":"Store multiple vectors in a batch operation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_count","description":"Count vectors in a table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_create_table","description":"Create a table optimized for vector storage with JSON vector column.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_delete","description":"Delete vectors by their IDs.","write_action":true,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_dimensions","description":"Get the dimensions of vectors in a table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_distance","description":"Calculate distance or similarity between two vectors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_get","description":"Retrieve a vector by its ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_normalize","description":"Normalize a vector to unit length.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_search","description":"Find similar vectors using cosine, euclidean, or dot product similarity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_stats","description":"Get statistics about vectors in a table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_vector_store","description":"Store or update a vector in the database.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_verify_backup","description":"Verify a backup file's integrity without restoring it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_virtual_table_info","description":"Get metadata about a specific virtual table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sqlite_write_query","description":"Execute an INSERT, UPDATE, or DELETE query. Returns affected row count. Use parameter binding for safety.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-28T14:29:31.149Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-28T14:29:31.152Z","components":{"code":{"score":25,"max":25,"notes":["104 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":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 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-mcp","version":"1.0.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":8,"publishedAt":"2026-02-04T12:48:44.037Z","repositoryUrl":"git+https://github.com/neverinfamous/db-mcp.git","weeklyDownloads":47}],"repo":{"found":true,"owner":"neverinfamous","repo":"db-mcp","archived":false,"pushedAt":"2026-09-25T06:54:00Z","stars":11,"forks":1,"openIssues":6,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/187553399?v=4","ownerCreatedAt":"2024-11-06T17:54:28Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/187553399?v=4&s=128","source":"github"},"presence":{"stars":11,"forks":1,"downloadsWeek":47,"license":"MIT","lastPushAt":"2026-09-25T06:54:00.000Z","score":34}}}},"grade_history":[],"reviews":[]}