q-workspace-mcp-server


Nameq-workspace-mcp-server JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
SummaryConversation workspace management MCP server for Amazon Q CLI with SQLite + FTS5 storage and real-time sync
upload_time2025-07-12 12:42:08
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords amazon-q conversation-workspace fts5 mcp real-time-sync sqlite workspace-management
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AWS Q Workspace MCP Server

A Model Context Protocol (MCP) server that provides conversation workspace management for Amazon Q CLI using SQLite + FTS5 for fast, reliable storage and search.

## Features

- **Automatic Conversation Saving**: Real-time sync of Q CLI conversations to SQLite database
- **Workspace Management**: Organize conversations by topics/workspaces with natural language support
- **Workspace Restoration**: Resume previous conversations with full context
- **Full-Text Search**: Search through conversation history using SQLite FTS5
- **Q CLI LLM Integration**: Intelligent conversation summarization using Q CLI's built-in LLM

## Quick Start

### 1. MCP Configuration
Add to `~/.aws/amazonq/mcp.json`:

**For macOS:**
```json
{
  "mcpServers": {
    "q-workspace-mcp-server": {
      "command": "uvx",
      "args": ["q-workspace-mcp-server@latest"],
      "env": {
        "Q_CLI_DB_PATH": "~/Library/Application Support/amazon-q/data.sqlite3",
        "Q_WORKSPACE_VERBOSE": "true"
      },
      "disabled": false 
    }
  }
}
```

**For Windows:**
First, find your Q CLI database path:
```cmd
where /r %USERPROFILE% data.sqlite3
```

Then use the found path in your configuration:
```json
{
  "mcpServers": {
    "q-workspace-mcp-server": {
      "command": "uvx",
      "args": ["q-workspace-mcp-server@latest"],
      "env": {
        "Q_CLI_DB_PATH": "C:\\Users\\YourUsername\\AppData\\Local\\amazon-q\\data.sqlite3",
        "Q_WORKSPACE_VERBOSE": "true"
      },
      "disabled": false 
    }
  }
}
```

### 2. Usage Examples
```bash
# Start Q CLI
q chat

# Start a new workspace
start_workspace(description="backend_development")
# OR natural language: "Start backend development workspace"

# Chat normally (automatically saved)
# ... have conversations ...

# List workspaces
list_workspaces()

# Resume workspace (loads full context)
resume_workspace(workspace_id="backend_development")
# OR natural language: "Resume backend development workspace"

# Switch to another workspace
resume_workspace(workspace_id="frontend_development")
# OR natural language: "Resume frontend development workspace"

# Search conversations
search_memory_by_workspace(workspace_id="backend_development", query="API design")
# OR natural language: "What did I say about API design?"
```

## Available Tools

| Tool | Description |
|------|-------------|
| `q_workspace_help()` | Show usage instructions |
| `start_workspace(description)` | Start a new workspace with auto-sync |
| `list_workspaces(limit=10)` | List all workspaces (default: 10, max: 50) |
| `resume_workspace(workspace_id)` | Resume workspace with full context |
| `search_memory_by_workspace(workspace_id, query)` | Search conversations using FTS5 |
| `delete_workspace(workspace_id, confirm=true)` | Delete a workspace and all conversations |
| `cleanup_old_workspaces(days=30, confirm=true)` | Clean up workspaces older than specified days |
| `get_storage_stats()` | Get storage statistics and usage information | 

## Technology Stack

- **SQLite + FTS5**: Fast full-text search without external dependencies
- **Real-time Sync**: Monitors Q CLI database for new conversations
- **Q CLI LLM Integration**: Uses Q CLI's built-in LLM for intelligent summarization
- **MCP Protocol**: Standard communication with Amazon Q

## Data Storage

- **Database**: `~/.Q_workspace/conversations.db`
- **Logs**: `~/.Q_workspace/operations.log`

## Auto-Sync Features

Q CLI conversations are automatically saved to SQLite in real-time:

- **Real-time Detection**: Monitors Q CLI database for new conversations
- **Immediate Sync**: Processes new conversations as they appear
- **Background Processing**: Non-blocking synchronization
- **State Recovery**: Maintains sync state across restarts

## Workspace Management

### Creating Workspaces
```bash
# Start a new workspace
start_workspace(description="Python_learning")
# OR natural language
"Start Python learning workspace"
```

### Switching Between Workspaces
```bash
# List available workspaces (default: 10, max: 50)
list_workspaces()
list_workspaces(limit=20)

# Resume a specific workspace
resume_workspace(workspace_id="developer")
# OR natural language
"Resume developer workspace"
```

### Searching Conversations
```bash
# Search within a workspace using FTS5
search_memory_by_workspace(workspace_id="Python_learning", query="list")

# OR natural language: "Did I mention lists in the current workspace?"

# Get all conversations from a workspace
search_memory_by_workspace(workspace_id="Python_learning", query="")
```

### Maintenance
```bash
# Check storage usage and statistics
get_storage_stats()

# Clean up old workspaces (default: 30 days)
cleanup_old_workspaces(confirm=true)
cleanup_old_workspaces(days=60, confirm=true)

# Delete specific workspace
delete_workspace(workspace_id="backend_development", confirm=true)

 
# Show usage instructions
q_workspace_help()
```

## Natural Language Support

The server supports natural language commands in both English and Korean:

```bash
# English
"start backend_development workspace"
"resume Python_learning workspace"
"show me all workspaces"

# Korean
"백엔드개발 워크스페이스로 시작해줘"
"Python_학습 워크스페이스로 재개해줘"
"워크스페이스 목록 보여줘"
```

## Usage Tips

1. **Workspace Organization**: Use descriptive names for workspaces to easily identify them later
2. **Search Strategy**: Use specific keywords rather than general terms for better FTS5 search results
3. **Regular Maintenance**: Periodically clean up old workspaces to maintain performance
4. **Context Restoration**: Use `resume_workspace` to restore full conversation context
5. **Natural Language**: Use natural language commands for easier interaction

## Advantages of SQLite + FTS5

- ⚡ **Instant startup** - No embedding model loading required
- 🔍 **Fast search** - Native FTS5 full-text search capabilities
- 💾 **Reliable storage** - Battle-tested SQLite database
- 🔄 **Real-time sync** - Immediate Q CLI integration
- 📊 **Simple queries** - Standard SQL operations
- 🚀 **No dependencies** - Self-contained solution

## License

MIT License

## Links

- **PyPI**: https://pypi.org/project/q_workspace_mcp_server/
- **GitHub**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server
- **Issues**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server/issues

---

# Q Workspace MCP Server (한국어)

Amazon Q CLI를 위한 대화 워크스페이스 관리 기능을 제공하는 Model Context Protocol (MCP) 서버입니다. SQLite + FTS5를 사용하여 빠르고 안정적인 저장 및 검색을 제공합니다.

## 주요 기능

- **자동 대화 저장**: Q CLI 대화를 SQLite 데이터베이스에 실시간 동기화
- **워크스페이스 관리**: 주제/워크스페이스별로 대화 정리 (자연어 지원)
- **워크스페이스 복원**: 이전 대화의 전체 컨텍스트와 함께 재개
- **전문 검색**: SQLite FTS5를 사용한 대화 기록 검색
- **Q CLI LLM 통합**: Q CLI의 내장 LLM을 사용한 지능적 대화 요약

## 빠른 시작

### 1. MCP 설정
`~/.aws/amazonq/mcp.json`에 추가:

**macOS의 경우:**
```json
{
  "mcpServers": {
    "q-workspace": {
      "command": "uvx",
      "args": ["q-workspace-mcp-server@latest"],
      "env": {
        "Q_CLI_DB_PATH": "~/Library/Application Support/amazon-q/data.sqlite3",
        "Q_WORKSPACE_VERBOSE": "true"
      },
      "disabled": false 
    }
  }
}
```

**Windows의 경우:**
먼저 Q CLI 데이터베이스 경로를 찾으세요:
```cmd
where /r %USERPROFILE% data.sqlite3
```

찾은 경로를 설정에 사용하세요:
```json
{
  "mcpServers": {
    "q-workspace": {
      "command": "uvx",
      "args": ["q_workspace_mcp_server@latest"],
      "env": {
        "Q_CLI_DB_PATH": "C:\\Users\\사용자명\\AppData\\Local\\amazon-q\\data.sqlite3",
        "Q_WORKSPACE_VERBOSE": "true"
      },
      "disabled": false 
    }
  }
}
```

### 2. 사용 예시
```bash
# Q CLI 시작
q chat

# 새 워크스페이스 시작
start_workspace(description="백엔드개발")
# 또는 자연어: "백엔드개발 워크스페이스로 시작해줘"

# 일반적으로 대화 (자동 저장됨)
# ... 대화 진행 ...

# 워크스페이스 목록 보기
list_workspaces()

# 워크스페이스 재개 (전체 컨텍스트 로드)
resume_workspace(workspace_id="백엔드개발")
# 또는 자연어: "백엔드개발 워크스페이스로 재개해줘"

# 다른 워크스페이스로 전환
resume_workspace(workspace_id="프론트개발")
# 또는 자연어: "프론트개발 워크스페이스로 재개해줘"

# 대화 검색
search_memory_by_workspace(workspace_id="백엔드개발", query="API 설계")
# 또는 자연어: "API 설계에 대해서 뭐라고 말했었는가?"
```

## 사용 가능한 도구

| 도구 | 설명 |
|------|-------------|
| `q_workspace_help()` | 사용법 안내 표시 |
| `start_workspace(description)` | 자동 동기화와 함께 새 워크스페이스 시작 |
| `list_workspaces(limit=10)` | 모든 워크스페이스 목록 (기본: 10개, 최대: 50개) |
| `resume_workspace(workspace_id)` | 전체 컨텍스트와 함께 워크스페이스 재개 |
| `search_memory_by_workspace(workspace_id, query)` | FTS5를 사용한 대화 검색 |
| `delete_workspace(workspace_id, confirm=true)` | 워크스페이스와 모든 대화 삭제 |
| `cleanup_old_workspaces(days=30, confirm=true)` | 지정된 일수보다 오래된 워크스페이스 정리 |
| `get_storage_stats()` | 저장소 통계 및 사용량 정보 조회 |

## 기술 스택

- **SQLite + FTS5**: 외부 의존성 없는 빠른 전문 검색
- **실시간 동기화**: Q CLI 데이터베이스의 새 대화 모니터링
- **Q CLI LLM 통합**: Q CLI의 내장 LLM을 사용한 지능적 요약
- **MCP 프로토콜**: Amazon Q와의 표준 통신

## 데이터 저장

- **데이터베이스**: `~/.Q_workspace/conversations.db`
- **로그**: `~/.Q_workspace/operations.log`

## 자동 동기화 기능

Q CLI 대화가 SQLite에 실시간으로 자동 저장됩니다:

- **실시간 감지**: Q CLI 데이터베이스의 새 대화 모니터링
- **즉시 동기화**: 새 대화가 나타나면 즉시 처리
- **백그라운드 처리**: 논블로킹 동기화
- **상태 복구**: 재시작 후에도 동기화 상태 유지

## 워크스페이스 관리

### 워크스페이스 생성
```bash
# 새 워크스페이스 시작
start_workspace(description="Python_학습")
# 또는 자연어
"Python_학습 워크스페이스로 시작해줘"
```

### 워크스페이스 간 전환
```bash
# 사용 가능한 워크스페이스 목록 (기본: 10개, 최대: 50개)
list_workspaces()
list_workspaces(limit=20)

# 특정 워크스페이스 재개
resume_workspace(workspace_id="개발자")
# 또는 자연어
"개발자 워크스페이스로 재개해"
```

### 대화 검색
```bash
# FTS5를 사용한 워크스페이스 내 검색
search_memory_by_workspace(workspace_id="Python_학습", query="리스트")

# 또는 자연어: "현재 워크스페이스에서 내가 리스트를 말한적이 있었는가?"

# 워크스페이스의 모든 대화 조회
search_memory_by_workspace(workspace_id="Python_학습", query="")
```

### 유지보수
```bash
# 저장소 사용량 및 통계 확인
get_storage_stats()

# 오래된 워크스페이스 정리 (기본: 30일)
cleanup_old_workspaces(confirm=true)
cleanup_old_workspaces(days=60, confirm=true)

# 특정 워크스페이스 삭제
delete_workspace(workspace_id="백엔드개발", confirm=true)


# 사용법 안내 표시
q_workspace_help()
```

## 자연어 지원

서버는 영어와 한국어 자연어 명령을 모두 지원합니다:

```bash
# 영어
"start backend_development workspace"
"resume Python_learning workspace"
"show me all workspaces"

# 한국어
"백엔드개발 워크스페이스로 시작해줘"
"Python_학습 워크스페이스로 재개해줘"
"워크스페이스 목록 보여줘"
```

## 사용 팁

1. **워크스페이스 정리**: 나중에 쉽게 식별할 수 있도록 워크스페이스에 설명적인 이름 사용
2. **검색 전략**: 더 나은 FTS5 검색 결과를 위해 일반적인 용어보다 구체적인 키워드 사용
3. **정기 유지보수**: 성능 유지를 위해 주기적으로 오래된 워크스페이스 정리
4. **컨텍스트 복원**: 전체 대화 컨텍스트 복원을 위해 `resume_workspace` 사용
5. **자연어**: 더 쉬운 상호작용을 위해 자연어 명령 사용

## SQLite + FTS5의 장점

- ⚡ **즉시 시작** - 임베딩 모델 로딩 불필요
- 🔍 **빠른 검색** - 네이티브 FTS5 전문 검색 기능
- 💾 **안정적인 저장** - 검증된 SQLite 데이터베이스
- 🔄 **실시간 동기화** - 즉시 Q CLI 통합
- 📊 **간단한 쿼리** - 표준 SQL 작업
- 🚀 **의존성 없음** - 자체 완결형 솔루션

## 라이선스

MIT License

## 링크

- **PyPI**: https://pypi.org/project/q_workspace_mcp_server/
- **GitHub**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server
- **Issues**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server/issues

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "q-workspace-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "amazon-q, conversation-workspace, fts5, mcp, real-time-sync, sqlite, workspace-management",
    "author": null,
    "author_email": "jikjeong <jikjeong@amazon.com>",
    "download_url": "https://files.pythonhosted.org/packages/aa/cc/bb623e563960af23c793b135d7097fc0a7f9c7f90a7968e70fbe346af5a8/q_workspace_mcp_server-0.0.3.tar.gz",
    "platform": null,
    "description": "# AWS Q Workspace MCP Server\n\nA Model Context Protocol (MCP) server that provides conversation workspace management for Amazon Q CLI using SQLite + FTS5 for fast, reliable storage and search.\n\n## Features\n\n- **Automatic Conversation Saving**: Real-time sync of Q CLI conversations to SQLite database\n- **Workspace Management**: Organize conversations by topics/workspaces with natural language support\n- **Workspace Restoration**: Resume previous conversations with full context\n- **Full-Text Search**: Search through conversation history using SQLite FTS5\n- **Q CLI LLM Integration**: Intelligent conversation summarization using Q CLI's built-in LLM\n\n## Quick Start\n\n### 1. MCP Configuration\nAdd to `~/.aws/amazonq/mcp.json`:\n\n**For macOS:**\n```json\n{\n  \"mcpServers\": {\n    \"q-workspace-mcp-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\"q-workspace-mcp-server@latest\"],\n      \"env\": {\n        \"Q_CLI_DB_PATH\": \"~/Library/Application Support/amazon-q/data.sqlite3\",\n        \"Q_WORKSPACE_VERBOSE\": \"true\"\n      },\n      \"disabled\": false \n    }\n  }\n}\n```\n\n**For Windows:**\nFirst, find your Q CLI database path:\n```cmd\nwhere /r %USERPROFILE% data.sqlite3\n```\n\nThen use the found path in your configuration:\n```json\n{\n  \"mcpServers\": {\n    \"q-workspace-mcp-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\"q-workspace-mcp-server@latest\"],\n      \"env\": {\n        \"Q_CLI_DB_PATH\": \"C:\\\\Users\\\\YourUsername\\\\AppData\\\\Local\\\\amazon-q\\\\data.sqlite3\",\n        \"Q_WORKSPACE_VERBOSE\": \"true\"\n      },\n      \"disabled\": false \n    }\n  }\n}\n```\n\n### 2. Usage Examples\n```bash\n# Start Q CLI\nq chat\n\n# Start a new workspace\nstart_workspace(description=\"backend_development\")\n# OR natural language: \"Start backend development workspace\"\n\n# Chat normally (automatically saved)\n# ... have conversations ...\n\n# List workspaces\nlist_workspaces()\n\n# Resume workspace (loads full context)\nresume_workspace(workspace_id=\"backend_development\")\n# OR natural language: \"Resume backend development workspace\"\n\n# Switch to another workspace\nresume_workspace(workspace_id=\"frontend_development\")\n# OR natural language: \"Resume frontend development workspace\"\n\n# Search conversations\nsearch_memory_by_workspace(workspace_id=\"backend_development\", query=\"API design\")\n# OR natural language: \"What did I say about API design?\"\n```\n\n## Available Tools\n\n| Tool | Description |\n|------|-------------|\n| `q_workspace_help()` | Show usage instructions |\n| `start_workspace(description)` | Start a new workspace with auto-sync |\n| `list_workspaces(limit=10)` | List all workspaces (default: 10, max: 50) |\n| `resume_workspace(workspace_id)` | Resume workspace with full context |\n| `search_memory_by_workspace(workspace_id, query)` | Search conversations using FTS5 |\n| `delete_workspace(workspace_id, confirm=true)` | Delete a workspace and all conversations |\n| `cleanup_old_workspaces(days=30, confirm=true)` | Clean up workspaces older than specified days |\n| `get_storage_stats()` | Get storage statistics and usage information | \n\n## Technology Stack\n\n- **SQLite + FTS5**: Fast full-text search without external dependencies\n- **Real-time Sync**: Monitors Q CLI database for new conversations\n- **Q CLI LLM Integration**: Uses Q CLI's built-in LLM for intelligent summarization\n- **MCP Protocol**: Standard communication with Amazon Q\n\n## Data Storage\n\n- **Database**: `~/.Q_workspace/conversations.db`\n- **Logs**: `~/.Q_workspace/operations.log`\n\n## Auto-Sync Features\n\nQ CLI conversations are automatically saved to SQLite in real-time:\n\n- **Real-time Detection**: Monitors Q CLI database for new conversations\n- **Immediate Sync**: Processes new conversations as they appear\n- **Background Processing**: Non-blocking synchronization\n- **State Recovery**: Maintains sync state across restarts\n\n## Workspace Management\n\n### Creating Workspaces\n```bash\n# Start a new workspace\nstart_workspace(description=\"Python_learning\")\n# OR natural language\n\"Start Python learning workspace\"\n```\n\n### Switching Between Workspaces\n```bash\n# List available workspaces (default: 10, max: 50)\nlist_workspaces()\nlist_workspaces(limit=20)\n\n# Resume a specific workspace\nresume_workspace(workspace_id=\"developer\")\n# OR natural language\n\"Resume developer workspace\"\n```\n\n### Searching Conversations\n```bash\n# Search within a workspace using FTS5\nsearch_memory_by_workspace(workspace_id=\"Python_learning\", query=\"list\")\n\n# OR natural language: \"Did I mention lists in the current workspace?\"\n\n# Get all conversations from a workspace\nsearch_memory_by_workspace(workspace_id=\"Python_learning\", query=\"\")\n```\n\n### Maintenance\n```bash\n# Check storage usage and statistics\nget_storage_stats()\n\n# Clean up old workspaces (default: 30 days)\ncleanup_old_workspaces(confirm=true)\ncleanup_old_workspaces(days=60, confirm=true)\n\n# Delete specific workspace\ndelete_workspace(workspace_id=\"backend_development\", confirm=true)\n\n \n# Show usage instructions\nq_workspace_help()\n```\n\n## Natural Language Support\n\nThe server supports natural language commands in both English and Korean:\n\n```bash\n# English\n\"start backend_development workspace\"\n\"resume Python_learning workspace\"\n\"show me all workspaces\"\n\n# Korean\n\"\ubc31\uc5d4\ub4dc\uac1c\ubc1c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc2dc\uc791\ud574\uc918\"\n\"Python_\ud559\uc2b5 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc7ac\uac1c\ud574\uc918\"\n\"\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ubaa9\ub85d \ubcf4\uc5ec\uc918\"\n```\n\n## Usage Tips\n\n1. **Workspace Organization**: Use descriptive names for workspaces to easily identify them later\n2. **Search Strategy**: Use specific keywords rather than general terms for better FTS5 search results\n3. **Regular Maintenance**: Periodically clean up old workspaces to maintain performance\n4. **Context Restoration**: Use `resume_workspace` to restore full conversation context\n5. **Natural Language**: Use natural language commands for easier interaction\n\n## Advantages of SQLite + FTS5\n\n- \u26a1 **Instant startup** - No embedding model loading required\n- \ud83d\udd0d **Fast search** - Native FTS5 full-text search capabilities\n- \ud83d\udcbe **Reliable storage** - Battle-tested SQLite database\n- \ud83d\udd04 **Real-time sync** - Immediate Q CLI integration\n- \ud83d\udcca **Simple queries** - Standard SQL operations\n- \ud83d\ude80 **No dependencies** - Self-contained solution\n\n## License\n\nMIT License\n\n## Links\n\n- **PyPI**: https://pypi.org/project/q_workspace_mcp_server/\n- **GitHub**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server\n- **Issues**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server/issues\n\n---\n\n# Q Workspace MCP Server (\ud55c\uad6d\uc5b4)\n\nAmazon Q CLI\ub97c \uc704\ud55c \ub300\ud654 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uad00\ub9ac \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 Model Context Protocol (MCP) \uc11c\ubc84\uc785\ub2c8\ub2e4. SQLite + FTS5\ub97c \uc0ac\uc6a9\ud558\uc5ec \ube60\ub974\uace0 \uc548\uc815\uc801\uc778 \uc800\uc7a5 \ubc0f \uac80\uc0c9\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\n## \uc8fc\uc694 \uae30\ub2a5\n\n- **\uc790\ub3d9 \ub300\ud654 \uc800\uc7a5**: Q CLI \ub300\ud654\ub97c SQLite \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc2e4\uc2dc\uac04 \ub3d9\uae30\ud654\n- **\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uad00\ub9ac**: \uc8fc\uc81c/\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ubcc4\ub85c \ub300\ud654 \uc815\ub9ac (\uc790\uc5f0\uc5b4 \uc9c0\uc6d0)\n- **\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ubcf5\uc6d0**: \uc774\uc804 \ub300\ud654\uc758 \uc804\uccb4 \ucee8\ud14d\uc2a4\ud2b8\uc640 \ud568\uaed8 \uc7ac\uac1c\n- **\uc804\ubb38 \uac80\uc0c9**: SQLite FTS5\ub97c \uc0ac\uc6a9\ud55c \ub300\ud654 \uae30\ub85d \uac80\uc0c9\n- **Q CLI LLM \ud1b5\ud569**: Q CLI\uc758 \ub0b4\uc7a5 LLM\uc744 \uc0ac\uc6a9\ud55c \uc9c0\ub2a5\uc801 \ub300\ud654 \uc694\uc57d\n\n## \ube60\ub978 \uc2dc\uc791\n\n### 1. MCP \uc124\uc815\n`~/.aws/amazonq/mcp.json`\uc5d0 \ucd94\uac00:\n\n**macOS\uc758 \uacbd\uc6b0:**\n```json\n{\n  \"mcpServers\": {\n    \"q-workspace\": {\n      \"command\": \"uvx\",\n      \"args\": [\"q-workspace-mcp-server@latest\"],\n      \"env\": {\n        \"Q_CLI_DB_PATH\": \"~/Library/Application Support/amazon-q/data.sqlite3\",\n        \"Q_WORKSPACE_VERBOSE\": \"true\"\n      },\n      \"disabled\": false \n    }\n  }\n}\n```\n\n**Windows\uc758 \uacbd\uc6b0:**\n\uba3c\uc800 Q CLI \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uacbd\ub85c\ub97c \ucc3e\uc73c\uc138\uc694:\n```cmd\nwhere /r %USERPROFILE% data.sqlite3\n```\n\n\ucc3e\uc740 \uacbd\ub85c\ub97c \uc124\uc815\uc5d0 \uc0ac\uc6a9\ud558\uc138\uc694:\n```json\n{\n  \"mcpServers\": {\n    \"q-workspace\": {\n      \"command\": \"uvx\",\n      \"args\": [\"q_workspace_mcp_server@latest\"],\n      \"env\": {\n        \"Q_CLI_DB_PATH\": \"C:\\\\Users\\\\\uc0ac\uc6a9\uc790\uba85\\\\AppData\\\\Local\\\\amazon-q\\\\data.sqlite3\",\n        \"Q_WORKSPACE_VERBOSE\": \"true\"\n      },\n      \"disabled\": false \n    }\n  }\n}\n```\n\n### 2. \uc0ac\uc6a9 \uc608\uc2dc\n```bash\n# Q CLI \uc2dc\uc791\nq chat\n\n# \uc0c8 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc2dc\uc791\nstart_workspace(description=\"\ubc31\uc5d4\ub4dc\uac1c\ubc1c\")\n# \ub610\ub294 \uc790\uc5f0\uc5b4: \"\ubc31\uc5d4\ub4dc\uac1c\ubc1c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc2dc\uc791\ud574\uc918\"\n\n# \uc77c\ubc18\uc801\uc73c\ub85c \ub300\ud654 (\uc790\ub3d9 \uc800\uc7a5\ub428)\n# ... \ub300\ud654 \uc9c4\ud589 ...\n\n# \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ubaa9\ub85d \ubcf4\uae30\nlist_workspaces()\n\n# \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc7ac\uac1c (\uc804\uccb4 \ucee8\ud14d\uc2a4\ud2b8 \ub85c\ub4dc)\nresume_workspace(workspace_id=\"\ubc31\uc5d4\ub4dc\uac1c\ubc1c\")\n# \ub610\ub294 \uc790\uc5f0\uc5b4: \"\ubc31\uc5d4\ub4dc\uac1c\ubc1c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc7ac\uac1c\ud574\uc918\"\n\n# \ub2e4\ub978 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc804\ud658\nresume_workspace(workspace_id=\"\ud504\ub860\ud2b8\uac1c\ubc1c\")\n# \ub610\ub294 \uc790\uc5f0\uc5b4: \"\ud504\ub860\ud2b8\uac1c\ubc1c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc7ac\uac1c\ud574\uc918\"\n\n# \ub300\ud654 \uac80\uc0c9\nsearch_memory_by_workspace(workspace_id=\"\ubc31\uc5d4\ub4dc\uac1c\ubc1c\", query=\"API \uc124\uacc4\")\n# \ub610\ub294 \uc790\uc5f0\uc5b4: \"API \uc124\uacc4\uc5d0 \ub300\ud574\uc11c \ubb50\ub77c\uace0 \ub9d0\ud588\uc5c8\ub294\uac00?\"\n```\n\n## \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ub3c4\uad6c\n\n| \ub3c4\uad6c | \uc124\uba85 |\n|------|-------------|\n| `q_workspace_help()` | \uc0ac\uc6a9\ubc95 \uc548\ub0b4 \ud45c\uc2dc |\n| `start_workspace(description)` | \uc790\ub3d9 \ub3d9\uae30\ud654\uc640 \ud568\uaed8 \uc0c8 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc2dc\uc791 |\n| `list_workspaces(limit=10)` | \ubaa8\ub4e0 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ubaa9\ub85d (\uae30\ubcf8: 10\uac1c, \ucd5c\ub300: 50\uac1c) |\n| `resume_workspace(workspace_id)` | \uc804\uccb4 \ucee8\ud14d\uc2a4\ud2b8\uc640 \ud568\uaed8 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc7ac\uac1c |\n| `search_memory_by_workspace(workspace_id, query)` | FTS5\ub97c \uc0ac\uc6a9\ud55c \ub300\ud654 \uac80\uc0c9 |\n| `delete_workspace(workspace_id, confirm=true)` | \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\uc640 \ubaa8\ub4e0 \ub300\ud654 \uc0ad\uc81c |\n| `cleanup_old_workspaces(days=30, confirm=true)` | \uc9c0\uc815\ub41c \uc77c\uc218\ubcf4\ub2e4 \uc624\ub798\ub41c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc815\ub9ac |\n| `get_storage_stats()` | \uc800\uc7a5\uc18c \ud1b5\uacc4 \ubc0f \uc0ac\uc6a9\ub7c9 \uc815\ubcf4 \uc870\ud68c |\n\n## \uae30\uc220 \uc2a4\ud0dd\n\n- **SQLite + FTS5**: \uc678\ubd80 \uc758\uc874\uc131 \uc5c6\ub294 \ube60\ub978 \uc804\ubb38 \uac80\uc0c9\n- **\uc2e4\uc2dc\uac04 \ub3d9\uae30\ud654**: Q CLI \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \uc0c8 \ub300\ud654 \ubaa8\ub2c8\ud130\ub9c1\n- **Q CLI LLM \ud1b5\ud569**: Q CLI\uc758 \ub0b4\uc7a5 LLM\uc744 \uc0ac\uc6a9\ud55c \uc9c0\ub2a5\uc801 \uc694\uc57d\n- **MCP \ud504\ub85c\ud1a0\ucf5c**: Amazon Q\uc640\uc758 \ud45c\uc900 \ud1b5\uc2e0\n\n## \ub370\uc774\ud130 \uc800\uc7a5\n\n- **\ub370\uc774\ud130\ubca0\uc774\uc2a4**: `~/.Q_workspace/conversations.db`\n- **\ub85c\uadf8**: `~/.Q_workspace/operations.log`\n\n## \uc790\ub3d9 \ub3d9\uae30\ud654 \uae30\ub2a5\n\nQ CLI \ub300\ud654\uac00 SQLite\uc5d0 \uc2e4\uc2dc\uac04\uc73c\ub85c \uc790\ub3d9 \uc800\uc7a5\ub429\ub2c8\ub2e4:\n\n- **\uc2e4\uc2dc\uac04 \uac10\uc9c0**: Q CLI \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \uc0c8 \ub300\ud654 \ubaa8\ub2c8\ud130\ub9c1\n- **\uc989\uc2dc \ub3d9\uae30\ud654**: \uc0c8 \ub300\ud654\uac00 \ub098\ud0c0\ub098\uba74 \uc989\uc2dc \ucc98\ub9ac\n- **\ubc31\uadf8\ub77c\uc6b4\ub4dc \ucc98\ub9ac**: \ub17c\ube14\ub85c\ud0b9 \ub3d9\uae30\ud654\n- **\uc0c1\ud0dc \ubcf5\uad6c**: \uc7ac\uc2dc\uc791 \ud6c4\uc5d0\ub3c4 \ub3d9\uae30\ud654 \uc0c1\ud0dc \uc720\uc9c0\n\n## \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uad00\ub9ac\n\n### \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc0dd\uc131\n```bash\n# \uc0c8 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc2dc\uc791\nstart_workspace(description=\"Python_\ud559\uc2b5\")\n# \ub610\ub294 \uc790\uc5f0\uc5b4\n\"Python_\ud559\uc2b5 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc2dc\uc791\ud574\uc918\"\n```\n\n### \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uac04 \uc804\ud658\n```bash\n# \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ubaa9\ub85d (\uae30\ubcf8: 10\uac1c, \ucd5c\ub300: 50\uac1c)\nlist_workspaces()\nlist_workspaces(limit=20)\n\n# \ud2b9\uc815 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc7ac\uac1c\nresume_workspace(workspace_id=\"\uac1c\ubc1c\uc790\")\n# \ub610\ub294 \uc790\uc5f0\uc5b4\n\"\uac1c\ubc1c\uc790 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc7ac\uac1c\ud574\"\n```\n\n### \ub300\ud654 \uac80\uc0c9\n```bash\n# FTS5\ub97c \uc0ac\uc6a9\ud55c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ub0b4 \uac80\uc0c9\nsearch_memory_by_workspace(workspace_id=\"Python_\ud559\uc2b5\", query=\"\ub9ac\uc2a4\ud2b8\")\n\n# \ub610\ub294 \uc790\uc5f0\uc5b4: \"\ud604\uc7ac \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\uc5d0\uc11c \ub0b4\uac00 \ub9ac\uc2a4\ud2b8\ub97c \ub9d0\ud55c\uc801\uc774 \uc788\uc5c8\ub294\uac00?\"\n\n# \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\uc758 \ubaa8\ub4e0 \ub300\ud654 \uc870\ud68c\nsearch_memory_by_workspace(workspace_id=\"Python_\ud559\uc2b5\", query=\"\")\n```\n\n### \uc720\uc9c0\ubcf4\uc218\n```bash\n# \uc800\uc7a5\uc18c \uc0ac\uc6a9\ub7c9 \ubc0f \ud1b5\uacc4 \ud655\uc778\nget_storage_stats()\n\n# \uc624\ub798\ub41c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc815\ub9ac (\uae30\ubcf8: 30\uc77c)\ncleanup_old_workspaces(confirm=true)\ncleanup_old_workspaces(days=60, confirm=true)\n\n# \ud2b9\uc815 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc0ad\uc81c\ndelete_workspace(workspace_id=\"\ubc31\uc5d4\ub4dc\uac1c\ubc1c\", confirm=true)\n\n\n# \uc0ac\uc6a9\ubc95 \uc548\ub0b4 \ud45c\uc2dc\nq_workspace_help()\n```\n\n## \uc790\uc5f0\uc5b4 \uc9c0\uc6d0\n\n\uc11c\ubc84\ub294 \uc601\uc5b4\uc640 \ud55c\uad6d\uc5b4 \uc790\uc5f0\uc5b4 \uba85\ub839\uc744 \ubaa8\ub450 \uc9c0\uc6d0\ud569\ub2c8\ub2e4:\n\n```bash\n# \uc601\uc5b4\n\"start backend_development workspace\"\n\"resume Python_learning workspace\"\n\"show me all workspaces\"\n\n# \ud55c\uad6d\uc5b4\n\"\ubc31\uc5d4\ub4dc\uac1c\ubc1c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc2dc\uc791\ud574\uc918\"\n\"Python_\ud559\uc2b5 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\ub85c \uc7ac\uac1c\ud574\uc918\"\n\"\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \ubaa9\ub85d \ubcf4\uc5ec\uc918\"\n```\n\n## \uc0ac\uc6a9 \ud301\n\n1. **\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc815\ub9ac**: \ub098\uc911\uc5d0 \uc27d\uac8c \uc2dd\ubcc4\ud560 \uc218 \uc788\ub3c4\ub85d \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\uc5d0 \uc124\uba85\uc801\uc778 \uc774\ub984 \uc0ac\uc6a9\n2. **\uac80\uc0c9 \uc804\ub7b5**: \ub354 \ub098\uc740 FTS5 \uac80\uc0c9 \uacb0\uacfc\ub97c \uc704\ud574 \uc77c\ubc18\uc801\uc778 \uc6a9\uc5b4\ubcf4\ub2e4 \uad6c\uccb4\uc801\uc778 \ud0a4\uc6cc\ub4dc \uc0ac\uc6a9\n3. **\uc815\uae30 \uc720\uc9c0\ubcf4\uc218**: \uc131\ub2a5 \uc720\uc9c0\ub97c \uc704\ud574 \uc8fc\uae30\uc801\uc73c\ub85c \uc624\ub798\ub41c \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc815\ub9ac\n4. **\ucee8\ud14d\uc2a4\ud2b8 \ubcf5\uc6d0**: \uc804\uccb4 \ub300\ud654 \ucee8\ud14d\uc2a4\ud2b8 \ubcf5\uc6d0\uc744 \uc704\ud574 `resume_workspace` \uc0ac\uc6a9\n5. **\uc790\uc5f0\uc5b4**: \ub354 \uc26c\uc6b4 \uc0c1\ud638\uc791\uc6a9\uc744 \uc704\ud574 \uc790\uc5f0\uc5b4 \uba85\ub839 \uc0ac\uc6a9\n\n## SQLite + FTS5\uc758 \uc7a5\uc810\n\n- \u26a1 **\uc989\uc2dc \uc2dc\uc791** - \uc784\ubca0\ub529 \ubaa8\ub378 \ub85c\ub529 \ubd88\ud544\uc694\n- \ud83d\udd0d **\ube60\ub978 \uac80\uc0c9** - \ub124\uc774\ud2f0\ube0c FTS5 \uc804\ubb38 \uac80\uc0c9 \uae30\ub2a5\n- \ud83d\udcbe **\uc548\uc815\uc801\uc778 \uc800\uc7a5** - \uac80\uc99d\ub41c SQLite \ub370\uc774\ud130\ubca0\uc774\uc2a4\n- \ud83d\udd04 **\uc2e4\uc2dc\uac04 \ub3d9\uae30\ud654** - \uc989\uc2dc Q CLI \ud1b5\ud569\n- \ud83d\udcca **\uac04\ub2e8\ud55c \ucffc\ub9ac** - \ud45c\uc900 SQL \uc791\uc5c5\n- \ud83d\ude80 **\uc758\uc874\uc131 \uc5c6\uc74c** - \uc790\uccb4 \uc644\uacb0\ud615 \uc194\ub8e8\uc158\n\n## \ub77c\uc774\uc120\uc2a4\n\nMIT License\n\n## \ub9c1\ud06c\n\n- **PyPI**: https://pypi.org/project/q_workspace_mcp_server/\n- **GitHub**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server\n- **Issues**: https://github.com/jikang-jeong/aws-q-workspace-mcp-server/issues\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Conversation workspace management MCP server for Amazon Q CLI with SQLite + FTS5 storage and real-time sync",
    "version": "0.0.3",
    "project_urls": {
        "Documentation": "https://github.com/jikjeong/q-workspace-mcp-server/blob/main/README.md",
        "Homepage": "https://github.com/jikjeong/q-workspace-mcp-server",
        "Issues": "https://github.com/jikjeong/q-workspace-mcp-server/issues",
        "Repository": "https://github.com/jikjeong/q-workspace-mcp-server"
    },
    "split_keywords": [
        "amazon-q",
        " conversation-workspace",
        " fts5",
        " mcp",
        " real-time-sync",
        " sqlite",
        " workspace-management"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c8f20cdf571fdf2f0e0fae646d2ec563a59e9890eae500adc12857f0e896478b",
                "md5": "42fd5f2e3a9f1bff99b7f23639e40da2",
                "sha256": "395876456f138055e22c75fd9778bee60f8092eb30f7da1792c3c55fb0073b2e"
            },
            "downloads": -1,
            "filename": "q_workspace_mcp_server-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "42fd5f2e3a9f1bff99b7f23639e40da2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 24361,
            "upload_time": "2025-07-12T12:42:07",
            "upload_time_iso_8601": "2025-07-12T12:42:07.128907Z",
            "url": "https://files.pythonhosted.org/packages/c8/f2/0cdf571fdf2f0e0fae646d2ec563a59e9890eae500adc12857f0e896478b/q_workspace_mcp_server-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aaccbb623e563960af23c793b135d7097fc0a7f9c7f90a7968e70fbe346af5a8",
                "md5": "016b85e4aa9fd182a4047509a1ec6897",
                "sha256": "9f061a8eb7b84ec914bd39301904db7854a0b6828ea64768f1237884cc848186"
            },
            "downloads": -1,
            "filename": "q_workspace_mcp_server-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "016b85e4aa9fd182a4047509a1ec6897",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 21435,
            "upload_time": "2025-07-12T12:42:08",
            "upload_time_iso_8601": "2025-07-12T12:42:08.507113Z",
            "url": "https://files.pythonhosted.org/packages/aa/cc/bb623e563960af23c793b135d7097fc0a7f9c7f90a7968e70fbe346af5a8/q_workspace_mcp_server-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-12 12:42:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jikjeong",
    "github_project": "q-workspace-mcp-server",
    "github_not_found": true,
    "lcname": "q-workspace-mcp-server"
}
        
Elapsed time: 0.75187s