{"id":29938081,"url":"https://github.com/hidao80/mcp-tutorial-1","last_synced_at":"2026-04-17T01:02:22.078Z","repository":{"id":307515098,"uuid":"1027065591","full_name":"hidao80/mcp-tutorial-1","owner":"hidao80","description":"SQLite MCP Server tutorial for Cursor, VS Code, Windsurf, and Claude Desktop. Zero-configuration setup with uvx, cross-platform support, and DXT extension included. Perfect for learning Model Context Protocol integration.","archived":false,"fork":false,"pushed_at":"2026-02-04T08:47:28.000Z","size":57,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-04T20:49:46.870Z","etag":null,"topics":["ai-tools","claude-desktop","cursor","mcp","model-context-protocol","sqlite","tutorial","vscode","windsurf","zero-config"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hidao80.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-27T08:31:36.000Z","updated_at":"2026-02-04T08:47:32.000Z","dependencies_parsed_at":"2025-07-31T19:04:21.231Z","dependency_job_id":"3e3f12d8-db92-432c-b83d-404ec22be373","html_url":"https://github.com/hidao80/mcp-tutorial-1","commit_stats":null,"previous_names":["hidao80/mcp-tutorial-1"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hidao80/mcp-tutorial-1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidao80%2Fmcp-tutorial-1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidao80%2Fmcp-tutorial-1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidao80%2Fmcp-tutorial-1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidao80%2Fmcp-tutorial-1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hidao80","download_url":"https://codeload.github.com/hidao80/mcp-tutorial-1/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hidao80%2Fmcp-tutorial-1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31910585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","claude-desktop","cursor","mcp","model-context-protocol","sqlite","tutorial","vscode","windsurf","zero-config"],"created_at":"2025-08-02T23:18:49.057Z","updated_at":"2026-04-17T01:02:22.059Z","avatar_url":"https://github.com/hidao80.png","language":null,"readme":"# SQLite MCP Server Tutorial (1)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/hidao80/mcp-tutorial-1)\n\nThis is the first tutorial for a Model Context Protocol (MCP) server for operating SQLite databases. Can be used with Cursor editor and other MCP-compatible clients.\n\n## Features\n\n- SQLite database read/write operations\n- SQL query execution\n- Table creation, deletion, and modification\n- Data insertion, updating, and deletion\n- Schema inspection\n\n## Characteristics\n\n- **Zero configuration**: Start using immediately without additional setup\n- **Complete SQL operation support**: Full CRUD (Create, Read, Update, Delete) operations\n- **Cross-platform**: Windows, macOS, Linux support\n\n## Setup\n\n### 1. Database Initialization\n\nIf you need initial data, run `init.sql` using SQLite commands or a DB browser:\n\n#### If SQLite3 is installed\n\n```sh\n# For bash, command prompt, zsh\nsqlite3 database.db \u003c init.sql\n\n# For PowerShell\nGet-Content .\\init.sql | sqlite3.exe .\\database.db\n```\n\n### 2. MCP Server Runtime Environment Installation\n\nThis repository uses `uvx`, so `uv` installation is required in advance.\n\n```sh\n# macOS\nbrew install uv\n\n# Windows 11\nwinget install --id=astral-sh.uv\n```\n\n## 3. MCP Configuration File Placement\n\n**For Cursor**: `.cursor/mcp.json`\n**For VS Code**: `.vscode/mcp.json`\n**For Windsurf**: `.windsurf/mcp.json`\n\nThis project places `./.cursor/mcp.json`, `./.vscode/mcp.json`, and `./.windsurf/mcp.json`,\nso they will be automatically recognized when the project is opened.\n\n## 4. Setup Instructions\n\n### For Cursor\n\n1. Clone or download this repository\n2. Open this repository directory in Cursor\n3. Press `Shift + Ctrl + P` (Windows/Linux) `Cmd + Shift + P` (MacBook) to\n   open the command palette\n4. Type `openmcp` and open the \"Tools \u0026 Integrations\" tab\n5. Turn on the \"sqlite\" MCP server switch (green) from the \"MCP Tools\" section\n\n### For VS Code\n\n1. Clone or download this repository\n2. Open this repository directory in VS Code\n3. Press `Shift + Ctrl + P` (Windows/Linux) `Cmd + Shift + P` (MacBook) to\n   open the command palette\n4. Type `mcpli` and select \"MCP: List Servers\"\n5. Select \"sqlite stopped\" from the command palette and start it\n\n### For Windsurf\n\n1. Clone or download this repository\n2. Open this repository directory in Windsurf\n3. Press `Shift + Ctrl + P` (Windows/Linux) `Cmd + Shift + P` (MacBook) to\n   open the command palette\n4. Type `mcpli` and select \"MCP: List Servers\"\n5. Select \"sqlite stopped\" from the command palette and start it\n\n### Usage with Claude Desktop\n\nTo use MCP servers with Claude Desktop, build and install a DXT (Desktop Extensions) package.\n\nThe steps to build a DXT package for Claude Desktop are as follows:\n\n```sh\n# Common for bash, command prompt, PowerShell, zsh\n# Navigate to dxt directory and build\ncd dxt-src\nnpm run package\n\n# Only PowerShell Commands Are Different\nnpm run package-ps\n```\n\nWhen the build succeeds, the `dist/sqlite-mcp-server.dxt` file will be generated.\n\n### Required Dependencies\n\nBuilding the DXT package requires:\n\n- Node.js 18 or higher\n- Official DXT CLI (automatically installed when running npm run build)\n\n### Installation in Claude Desktop\n\n1. Build the DXT package using the above steps\n2. Drag and drop the generated `.dxt` file to Claude Desktop's Settings \u003e Extensions screen\n3. Give the database file path to \"SQLite MCP Server\" and turn on the \"Enabled\" switch (blue)\n4. If the database file exists at the specified location, the SQLite MCP server will become available\n\n## Troubleshooting\n\n### When MCP Server Fails to Start\n\n1. Confirm `uv` is installed\n2. Check internet connection (required for `uvx` to download packages)\n3. Verify the database file exists as `database.db` in the project root\n\n### When Database File Cannot Be Found\n\n1. Check write permissions for project directory\n2. Run `init.sql` with `sqlite3` to create the database\n3. Verify the database file path is correctly set in `mcp.json` or \"SQLite MCP Server\" DXT\n\n## File Structure\n\n```plaintext\nmcp-tutorial-1/\n├── init_ja.sql               # Initial database schema and sample data (Japanese version)\n├── init.sql                  # Initial database schema and sample data (English version)\n├── README_ja.md              # This file (Japanese version)\n├── README.md                 # This file\n├── database.db               # SQLite database file (created during initialization)\n├── .gitignore                # Git exclusion settings\n├── .cursor/mcp.json          # MCP configuration file (for Cursor)\n├── .vscode/mcp.json          # MCP configuration file (for VS Code)\n├── .windsurf/mcp.json        # MCP configuration file (for Windsurf)\n├── docs/                     # Design documentation files\n│   ├── DESIGN_ja.md          # Design document (Japanese)\n│   └── DESIGN.md             # Design document (English)\n├── dxt-src/                  # DXT files for Claude Desktop\n│   ├── .gitignore            # DXT exclusion settings\n│   ├── manifest.json         # DXT manifest file\n│   ├── icon.png              # DXT icon image\n│   ├── package.json          # Package configuration for DXT\n│   ├── README_ja.md          # DXT-specific documentation (Japanese)\n│   └── README.md             # DXT-specific documentation (English)\n└── dist/                     # Build artifacts (.dxt files)\n    └── sqlite.dxt            # Desktop extension for Claude Desktop\n```\n\n## License\n\nThis project is released under the MIT License. See the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhidao80%2Fmcp-tutorial-1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhidao80%2Fmcp-tutorial-1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhidao80%2Fmcp-tutorial-1/lists"}