T

mcp-turso

...
Created 3/10/2025bynbbaier

Categories

ailibsqlmcpmcp-servermodel-context-protocolsqlsqliteturso

Language:

TypeScript

Stars:

4

Forks:

0

mcp-turso

A Model Context Protocol (MCP) server that provides access to the Turso-hosted LibSQL databases. Currently, the server provides the following functionality:

  • Retrieving a list of tables in a database
  • Retrieview the database schema
  • Retrieving the schema of a table
  • Performing SELECT queries

Configuration

With Claude Desktop

Add this to your claude_desktop_config.json:

{
   "mcpServers": [
      "turso": {
         "command": "npx",
         "args": ["-y", "mcp-turso"],
         "env": {
            "TURSO_DATABASE_URL": "your_url",
            "TURSO_AUTH_TOKEN": "your_token"
         }
      }
   ]
}

You will need an existing database to continue. If you don’t have one, create one. To get the database URL via the Turso CLI, run:

turso db show --url 

Then get the database authentication token:

turso db tokens create 

Add those values to your configuration as shown above.

Logging

The server includes a custom logger for debugging outside of Claude Desktop. By default, this logger writes to /logs/mcp-turso.log, where `` is the parent directory of directory containing the mcp-turso script. In other words, if the path to mcp-turso is ~/foo/bin/mcp-turso, the logs will be at ~/foo/logs/mcp-turso.log. If running with NPX as above, the default logs will be:

~/.npm/_npx//node_modules/mcp-turso/logs/mcp-turso.log

If you would like to specify a custom path, you can include a --logs flag with an absolute posix path in the server's configuration:

{
   "mcpServers": [
      "turso": {
         "command": "npx",
         "args": ["-y", "mcp-turso", "--logs", "/Users//path/to/dir/mcp-logs.log"],
         "env": {
            "TURSO_DATABASE_URL": "your_url",
            "TURSO_AUTH_TOKEN": "your_token"
         }
      }
   ]
}
            The path to the log file (default or custom) is always logged to `stderr` when the server is created. For Claude desktop, this will show up in your server logs in `~/Library/Logs/Claude`. 

Note: Right now, I haven't implemented specifying a custom logging file for Windows, but this is coming.

Server Capabilities

The server provides the following tools:

  • list_tables

    • Get a list of all the tables in the database
    • No input
    • Returns: an array of table names
  • get_db_schema

    • Get the schemas of all tables in the database
    • No input
    • Returns: an array of SQL creation statements
  • describe_table

    • View schema information for a specific table

    • Input: - table_name (string): Name of table to describe

    • Returns: Array of column definitions with names and types

  • query

    • Execute a SELECT query to read data from the database
    • Input:
      • query (string): The SELECT SQL query to execute
    • Returns: Query results as an object of type { columns: string[]; rows: Record[]; rowCount: number; }

Todo

  • Add the ability to specify a custom log file on windows
  • Add more query tools

License

MIT License - see the LICENSE file for details.

Last updated: 4/13/2025

Publisher info

nbbaier's avatar

Nico Baier

Independent linguist based in Chicago. PhD from Berkeley. I've also taught at McGill and UBC. I pretend to hate puns but I really don'

17
followers
177
following
73
repos

More MCP servers built with TypeScript

n8n_MCP_server_complete

Complete MCP server for n8n workflow management in Cursor

By dopehunter6
mcp-server-serper

Serper MCP Server supporting search and webpage scraping

By marcopesani10