vector-task-mcp 1.2.2__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.
- vector_task_mcp-1.2.2/.mcp.json +42 -0
- vector_task_mcp-1.2.2/.python-version +1 -0
- vector_task_mcp-1.2.2/CLAUDE.md +123 -0
- vector_task_mcp-1.2.2/LICENSE +21 -0
- vector_task_mcp-1.2.2/MANIFEST.in +26 -0
- vector_task_mcp-1.2.2/PKG-INFO +655 -0
- vector_task_mcp-1.2.2/README.md +628 -0
- vector_task_mcp-1.2.2/claude-desktop-config.example.json +46 -0
- vector_task_mcp-1.2.2/main.py +686 -0
- vector_task_mcp-1.2.2/pyproject.toml +61 -0
- vector_task_mcp-1.2.2/requirements.txt +3 -0
- vector_task_mcp-1.2.2/run-arm64.sh +23 -0
- vector_task_mcp-1.2.2/setup.cfg +4 -0
- vector_task_mcp-1.2.2/src/__init__.py +44 -0
- vector_task_mcp-1.2.2/src/embeddings.py +68 -0
- vector_task_mcp-1.2.2/src/models.py +331 -0
- vector_task_mcp-1.2.2/src/security.py +919 -0
- vector_task_mcp-1.2.2/src/task_store.py +1908 -0
- vector_task_mcp-1.2.2/tests/test_task_store.py +509 -0
- vector_task_mcp-1.2.2/vector_task_mcp.egg-info/PKG-INFO +655 -0
- vector_task_mcp-1.2.2/vector_task_mcp.egg-info/SOURCES.txt +23 -0
- vector_task_mcp-1.2.2/vector_task_mcp.egg-info/dependency_links.txt +1 -0
- vector_task_mcp-1.2.2/vector_task_mcp.egg-info/entry_points.txt +2 -0
- vector_task_mcp-1.2.2/vector_task_mcp.egg-info/requires.txt +3 -0
- vector_task_mcp-1.2.2/vector_task_mcp.egg-info/top_level.txt +2 -0
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
"--timezone",
|
|
38
|
+
"Europe/Kyiv"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.11
|
|
@@ -0,0 +1,123 @@
|
|
|
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**: draft → pending → in_progress → completed → tested → validated (or stopped/canceled at any point)
|
|
82
|
+
- **Statuses**: draft, pending, in_progress, completed, tested, validated, stopped, canceled
|
|
83
|
+
- **draft**: Task draft (not ready for execution)
|
|
84
|
+
- **pending**: Task ready but not started
|
|
85
|
+
- **in_progress**: Currently being worked on
|
|
86
|
+
- **completed**: Basic completion
|
|
87
|
+
- **tested**: Completed and tested
|
|
88
|
+
- **validated**: Completed, tested, and validated
|
|
89
|
+
- **stopped**: Paused/blocked
|
|
90
|
+
- **canceled**: Task canceled (will not be done)
|
|
91
|
+
- **Priorities**: low, medium, high, critical
|
|
92
|
+
- **Hierarchical Tasks**: Parent-child task relationships
|
|
93
|
+
- **Smart Search**: Semantic search using vector embeddings
|
|
94
|
+
- **Tags**: Organize tasks with custom tags
|
|
95
|
+
- **Comments**: Add notes to tasks without changing content
|
|
96
|
+
|
|
97
|
+
## Available MCP Tools
|
|
98
|
+
- `task_create` - Create new task
|
|
99
|
+
- `task_create_bulk` - Create multiple tasks
|
|
100
|
+
- `task_update` - Update task fields (status, priority, tags, comment with append, add_tag, remove_tag)
|
|
101
|
+
- `task_delete` / `task_delete_bulk` - Delete tasks
|
|
102
|
+
- `task_list` - List/search tasks with filters
|
|
103
|
+
- `task_get` - Get specific task by ID
|
|
104
|
+
- `task_next` - Get next task to work on
|
|
105
|
+
- `task_stats` - Get task statistics (includes unique_tags)
|
|
106
|
+
|
|
107
|
+
## Important Notes
|
|
108
|
+
- **sqlite-vec** працює як extension для SQLite, завантажується через `sqlite_vec.load(conn)`
|
|
109
|
+
- **uv** використовується замість venv - він керує ізольованим оточенням автоматично
|
|
110
|
+
- Векторний пошук використовує 384-вимірні embeddings
|
|
111
|
+
- База даних: `tasks.db` (location depends on `--working-dir`, see Configuration Options)
|
|
112
|
+
|
|
113
|
+
## Security Features
|
|
114
|
+
- Working directory validation
|
|
115
|
+
- Input sanitization
|
|
116
|
+
- Content hash для дедуплікації
|
|
117
|
+
- Resource limits для захисту від DoS
|
|
118
|
+
- Bulk operation limits (50 creates, 100 deletes max)
|
|
119
|
+
|
|
120
|
+
## Development Notes
|
|
121
|
+
- Проект налаштований як uv script з inline metadata (/// script ///)
|
|
122
|
+
- Не потрібно створювати venv вручну
|
|
123
|
+
- Всі залежності автоматично керуються через 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
|