MCP is a protocol that enables secure connections between host applications, such as Claude Desktop, and local services. In this quickstart guide, you’ll learn how to:

  • Set up a local SQLite database
  • Connect Claude Desktop to it through MCP
  • Query and analyze your data securely

While this guide focuses on using Claude Desktop as an example MCP host, the protocol is open and can be integrated by any application. IDEs, AI tools, and other software can all use MCP to connect to local integrations in a standardized way.

Claude Desktop’s MCP support is currently in developer preview and only supports connecting to local MCP servers running on your machine. Remote MCP connections are not yet supported. This integration is only available in the Claude Desktop app, not the Claude web interface (claude.ai).

How MCP works

MCP (Model Context Protocol) is an open protocol that enables secure, controlled interactions between AI applications and local or remote resources. Let’s break down how it works, then look at how we’ll use it in this guide.

General Architecture

At its core, MCP follows a client-server architecture where a host application can connect to multiple servers:

  • MCP Hosts: Programs like Claude Desktop, IDEs, or AI tools that want to access resources through MCP
  • MCP Clients: Protocol clients that maintain 1:1 connections with servers
  • MCP Servers: Lightweight programs that each expose specific capabilities through the standardized Model Context Protocol
  • Local Resources: Your computer’s resources (databases, files, services) that MCP servers can securely access
  • Remote Resources: Resources available over the internet (e.g., through APIs) that MCP servers can connect to

In This Guide

For this quickstart, we’ll implement a focused example using SQLite:

  1. Claude Desktop acts as our MCP client
  2. A SQLite MCP Server provides secure database access
  3. Your local SQLite database stores the actual data

The communication between the SQLite MCP server and your local SQLite database happens entirely on your machine—your SQLite database is not exposed to the internet. The Model Context Protocol ensures that Claude Desktop can only perform approved database operations through well-defined interfaces. This gives you a secure way to let Claude analyze and interact with your local data while maintaining complete control over what it can access.

Prerequisites

  • macOS or Windows
  • The latest version of Claude Desktop installed
  • Node.js v18 or higher (node --version to check)
  • Git (git --version to check)
  • SQLite (sqlite3 --version to check)

Installation

1

Create a sample database

Let’s create a simple SQLite database for testing:

# Create a new SQLite database
sqlite3 ~/test.db <<EOF
CREATE TABLE products (
  id INTEGER PRIMARY KEY,
  name TEXT,
  price REAL
);

INSERT INTO products (name, price) VALUES
  ('Widget', 19.99),
  ('Gadget', 29.99),
  ('Gizmo', 39.99),
  ('Smart Watch', 199.99),
  ('Wireless Earbuds', 89.99),
  ('Portable Charger', 24.99),
  ('Bluetooth Speaker', 79.99),
  ('Phone Stand', 15.99),
  ('Laptop Sleeve', 34.99),
  ('Mini Drone', 299.99),
  ('LED Desk Lamp', 45.99),
  ('Keyboard', 129.99),
  ('Mouse Pad', 12.99),
  ('USB Hub', 49.99),
  ('Webcam', 69.99),
  ('Screen Protector', 9.99),
  ('Travel Adapter', 27.99),
  ('Gaming Headset', 159.99),
  ('Fitness Tracker', 119.99),
  ('Portable SSD', 179.99);
EOF
2

Configure Claude Desktop

Open your Claude Desktop App configuration at ~/Library/Application Support/Claude/claude_desktop_config.json in a text editor.

For example, if you have VS Code installed:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Add this configuration (replace YOUR_USERNAME with your actual username):

{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "/Users/YOUR_USERNAME/test.db"]
    }
  }
}

This tells Claude Desktop:

  1. There’s an MCP server named “sqlite”
  2. Launch it by running uvx mcp-server-sqlite
  3. Connect it to your test database

Save the file, and restart Claude Desktop.

Test it out

Let’s verify everything is working. Try sending this prompt to Claude Desktop:

Can you connect to my SQLite database and tell me what products are available, and their prices?

Claude Desktop will:

  1. Connect to the SQLite MCP server
  2. Query your local database
  3. Format and present the results

Claude Desktop successfully queries our SQLite database 🎉

What’s happening under the hood?

When you interact with Claude Desktop using MCP:

  1. Server Discovery: Claude Desktop connects to your configured MCP servers on startup

  2. Protocol Handshake: When you ask about data, Claude Desktop:

    • Identifies which MCP server can help (sqlite in this case)
    • Negotiates capabilities through the protocol
    • Requests data or actions from the MCP server
  3. Interaction Flow:

  4. Security:

    • MCP servers only expose specific, controlled capabilities
    • MCP servers run locally on your machine, and the resources they access are not exposed to the internet
    • Claude Desktop requires user confirmation for sensitive operations

Try these examples

Now that MCP is working, try these increasingly powerful examples:

Add more capabilities

Want to give Claude Desktop more local integration capabilities? Add these servers to your configuration:

More MCP Clients

While this guide demonstrates MCP using Claude Desktop as a client, several other applications support MCP integration:

Each host application may implement MCP features differently or support different capabilities. Check their respective documentation for specific setup instructions and supported features.

Troubleshooting

Next steps