yomemoai-mcp 0.1.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,11 @@
1
+ # Python-generated files
2
+ __pycache__/
3
+ *.py[oc]
4
+ build/
5
+ dist/
6
+ wheels/
7
+ *.egg-info
8
+
9
+ # Virtual environments
10
+ .venv
11
+ .env
@@ -0,0 +1 @@
1
+ 3.12
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 yomemo.ai
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,234 @@
1
+ Metadata-Version: 2.4
2
+ Name: yomemoai-mcp
3
+ Version: 0.1.0
4
+ Summary: Model Context Protocol (MCP) server for YoMemoAI - enables AI assistants to save and retrieve encrypted memories
5
+ Author-email: lvxiangxiang <lvxiangxiang@shopline.com>
6
+ License: MIT
7
+ License-File: LICENSE
8
+ Keywords: ai,claude,cursor,mcp,mcp-server,memory,yomemoai
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
15
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
+ Requires-Python: >=3.12
17
+ Requires-Dist: cryptography>=46.0.3
18
+ Requires-Dist: fastmcp>=0.1.0
19
+ Requires-Dist: mcp>=1.25.0
20
+ Requires-Dist: python-dotenv>=1.2.1
21
+ Requires-Dist: requests>=2.32.5
22
+ Description-Content-Type: text/markdown
23
+
24
+ # yomemoai-mcp
25
+
26
+ A Model Context Protocol (MCP) server for YoMemoAI, enabling AI assistants to save and retrieve encrypted memories.
27
+
28
+ ## Features
29
+
30
+ - 🔐 **Secure Storage**: Encrypted memory storage using RSA-OAEP and AES-GCM
31
+ - 🏷️ **Categorization**: Organize memories with handles (tags/categories)
32
+ - 🔍 **Retrieval**: Query memories by handle or retrieve all memories
33
+ - 🚀 **MCP Integration**: Seamlessly integrates with MCP-compatible AI assistants
34
+
35
+ ## Prerequisites
36
+
37
+ - Python 3.12 or higher
38
+ - [uv](https://github.com/astral-sh/uv) package manager
39
+ - YoMemoAI API key
40
+ - RSA private key (PEM format)
41
+
42
+ ## Installation
43
+
44
+ 1. Clone the repository:
45
+
46
+ ```bash
47
+ git clone <repository-url>
48
+ cd yomemoai-mcp
49
+ ```
50
+
51
+ 2. Install dependencies using uv:
52
+
53
+ ```bash
54
+ uv sync
55
+ ```
56
+
57
+ ## Configuration
58
+
59
+ Create a `.env` file in the project root with the following configuration:
60
+
61
+ ```bash
62
+ # YoMemoAI MCP Server Configuration
63
+
64
+ # Your API key from YoMemoAI (required)
65
+ MEMO_API_KEY=your_api_key_here
66
+
67
+ # Path to your private key file (RSA private key in PEM format)
68
+ # Default: private.pem
69
+ MEMO_PRIVATE_KEY_PATH=private.pem
70
+
71
+ # Base URL of the YoMemoAI API (optional)
72
+ # Default: https://api.yomemo.ai
73
+ MEMO_BASE_URL=https://api.yomemo.ai
74
+ ```
75
+
76
+ **Important Configuration Notes:**
77
+
78
+ 1. **MEMO_API_KEY** (required): Your YoMemoAI API key. You must obtain this from your YoMemoAI account.
79
+
80
+ 2. **MEMO_PRIVATE_KEY_PATH**: Path to your RSA private key file. The private key should be in PEM format:
81
+
82
+ ```
83
+ -----BEGIN PRIVATE KEY-----
84
+ ...
85
+ -----END PRIVATE KEY-----
86
+ ```
87
+
88
+ Make sure this file is secure and never commit it to version control.
89
+
90
+ 3. **MEMO_BASE_URL** (optional): The API base URL. Defaults to `https://api.yomemo.ai` if not specified.
91
+
92
+ ## Usage
93
+
94
+ ### Running the MCP Server
95
+
96
+ After configuration, you can run the MCP server using:
97
+
98
+ ```bash
99
+ uv run memo-mcp
100
+ ```
101
+
102
+ ### Integration with Cursor/Claude Desktop
103
+
104
+ Add the following configuration to your MCP settings file:
105
+
106
+ **For Cursor**: `~/.cursor/mcp.json` (or `%APPDATA%\Cursor\User\mcp.json` on Windows)
107
+ **For Claude Desktop**: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows)
108
+
109
+ #### Option 1: Using `uvx` (Recommended - after publishing to PyPI)
110
+
111
+ If the package is published to PyPI, you can use `uvx` to run it directly. The package provides multiple entry points:
112
+
113
+ **Using `uvx yomemoai-mcp`** (recommended):
114
+
115
+ ```json
116
+ {
117
+ "mcpServers": {
118
+ "yomemoai": {
119
+ "command": "uvx",
120
+ "args": ["yomemoai-mcp"],
121
+ "env": {
122
+ "MEMO_API_KEY": "your_api_key_here",
123
+ "MEMO_PRIVATE_KEY_PATH": "/absolute/path/to/private.pem",
124
+ "MEMO_BASE_URL": "https://api.yomemo.ai"
125
+ }
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ **How `uvx` works:**
132
+
133
+ - `uvx` automatically downloads the package from PyPI (if not already installed)
134
+ - It runs the package's entry point script defined in `project.scripts`
135
+ - The package name is `yomemoai-mcp`, so `uvx yomemoai-mcp` will automatically use the `yomemoai-mcp` entry point
136
+ - The package also provides alternative entry points: `yomemo` and `memo-mcp` (all point to the same server)
137
+
138
+ **Note**: The package must be published to PyPI before using `uvx`. If the package is not yet published, use Option 2 for local development.
139
+
140
+ #### Option 2: Using local development setup
141
+
142
+ For local development or if the package is not yet published, use the `uv --directory` approach:
143
+
144
+ ```json
145
+ {
146
+ "mcpServers": {
147
+ "yomemoai": {
148
+ "command": "uv",
149
+ "args": [
150
+ "--directory",
151
+ "/absolute/path/to/yomemoai-mcp",
152
+ "run",
153
+ "yomemoai-mcp"
154
+ ],
155
+ "env": {
156
+ "MEMO_API_KEY": "your_api_key_here",
157
+ "MEMO_PRIVATE_KEY_PATH": "/absolute/path/to/private.pem",
158
+ "MEMO_BASE_URL": "https://api.yomemo.ai"
159
+ }
160
+ }
161
+ }
162
+ }
163
+ ```
164
+
165
+ **Important Notes:**
166
+
167
+ - **For Option 1 (`uvx`)**: The package must be published to PyPI. `uvx` will automatically handle installation and execution.
168
+ - **For Option 2 (local)**: Replace `/absolute/path/to/yomemoai-mcp` with the **absolute path** to this repository on your system
169
+ - Replace `/absolute/path/to/private.pem` with the **absolute path** to your private key file
170
+ - The `env` section in the MCP config will override any `.env` file in the project directory
171
+ - After updating the MCP config, restart Cursor/Claude Desktop for changes to take effect
172
+
173
+ ### Available Tools
174
+
175
+ #### `save_memory`
176
+
177
+ Store important information, user preferences, or conversation context as a permanent memory.
178
+
179
+ **Parameters:**
180
+
181
+ - `content` (required): The actual text/information to be remembered
182
+ - `handle` (optional): A short, unique category or tag (e.g., 'work', 'personal', 'project-x'). Defaults to 'general'
183
+ - `description` (optional): A brief summary of what this memory is about
184
+
185
+ #### `load_memories`
186
+
187
+ Retrieve previously stored memories or context.
188
+
189
+ **Parameters:**
190
+
191
+ - `handle` (optional): Filter memories by category. If not specified, returns all memories
192
+
193
+ ## Development
194
+
195
+ ### Project Structure
196
+
197
+ ```
198
+ yomemoai-mcp/
199
+ ├── src/
200
+ │ └── yomemoai_mcp/
201
+ │ ├── __init__.py
202
+ │ ├── server.py # MCP server implementation
203
+ │ ├── client.py # YoMemoAI API client
204
+ │ └── py.typed # Type hints marker
205
+ ├── pyproject.toml # Project configuration
206
+ ├── uv.lock # Dependency lock file
207
+ └── README.md
208
+ ```
209
+
210
+ ### Dependencies
211
+
212
+ - `cryptography`: For encryption/decryption operations
213
+ - `fastmcp`: FastMCP framework for MCP servers
214
+ - `mcp`: Model Context Protocol SDK
215
+ - `python-dotenv`: Environment variable management
216
+ - `requests`: HTTP client for API calls
217
+
218
+ ## Security Notes
219
+
220
+ - **Never commit** your `.env` file or private key files to version control
221
+ - Keep your private key secure and never share it
222
+ - The `.env` file is already included in `.gitignore`
223
+
224
+ ## License
225
+
226
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
227
+
228
+ ## Contributing
229
+
230
+ [Add contribution guidelines here]
231
+
232
+ ## Support
233
+
234
+ For issues and questions, please open an issue on the repository.
@@ -0,0 +1,187 @@
1
+ # Publishing Guide
2
+
3
+ This document describes how to publish `yomemoai-mcp` to PyPI so that users can install it using `uvx yomemoai-mcp`.
4
+
5
+ ## Prerequisites
6
+
7
+ 1. **PyPI Account**: Create an account at [PyPI](https://pypi.org/) if you don't have one
8
+ 2. **TestPyPI Account** (recommended for testing): Create an account at [TestPyPI](https://test.pypi.org/)
9
+ 3. **API Token**: You'll need an API token to publish packages
10
+
11
+ ## Step 1: Create API Token
12
+
13
+ 1. Log in to [PyPI](https://pypi.org/)
14
+ 2. Go to **Account settings** → **API tokens**
15
+ 3. Click **Add API token**
16
+ 4. Choose scope:
17
+ - **Entire account**: Can publish any package (recommended for personal projects)
18
+ - **Project-specific**: Limited to a specific package
19
+ 5. **Important**: Copy the token immediately - it's only shown once!
20
+ - Format: `pypi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
21
+
22
+ ## Step 2: Configure Authentication
23
+
24
+ ### Option A: Using Environment Variable (Recommended)
25
+
26
+ ```bash
27
+ export UV_PUBLISH_TOKEN=pypi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
28
+ ```
29
+
30
+ ### Option B: Using uv's Credential Store
31
+
32
+ uv will prompt for credentials when you run `uv publish` for the first time.
33
+
34
+ ## Step 3: Build the Package
35
+
36
+ Before publishing, build the package to ensure everything is correct:
37
+
38
+ ```bash
39
+ cd python-yomemo-mcp
40
+ uv build
41
+ ```
42
+
43
+ This will create a `dist/` directory containing:
44
+ - `yomemoai_mcp-0.1.0-py3-none-any.whl` (wheel distribution)
45
+ - `yomemoai-mcp-0.1.0.tar.gz` (source distribution)
46
+
47
+ ## Step 4: Test on TestPyPI (Recommended)
48
+
49
+ Before publishing to the real PyPI, test on TestPyPI:
50
+
51
+ ### 4.1 Create TestPyPI API Token
52
+
53
+ 1. Log in to [TestPyPI](https://test.pypi.org/)
54
+ 2. Create an API token (same process as PyPI)
55
+ 3. Export the token:
56
+ ```bash
57
+ export UV_PUBLISH_TOKEN=pypi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
58
+ ```
59
+
60
+ ### 4.2 Publish to TestPyPI
61
+
62
+ ```bash
63
+ uv publish --publish-url https://test.pypi.org/legacy/
64
+ ```
65
+
66
+ ### 4.3 Test Installation
67
+
68
+ Test that the package can be installed and run:
69
+
70
+ ```bash
71
+ # Test installation from TestPyPI
72
+ uvx --index-url https://test.pypi.org/simple/ yomemoai-mcp --help
73
+
74
+ # Or test in a clean environment
75
+ uv venv test-env
76
+ source test-env/bin/activate # On Windows: test-env\Scripts\activate
77
+ pip install --index-url https://test.pypi.org/simple/ yomemoai-mcp
78
+ yomemoai-mcp --help
79
+ ```
80
+
81
+ ## Step 5: Publish to PyPI
82
+
83
+ Once testing is successful, publish to the real PyPI:
84
+
85
+ ### 5.1 Set Production API Token
86
+
87
+ ```bash
88
+ export UV_PUBLISH_TOKEN=pypi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
89
+ ```
90
+
91
+ ### 5.2 Publish
92
+
93
+ ```bash
94
+ uv publish
95
+ ```
96
+
97
+ Or explicitly specify the URL:
98
+
99
+ ```bash
100
+ uv publish --publish-url https://upload.pypi.org/legacy/
101
+ ```
102
+
103
+ ## Step 6: Verify Publication
104
+
105
+ After publishing, verify the package is available:
106
+
107
+ ### 6.1 Check Package on PyPI
108
+
109
+ Visit: https://pypi.org/project/yomemoai-mcp/
110
+
111
+ ### 6.2 Test Installation
112
+
113
+ ```bash
114
+ # Test with uvx
115
+ uvx yomemoai-mcp --help
116
+
117
+ # Or install directly
118
+ pip install yomemoai-mcp
119
+ yomemoai-mcp --help
120
+ ```
121
+
122
+ ### 6.3 Check Package Metadata
123
+
124
+ ```bash
125
+ curl https://pypi.org/pypi/yomemoai-mcp/json | jq
126
+ ```
127
+
128
+ ## Updating the Package
129
+
130
+ When you need to publish a new version:
131
+
132
+ 1. **Update version** in `pyproject.toml`:
133
+ ```toml
134
+ version = "0.1.1" # or 0.2.0, 1.0.0, etc.
135
+ ```
136
+
137
+ 2. **Update CHANGELOG** (if you maintain one)
138
+
139
+ 3. **Build and publish**:
140
+ ```bash
141
+ uv build
142
+ uv publish
143
+ ```
144
+
145
+ ## Version Numbering
146
+
147
+ Follow [Semantic Versioning](https://semver.org/):
148
+ - **MAJOR** (1.0.0): Breaking changes
149
+ - **MINOR** (0.1.0): New features, backward compatible
150
+ - **PATCH** (0.1.1): Bug fixes, backward compatible
151
+
152
+ ## Troubleshooting
153
+
154
+ ### Error: "Package already exists"
155
+
156
+ - If you're updating an existing package, make sure to increment the version number
157
+ - If the package name is taken, you'll need to choose a different name
158
+
159
+ ### Error: "Invalid credentials"
160
+
161
+ - Check that your API token is correct
162
+ - Make sure you're using the right token (TestPyPI vs PyPI)
163
+ - Tokens expire after a period of inactivity - create a new one if needed
164
+
165
+ ### Error: "File already exists"
166
+
167
+ - The version you're trying to publish already exists
168
+ - Increment the version number in `pyproject.toml`
169
+
170
+ ### Package not found after publishing
171
+
172
+ - Wait a few minutes - PyPI indexing can take time
173
+ - Check the package name is correct: `yomemoai-mcp`
174
+ - Verify the package is published: https://pypi.org/project/yomemoai-mcp/
175
+
176
+ ## Security Notes
177
+
178
+ - **Never commit** API tokens to version control
179
+ - Use environment variables or credential stores
180
+ - Rotate tokens periodically
181
+ - Use project-specific tokens when possible (more secure than account-wide tokens)
182
+
183
+ ## Additional Resources
184
+
185
+ - [PyPI Documentation](https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/)
186
+ - [uv Documentation](https://docs.astral.sh/uv/)
187
+ - [Python Packaging User Guide](https://packaging.python.org/)
@@ -0,0 +1,211 @@
1
+ # yomemoai-mcp
2
+
3
+ A Model Context Protocol (MCP) server for YoMemoAI, enabling AI assistants to save and retrieve encrypted memories.
4
+
5
+ ## Features
6
+
7
+ - 🔐 **Secure Storage**: Encrypted memory storage using RSA-OAEP and AES-GCM
8
+ - 🏷️ **Categorization**: Organize memories with handles (tags/categories)
9
+ - 🔍 **Retrieval**: Query memories by handle or retrieve all memories
10
+ - 🚀 **MCP Integration**: Seamlessly integrates with MCP-compatible AI assistants
11
+
12
+ ## Prerequisites
13
+
14
+ - Python 3.12 or higher
15
+ - [uv](https://github.com/astral-sh/uv) package manager
16
+ - YoMemoAI API key
17
+ - RSA private key (PEM format)
18
+
19
+ ## Installation
20
+
21
+ 1. Clone the repository:
22
+
23
+ ```bash
24
+ git clone <repository-url>
25
+ cd yomemoai-mcp
26
+ ```
27
+
28
+ 2. Install dependencies using uv:
29
+
30
+ ```bash
31
+ uv sync
32
+ ```
33
+
34
+ ## Configuration
35
+
36
+ Create a `.env` file in the project root with the following configuration:
37
+
38
+ ```bash
39
+ # YoMemoAI MCP Server Configuration
40
+
41
+ # Your API key from YoMemoAI (required)
42
+ MEMO_API_KEY=your_api_key_here
43
+
44
+ # Path to your private key file (RSA private key in PEM format)
45
+ # Default: private.pem
46
+ MEMO_PRIVATE_KEY_PATH=private.pem
47
+
48
+ # Base URL of the YoMemoAI API (optional)
49
+ # Default: https://api.yomemo.ai
50
+ MEMO_BASE_URL=https://api.yomemo.ai
51
+ ```
52
+
53
+ **Important Configuration Notes:**
54
+
55
+ 1. **MEMO_API_KEY** (required): Your YoMemoAI API key. You must obtain this from your YoMemoAI account.
56
+
57
+ 2. **MEMO_PRIVATE_KEY_PATH**: Path to your RSA private key file. The private key should be in PEM format:
58
+
59
+ ```
60
+ -----BEGIN PRIVATE KEY-----
61
+ ...
62
+ -----END PRIVATE KEY-----
63
+ ```
64
+
65
+ Make sure this file is secure and never commit it to version control.
66
+
67
+ 3. **MEMO_BASE_URL** (optional): The API base URL. Defaults to `https://api.yomemo.ai` if not specified.
68
+
69
+ ## Usage
70
+
71
+ ### Running the MCP Server
72
+
73
+ After configuration, you can run the MCP server using:
74
+
75
+ ```bash
76
+ uv run memo-mcp
77
+ ```
78
+
79
+ ### Integration with Cursor/Claude Desktop
80
+
81
+ Add the following configuration to your MCP settings file:
82
+
83
+ **For Cursor**: `~/.cursor/mcp.json` (or `%APPDATA%\Cursor\User\mcp.json` on Windows)
84
+ **For Claude Desktop**: `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows)
85
+
86
+ #### Option 1: Using `uvx` (Recommended - after publishing to PyPI)
87
+
88
+ If the package is published to PyPI, you can use `uvx` to run it directly. The package provides multiple entry points:
89
+
90
+ **Using `uvx yomemoai-mcp`** (recommended):
91
+
92
+ ```json
93
+ {
94
+ "mcpServers": {
95
+ "yomemoai": {
96
+ "command": "uvx",
97
+ "args": ["yomemoai-mcp"],
98
+ "env": {
99
+ "MEMO_API_KEY": "your_api_key_here",
100
+ "MEMO_PRIVATE_KEY_PATH": "/absolute/path/to/private.pem",
101
+ "MEMO_BASE_URL": "https://api.yomemo.ai"
102
+ }
103
+ }
104
+ }
105
+ }
106
+ ```
107
+
108
+ **How `uvx` works:**
109
+
110
+ - `uvx` automatically downloads the package from PyPI (if not already installed)
111
+ - It runs the package's entry point script defined in `project.scripts`
112
+ - The package name is `yomemoai-mcp`, so `uvx yomemoai-mcp` will automatically use the `yomemoai-mcp` entry point
113
+ - The package also provides alternative entry points: `yomemo` and `memo-mcp` (all point to the same server)
114
+
115
+ **Note**: The package must be published to PyPI before using `uvx`. If the package is not yet published, use Option 2 for local development.
116
+
117
+ #### Option 2: Using local development setup
118
+
119
+ For local development or if the package is not yet published, use the `uv --directory` approach:
120
+
121
+ ```json
122
+ {
123
+ "mcpServers": {
124
+ "yomemoai": {
125
+ "command": "uv",
126
+ "args": [
127
+ "--directory",
128
+ "/absolute/path/to/yomemoai-mcp",
129
+ "run",
130
+ "yomemoai-mcp"
131
+ ],
132
+ "env": {
133
+ "MEMO_API_KEY": "your_api_key_here",
134
+ "MEMO_PRIVATE_KEY_PATH": "/absolute/path/to/private.pem",
135
+ "MEMO_BASE_URL": "https://api.yomemo.ai"
136
+ }
137
+ }
138
+ }
139
+ }
140
+ ```
141
+
142
+ **Important Notes:**
143
+
144
+ - **For Option 1 (`uvx`)**: The package must be published to PyPI. `uvx` will automatically handle installation and execution.
145
+ - **For Option 2 (local)**: Replace `/absolute/path/to/yomemoai-mcp` with the **absolute path** to this repository on your system
146
+ - Replace `/absolute/path/to/private.pem` with the **absolute path** to your private key file
147
+ - The `env` section in the MCP config will override any `.env` file in the project directory
148
+ - After updating the MCP config, restart Cursor/Claude Desktop for changes to take effect
149
+
150
+ ### Available Tools
151
+
152
+ #### `save_memory`
153
+
154
+ Store important information, user preferences, or conversation context as a permanent memory.
155
+
156
+ **Parameters:**
157
+
158
+ - `content` (required): The actual text/information to be remembered
159
+ - `handle` (optional): A short, unique category or tag (e.g., 'work', 'personal', 'project-x'). Defaults to 'general'
160
+ - `description` (optional): A brief summary of what this memory is about
161
+
162
+ #### `load_memories`
163
+
164
+ Retrieve previously stored memories or context.
165
+
166
+ **Parameters:**
167
+
168
+ - `handle` (optional): Filter memories by category. If not specified, returns all memories
169
+
170
+ ## Development
171
+
172
+ ### Project Structure
173
+
174
+ ```
175
+ yomemoai-mcp/
176
+ ├── src/
177
+ │ └── yomemoai_mcp/
178
+ │ ├── __init__.py
179
+ │ ├── server.py # MCP server implementation
180
+ │ ├── client.py # YoMemoAI API client
181
+ │ └── py.typed # Type hints marker
182
+ ├── pyproject.toml # Project configuration
183
+ ├── uv.lock # Dependency lock file
184
+ └── README.md
185
+ ```
186
+
187
+ ### Dependencies
188
+
189
+ - `cryptography`: For encryption/decryption operations
190
+ - `fastmcp`: FastMCP framework for MCP servers
191
+ - `mcp`: Model Context Protocol SDK
192
+ - `python-dotenv`: Environment variable management
193
+ - `requests`: HTTP client for API calls
194
+
195
+ ## Security Notes
196
+
197
+ - **Never commit** your `.env` file or private key files to version control
198
+ - Keep your private key secure and never share it
199
+ - The `.env` file is already included in `.gitignore`
200
+
201
+ ## License
202
+
203
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
204
+
205
+ ## Contributing
206
+
207
+ [Add contribution guidelines here]
208
+
209
+ ## Support
210
+
211
+ For issues and questions, please open an issue on the repository.
@@ -0,0 +1,36 @@
1
+ [project]
2
+ name = "yomemoai-mcp"
3
+ version = "0.1.0"
4
+ description = "Model Context Protocol (MCP) server for YoMemoAI - enables AI assistants to save and retrieve encrypted memories"
5
+ readme = "README.md"
6
+ license = { text = "MIT" }
7
+ authors = [
8
+ { name = "lvxiangxiang", email = "lvxiangxiang@shopline.com" }
9
+ ]
10
+ requires-python = ">=3.12"
11
+ keywords = ["mcp", "mcp-server", "yomemoai", "memory", "ai", "claude", "cursor"]
12
+ classifiers = [
13
+ "Development Status :: 4 - Beta",
14
+ "Intended Audience :: Developers",
15
+ "License :: OSI Approved :: MIT License",
16
+ "Programming Language :: Python :: 3",
17
+ "Programming Language :: Python :: 3.12",
18
+ "Topic :: Software Development :: Libraries :: Python Modules",
19
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
20
+ ]
21
+ dependencies = [
22
+ "cryptography>=46.0.3",
23
+ "fastmcp>=0.1.0",
24
+ "mcp>=1.25.0",
25
+ "python-dotenv>=1.2.1",
26
+ "requests>=2.32.5",
27
+ ]
28
+
29
+ [project.scripts]
30
+ yomemoai-mcp = "yomemoai_mcp.server:mcp.run"
31
+ yomemo = "yomemoai_mcp.server:mcp.run"
32
+ memo-mcp = "yomemoai_mcp.server:mcp.run"
33
+
34
+ [build-system]
35
+ requires = ["hatchling"]
36
+ build-backend = "hatchling.build"
@@ -0,0 +1,2 @@
1
+ def hello() -> str:
2
+ return "Hello from yomemoai-mcp!"