vector-task-mcp 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,40 @@
1
+ {
2
+ "mcpServers": {
3
+ "context7": {
4
+ "type": "stdio",
5
+ "command": "npx",
6
+ "args": [
7
+ "-y",
8
+ "@upstash/context7-mcp",
9
+ "--api-key",
10
+ "ctx7sk-d066fdcb-bd7e-4e10-acf4-522c7621e2c4"
11
+ ]
12
+ },
13
+ "sequential-thinking": {
14
+ "type": "stdio",
15
+ "command": "npx",
16
+ "args": [
17
+ "-y",
18
+ "@modelcontextprotocol/server-sequential-thinking"
19
+ ]
20
+ },
21
+ "vector-memory": {
22
+ "type": "stdio",
23
+ "command": "/Users/xsaven/PhpstormProjects/vector-memory-mcp/run-arm64.sh",
24
+ "args": [
25
+ "--working-dir",
26
+ "/Users/xsaven/PhpstormProjects/vector-task-mcp",
27
+ "--memory-limit",
28
+ "100000"
29
+ ]
30
+ },
31
+ "vector-task": {
32
+ "type": "stdio",
33
+ "command": "/Users/xsaven/PhpstormProjects/vector-task-mcp/run-arm64.sh",
34
+ "args": [
35
+ "--working-dir",
36
+ "/Users/xsaven/PhpstormProjects/vector-task-mcp"
37
+ ]
38
+ }
39
+ }
40
+ }
@@ -0,0 +1 @@
1
+ 3.11
@@ -0,0 +1,118 @@
1
+ # Vector Task MCP Server
2
+
3
+ ## Project Overview
4
+ MCP (Model Context Protocol) Server для управління задачами з використанням sqlite-vec для семантичного пошуку.
5
+
6
+ ## Technology Stack
7
+ - **Python**: 3.11.8 (requires >= 3.10)
8
+ - **Package Manager**: `uv` (сучасний Python package manager)
9
+ - **Database**: SQLite 3.43.2 + sqlite-vec extension
10
+ - **Embeddings**: sentence-transformers/all-MiniLM-L6-v2 (384-dimensional vectors)
11
+ - **MCP Framework**: FastMCP >= 0.3.0
12
+
13
+ ## Key Dependencies
14
+ - `mcp>=0.3.0` - Model Context Protocol framework
15
+ - `sqlite-vec>=0.1.6` - Vector search extension для SQLite
16
+ - `sentence-transformers>=2.2.2` - Embedding models
17
+
18
+ ## Project Structure
19
+ - `main.py` - Entry point with uv script configuration
20
+ - `requirements.txt` - Python dependencies for pip/venv compatibility
21
+ - `pyproject.toml` - Modern Python project configuration
22
+ - `.python-version` - Python version specification (3.11)
23
+ - `claude-desktop-config.example.json` - Claude Desktop configuration template
24
+ - `src/models.py` - Data models and configuration
25
+ - `src/security.py` - Security validation and sanitization
26
+ - `src/task_store.py` - Vector task storage operations
27
+ - `tasks.db` - SQLite database for tasks
28
+
29
+ ## How to Run
30
+
31
+ ### Standalone
32
+ ```bash
33
+ # Using uv (requires Python with SQLite extensions support)
34
+ uv run main.py --working-dir ./
35
+
36
+ # Alternative with conda Python (has SQLite extensions support)
37
+ ~/miniconda3/envs/vector-mcp/bin/python main.py --working-dir ./
38
+ ```
39
+
40
+ ### Configuration Options
41
+
42
+ - `--working-dir` - Working directory for task database (required, default: current directory)
43
+ - Specifies the project directory where the `memory/` subdirectory will be created
44
+ - Database will be stored at `{working-dir}/memory/tasks.db`
45
+ - Example: `--working-dir /path/to/project` → database at `/path/to/project/memory/tasks.db`
46
+
47
+ **⚠️ IMPORTANT for macOS Users:**
48
+ - Standard Python from python.org does NOT support SQLite loadable extensions
49
+ - Use conda/miniforge Python or compile Python with `--enable-loadable-sqlite-extensions`
50
+ - On Apple Silicon, ensure you're running native arm64 Python, not x86_64 through Rosetta
51
+
52
+ ### Claude Desktop Integration
53
+ Використовуй `claude-desktop-config.example.json` як шаблон.
54
+
55
+ Конфігурація для Claude Desktop:
56
+ ```json
57
+ {
58
+ "mcpServers": {
59
+ "vector-task": {
60
+ "command": "uv",
61
+ "args": [
62
+ "run",
63
+ "/absolute/path/to/main.py",
64
+ "--working-dir",
65
+ "/your/project/path"
66
+ ]
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ **ВАЖЛИВО:**
73
+ - Використовуй абсолютні шляхи, не відносні!
74
+
75
+ ## Database Architecture
76
+ - `task_metadata` - Метадані задач (title, content, status, priority, tags, timestamps)
77
+ - `task_vectors` - Векторна таблиця (vec0 virtual table)
78
+ - Індекси на status, priority, created_at, content_hash
79
+
80
+ ## Task Management Features
81
+ - **Task Lifecycle**: pending → in_progress → completed/stopped
82
+ - **Priorities**: low, medium, high, critical
83
+ - **Hierarchical Tasks**: Parent-child task relationships
84
+ - **Smart Search**: Semantic search using vector embeddings
85
+ - **Tags**: Organize tasks with custom tags
86
+ - **Comments**: Add notes to tasks without changing content
87
+
88
+ ## Available MCP Tools
89
+ - `task_create` - Create new task
90
+ - `task_create_bulk` - Create multiple tasks
91
+ - `task_update` - Update task fields
92
+ - `task_delete` / `task_delete_bulk` - Delete tasks
93
+ - `task_list` - List/search tasks with filters
94
+ - `task_get` - Get specific task by ID
95
+ - `task_last` - Get last created task
96
+ - `task_next` - Get next task to work on
97
+ - `task_start` / `task_finish` / `task_stop` / `task_resume` - Task lifecycle
98
+ - `task_comment` - Add/update task comments
99
+ - `task_add_tag` / `task_remove_tag` / `task_get_all_tags` - Tag management
100
+ - `task_stats` - Get task statistics
101
+
102
+ ## Important Notes
103
+ - **sqlite-vec** працює як extension для SQLite, завантажується через `sqlite_vec.load(conn)`
104
+ - **uv** використовується замість venv - він керує ізольованим оточенням автоматично
105
+ - Векторний пошук використовує 384-вимірні embeddings
106
+ - База даних: `tasks.db` (location depends on `--working-dir`, see Configuration Options)
107
+
108
+ ## Security Features
109
+ - Working directory validation
110
+ - Input sanitization
111
+ - Content hash для дедуплікації
112
+ - Resource limits для захисту від DoS
113
+ - Bulk operation limits (50 creates, 100 deletes max)
114
+
115
+ ## Development Notes
116
+ - Проект налаштований як uv script з inline metadata (/// script ///)
117
+ - Не потрібно створювати venv вручну
118
+ - Всі залежності автоматично керуються через uv
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 cornebidouil
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,26 @@
1
+ # Include documentation
2
+ include README.md
3
+ include LICENSE
4
+ include CLAUDE.md
5
+
6
+ # Include configuration examples
7
+ include claude-desktop-config.example.json
8
+ include .mcp.json
9
+
10
+ # Include scripts
11
+ include run-arm64.sh
12
+
13
+ # Include requirements
14
+ include requirements.txt
15
+
16
+ # Include Python version specification
17
+ include .python-version
18
+
19
+ # Exclude unnecessary files
20
+ exclude .gitignore
21
+ recursive-exclude __pycache__ *
22
+ recursive-exclude .git *
23
+ recursive-exclude .idea *
24
+ recursive-exclude .venv *
25
+ recursive-exclude memory *
26
+ exclude uv.lock