Skip to main content
Glama

mcp-turso-cloud

LLM을 μœ„ν•œ Turso λ°μ΄ν„°λ² μ΄μŠ€μ™€μ˜ 톡합을 μ œκ³΅ν•˜λŠ” λͺ¨λΈ μ»¨ν…μŠ€νŠΈ ν”„λ‘œν† μ½œ(MCP) μ„œλ²„μž…λ‹ˆλ‹€. 이 μ„œλ²„λŠ” 쑰직 μˆ˜μ€€ 및 λ°μ΄ν„°λ² μ΄μŠ€ μˆ˜μ€€ μž‘μ—…μ„ λͺ¨λ‘ μ²˜λ¦¬ν•˜λŠ” 2단계 인증 μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•˜μ—¬ LLMμ—μ„œ 직접 Turso λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‰½κ²Œ κ΄€λ¦¬ν•˜κ³  쿼리할 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

νŠΉμ§•

🏒 쑰직 μˆ˜μ€€ 운영

  • λ°μ΄ν„°λ² μ΄μŠ€ λͺ©λ‘ : Turso 쑰직의 λͺ¨λ“  λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ν™•μΈν•˜μ„Έμš”.

  • λ°μ΄ν„°λ² μ΄μŠ€ 생성 : μ‚¬μš©μž μ •μ˜ κ°€λŠ₯ν•œ μ˜΅μ…˜μœΌλ‘œ μƒˆ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

  • λ°μ΄ν„°λ² μ΄μŠ€ μ‚­μ œ : μ‘°μ§μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€.

  • λ°μ΄ν„°λ² μ΄μŠ€ 토큰 생성 : νŠΉμ • λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•œ 인증 토큰을 μƒμ„±ν•©λ‹ˆλ‹€.

πŸ’Ύ λ°μ΄ν„°λ² μ΄μŠ€ μˆ˜μ€€ μž‘μ—…

  • ν…Œμ΄λΈ” λͺ©λ‘ : νŠΉμ • λ°μ΄ν„°λ² μ΄μŠ€μ˜ λͺ¨λ“  ν…Œμ΄λΈ” 보기

  • 읽기 μ „μš© 쿼리 μ‹€ν–‰ : SELECT 및 PRAGMA 쿼리(읽기 μ „μš© μž‘μ—…)λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

  • 쿼리 μ‹€ν–‰ : 잠재적으둜 파괴적인 SQL 쿼리(INSERT, UPDATE, DELETE λ“±)λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

  • ν…Œμ΄λΈ” μ„€λͺ… : λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ— λŒ€ν•œ μŠ€ν‚€λ§ˆ 정보 κ°€μ Έμ˜€κΈ°

  • 벑터 검색 : SQLite 벑터 ν™•μž₯을 μ‚¬μš©ν•˜μ—¬ 벑터 μœ μ‚¬μ„± 검색을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

Related MCP server: mcp-lancedb

⚠️ μ€‘μš”: 쿼리 μ‹€ν–‰ λ³΄μ•ˆ ⚠️

이 μ„œλ²„λŠ” 읽기 μ „μš© λ°μ΄ν„°λ² μ΄μŠ€ μž‘μ—…κ³Ό 파괴적 λ°μ΄ν„°λ² μ΄μŠ€ μž‘μ—… 간에 λ³΄μ•ˆ 쀑심 뢄리λ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€.

  • SELECT 및 PRAGMA 쿼리(μ•ˆμ „ν•˜κ³  읽기 μ „μš© μž‘μ—…)에 λŒ€ν•΄ execute_read_only_query μ‚¬μš©ν•©λ‹ˆλ‹€.

  • 데이터λ₯Ό μˆ˜μ •ν•˜λŠ” INSERT, UPDATE, DELETE, CREATE, DROP 및 기타 μž‘μ—…μ— λŒ€ν•΄ execute_query μ‚¬μš©ν•˜μ„Έμš”.

μ΄λŸ¬ν•œ 뢄리λ₯Ό 톡해 λ‹€μ–‘ν•œ κΆŒν•œ μˆ˜μ€€κ³Ό 승인 μš”κ΅¬ 사항이 ν—ˆμš©λ©λ‹ˆλ‹€.

  • 읽기 μ „μš© μž‘μ—…μ€ μ—¬λŸ¬ μ»¨ν…μŠ€νŠΈμ—μ„œ μžλ™ 승인될 수 μžˆμŠ΅λ‹ˆλ‹€.

  • 파괴적인 μž‘μ—…μ—λŠ” μ•ˆμ „μ„ μœ„ν•œ λͺ…μ‹œμ μΈ 승인이 ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

SQL 쿼리λ₯Ό μŠΉμΈν•˜κΈ° 전에 항상 주의 깊게 읽고 κ²€ν† ν•˜μ„Έμš”! μ΄λŠ” 특히 데이터λ₯Ό μˆ˜μ •ν•˜κ±°λ‚˜ μ‚­μ œν•  수 μžˆλŠ” 파괴적인 μž‘μ—…μ˜ 경우 맀우 μ€‘μš”ν•©λ‹ˆλ‹€. 각 쿼리가 μ–΄λ–€ μž‘μ—…μ„ ν•˜λŠ”μ§€ μΆ©λΆ„νžˆ μ΄ν•΄ν•œ ν›„ 싀행을 ν—ˆμš©ν•˜μ„Έμš”.

2단계 인증 μ‹œμŠ€ν…œ

μ„œλ²„λŠ” μ •κ΅ν•œ 인증 μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•©λ‹ˆλ‹€.

  1. 쑰직 μˆ˜μ€€ 인증

    • Turso ν”Œλž«νΌ API 토큰을 μ‚¬μš©ν•©λ‹ˆλ‹€.

    • λ°μ΄ν„°λ² μ΄μŠ€μ™€ 쑰직 μˆ˜μ€€μ˜ μš΄μ˜μ„ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

    • Turso λŒ€μ‹œλ³΄λ“œλ₯Ό 톡해 νšλ“

  2. λ°μ΄ν„°λ² μ΄μŠ€ μˆ˜μ€€ 인증

    • λ°μ΄ν„°λ² μ΄μŠ€λ³„ 토큰을 μ‚¬μš©ν•©λ‹ˆλ‹€

    • 쑰직 토큰을 μ‚¬μš©ν•˜μ—¬ μžλ™ 생성됨

    • μ„±λŠ₯을 μœ„ν•΄ μΊμ‹œλ˜κ³  ν•„μš”μ— 따라 νšŒμ „λ¨

ꡬ성

이 μ„œλ²„λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ MCP ν΄λΌμ΄μ–ΈνŠΈλ₯Ό ν†΅ν•œ ꡬ성이 ν•„μš”ν•©λ‹ˆλ‹€. λ‹€μŒμ€ λ‹€μ–‘ν•œ ν™˜κ²½μ— λŒ€ν•œ μ˜ˆμ‹œμž…λ‹ˆλ‹€.

클라인/ν΄λ‘œλ“œ λ°μŠ€ν¬ν†± ꡬ성

Cline/Claude Desktop MCP 섀정에 λ‹€μŒμ„ μΆ”κ°€ν•˜μ„Έμš”.

μ§€μ—‘μŠ€ν”Ό1

WSL ꡬ성을 μ‚¬μš©ν•œ Claude Desktop

WSL ν™˜κ²½μ˜ 경우 Claude Desktop ꡬ성에 λ‹€μŒμ„ μΆ”κ°€ν•˜μ„Έμš”.

{ "mcpServers": { "mcp-turso-cloud": { "command": "wsl.exe", "args": [ "bash", "-c", "TURSO_API_TOKEN=your-token TURSO_ORGANIZATION=your-org node /path/to/mcp-turso-cloud/dist/index.js" ] } } }

ν™˜κ²½ λ³€μˆ˜

μ„œλ²„μ—λŠ” λ‹€μŒκ³Ό 같은 ν™˜κ²½ λ³€μˆ˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

  • TURSO_API_TOKEN : Turso ν”Œλž«νΌ API 토큰(ν•„μˆ˜)

  • TURSO_ORGANIZATION : Turso 쑰직 이름(ν•„μˆ˜)

  • TURSO_DEFAULT_DATABASE : 아무것도 μ§€μ •λ˜μ§€ μ•Šμ€ 경우 μ‚¬μš©ν•  κΈ°λ³Έ λ°μ΄ν„°λ² μ΄μŠ€(선택 사항)

  • TOKEN_EXPIRATION : μƒμ„±λœ λ°μ΄ν„°λ² μ΄μŠ€ ν† ν°μ˜ 만료 μ‹œκ°„(선택 사항, κΈ°λ³Έκ°’: '7d')

  • TOKEN_PERMISSION : μƒμ„±λœ 토큰에 λŒ€ν•œ κΆŒν•œ μˆ˜μ€€(선택 사항, κΈ°λ³Έκ°’: 'full-access')

API

μ„œλ²„λŠ” λ‹€μŒκ³Ό 같이 λ²”μ£Όλ³„λ‘œ κ΅¬μ„±λœ MCP 도ꡬλ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€.

쑰직 도ꡬ

λͺ©λ‘_λ°μ΄ν„°λ² μ΄μŠ€

Turso 쑰직의 λͺ¨λ“  λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ‚˜μ—΄ν•©λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜: μ—†μŒ

응닡 μ˜ˆμ‹œ:

{ "databases": [ { "name": "customer_db", "id": "abc123", "region": "us-east", "created_at": "2023-01-15T12:00:00Z" }, { "name": "product_db", "id": "def456", "region": "eu-west", "created_at": "2023-02-20T15:30:00Z" } ] }

λ°μ΄ν„°λ² μ΄μŠ€ 생성

쑰직 내에 μƒˆλ‘œμš΄ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ§Œλ“­λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • name (λ¬Έμžμ—΄, ν•„μˆ˜): μƒˆ λ°μ΄ν„°λ² μ΄μŠ€μ˜ 이름

  • group (λ¬Έμžμ—΄, 선택 사항): λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ν• λ‹Ήν•  κ·Έλ£Ή

  • regions (λ¬Έμžμ—΄[], 선택 사항): λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 배포할 μ§€μ—­

예:

{ "name": "analytics_db", "group": "production", "regions": ["us-east", "eu-west"] }

λ°μ΄ν„°λ² μ΄μŠ€ μ‚­μ œ

쑰직의 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • name (λ¬Έμžμ—΄, ν•„μˆ˜): μ‚­μ œν•  λ°μ΄ν„°λ² μ΄μŠ€μ˜ 이름

예:

{ "name": "test_db" }

λ°μ΄ν„°λ² μ΄μŠ€ 토큰 생성

νŠΉμ • λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•œ μƒˆλ‘œμš΄ 토큰을 μƒμ„±ν•©λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • database (λ¬Έμžμ—΄, ν•„μˆ˜): λ°μ΄ν„°λ² μ΄μŠ€ 이름

  • expiration (λ¬Έμžμ—΄, 선택 사항): 토큰 만료 μ‹œκ°„

  • permission (λ¬Έμžμ—΄, 선택 사항): κΆŒν•œ μˆ˜μ€€('전체 μ•‘μ„ΈμŠ€' λ˜λŠ” '읽기 μ „μš©')

예:

{ "database": "customer_db", "expiration": "30d", "permission": "read-only" }

λ°μ΄ν„°λ² μ΄μŠ€ 도ꡬ

리슀트_ν…Œμ΄λΈ”

λ°μ΄ν„°λ² μ΄μŠ€μ˜ λͺ¨λ“  ν…Œμ΄λΈ”μ„ λ‚˜μ—΄ν•©λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • database (λ¬Έμžμ—΄, 선택 사항): λ°μ΄ν„°λ² μ΄μŠ€ 이름(μ œκ³΅λ˜μ§€ μ•ŠμœΌλ©΄ μ»¨ν…μŠ€νŠΈ μ‚¬μš©)

예:

{ "database": "customer_db" }

읽기 μ „μš© 쿼리 μ‹€ν–‰

λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•΄ 읽기 μ „μš© SQL 쿼리(SELECT, PRAGMA)λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • query (λ¬Έμžμ—΄, ν•„μˆ˜): μ‹€ν–‰ν•  SQL 쿼리(SELECT λ˜λŠ” PRAGMAμ—¬μ•Ό 함)

  • params (객체, 선택 사항): 쿼리 λ§€κ°œλ³€μˆ˜

  • database (λ¬Έμžμ—΄, 선택 사항): λ°μ΄ν„°λ² μ΄μŠ€ 이름(μ œκ³΅λ˜μ§€ μ•ŠμœΌλ©΄ μ»¨ν…μŠ€νŠΈ μ‚¬μš©)

예:

{ "query": "SELECT * FROM users WHERE age > ?", "params": { "1": 21 }, "database": "customer_db" }

μ‹€ν–‰_쿼리

λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•΄ 잠재적으둜 파괴적인 SQL 쿼리(INSERT, UPDATE, DELETE, CREATE λ“±)λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • query (λ¬Έμžμ—΄, ν•„μˆ˜): μ‹€ν–‰ν•  SQL 쿼리(SELECT λ˜λŠ” PRAGMA일 수 μ—†μŒ)

  • params (객체, 선택 사항): 쿼리 λ§€κ°œλ³€μˆ˜

  • database (λ¬Έμžμ—΄, 선택 사항): λ°μ΄ν„°λ² μ΄μŠ€ 이름(μ œκ³΅λ˜μ§€ μ•ŠμœΌλ©΄ μ»¨ν…μŠ€νŠΈ μ‚¬μš©)

예:

{ "query": "INSERT INTO users (name, age) VALUES (?, ?)", "params": { "1": "Alice", "2": 30 }, "database": "customer_db" }

μ„€λͺ…_ν…Œμ΄λΈ”

ν…Œμ΄λΈ”μ— λŒ€ν•œ μŠ€ν‚€λ§ˆ 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • table (λ¬Έμžμ—΄, ν•„μˆ˜): ν…Œμ΄λΈ” 이름

  • database (λ¬Έμžμ—΄, 선택 사항): λ°μ΄ν„°λ² μ΄μŠ€ 이름(μ œκ³΅λ˜μ§€ μ•ŠμœΌλ©΄ μ»¨ν…μŠ€νŠΈ μ‚¬μš©)

예:

{ "table": "users", "database": "customer_db" }

벑터 검색

SQLite 벑터 ν™•μž₯을 μ‚¬μš©ν•˜μ—¬ 벑터 μœ μ‚¬μ„± 검색을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

λ§€κ°œλ³€μˆ˜:

  • table (λ¬Έμžμ—΄, ν•„μˆ˜): ν…Œμ΄λΈ” 이름

  • vector_column (λ¬Έμžμ—΄, ν•„μˆ˜): 벑터λ₯Ό ν¬ν•¨ν•˜λŠ” μ—΄

  • query_vector (숫자[], ν•„μˆ˜): μœ μ‚¬μ„± 검색을 μœ„ν•œ 쿼리 벑터

  • limit (숫자, 선택 사항): μ΅œλŒ€ κ²°κ³Ό 수(κΈ°λ³Έκ°’: 10)

  • database (λ¬Έμžμ—΄, 선택 사항): λ°μ΄ν„°λ² μ΄μŠ€ 이름(μ œκ³΅λ˜μ§€ μ•ŠμœΌλ©΄ μ»¨ν…μŠ€νŠΈ μ‚¬μš©)

예:

{ "table": "embeddings", "vector_column": "embedding", "query_vector": [0.1, 0.2, 0.3, 0.4], "limit": 5, "database": "vector_db" }

개발

μ„€μ •

  1. μ €μž₯μ†Œλ₯Ό λ³΅μ œν•©λ‹ˆλ‹€

  2. 쒅속성 μ„€μΉ˜:

npm install
  1. ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•˜μ„Έμš”:

npm run build
  1. 개발 λͺ¨λ“œμ—μ„œ μ‹€ν–‰:

npm run dev

좜판

  1. package.json의 버전 μ—…λ°μ΄νŠΈ

  2. ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•˜μ„Έμš”:

npm run build
  1. npm에 κ²Œμ‹œ:

npm publish

문제 ν•΄κ²°

API 토큰 문제

인증 였λ₯˜κ°€ λ°œμƒν•˜λŠ” 경우:

  1. Turso API 토큰이 μœ νš¨ν•˜κ³  ν•„μš”ν•œ κΆŒν•œμ΄ μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

  2. κ·€ν•˜μ˜ 쑰직 이름이 μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•˜μ„Έμš”

  3. 토큰이 λ§Œλ£Œλ˜μ§€ μ•Šμ•˜λŠ”μ§€ ν™•μΈν•˜μ„Έμš”

λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° 문제

λ°μ΄ν„°λ² μ΄μŠ€μ— μ—°κ²°ν•˜λŠ” 데 λ¬Έμ œκ°€ μžˆλŠ” 경우:

  1. 쑰직에 λ°μ΄ν„°λ² μ΄μŠ€κ°€ μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”

  2. API 토큰이 λ°μ΄ν„°λ² μ΄μŠ€μ— μ•‘μ„ΈμŠ€ν•  수 μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

  3. λ°μ΄ν„°λ² μ΄μŠ€ 이름이 μ˜¬λ°”λ₯΄κ²Œ μž…λ ₯λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

κΈ°μ—¬ν•˜λ‹€

κΈ°μ—¬λ₯Ό ν™˜μ˜ν•©λ‹ˆλ‹€! ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό μ œμΆœν•΄ μ£Όμ„Έμš”.

νŠΉν—ˆ

MIT λΌμ΄μ„ΌμŠ€ - μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

κ°μ‚¬μ˜ 말

기반으둜 ꡬ좕됨:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/spences10/mcp-turso-cloud'

If you have feedback or need assistance with the MCP directory API, please join our Discord server