Paul Hernandez
2b7008d997
fix: Update view_note and ChatGPT tools for Claude Desktop compatibility ( #355 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-13 10:44:35 -05:00
Paul Hernandez
8d2e70cfc8
refactor: async client context manager pattern for cloud consolidation ( #344 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-09 19:09:47 -05:00
Paul Hernandez
73202d1aab
fix: add tool use doc to write note for using empty string for root folder ( #339 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-07 23:48:02 -05:00
Paul Hernandez
99a35a7fb4
feat: Cloud CLI cloud sync via rclone bisync ( #322 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-03 10:18:43 -05:00
Paul Hernandez
2efd8f44e2
fix: critical cloud deployment fixes for MCP stability ( #317 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-27 21:57:39 -05:00
Paul Hernandez
5da97e4820
feat: implement SPEC-11 API performance optimizations ( #315 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-26 14:34:46 -05:00
Drew Cain
3e168b98f3
fix: move_note without file extension ( #281 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: phernandez <paul@basicmachines.co >
2025-09-26 11:41:45 -05:00
Paul Hernandez
f40ab31685
feat: chatgpt tools for search and fetch ( #305 )
...
Signed-off-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
Signed-off-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: Drew Cain <groksrc@gmail.com >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Drew Cain <groksrc@users.noreply.github.com >
2025-09-25 11:55:56 -05:00
Paul Hernandez
a1d7792bdb
feat: Implement SPEC-6 Stateless Architecture for MCP Tools ( #298 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Signed-off-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Drew Cain <groksrc@users.noreply.github.com >
2025-09-21 20:39:19 -05:00
phernandez
7979b4192e
remove no content-encoding: none header
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-09-16 16:35:32 -05:00
Drew Cain
52d9b3c752
setting content-encoding to none for mcp
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2025-09-16 16:09:33 -05:00
jope-bm
3a6baf80fc
feat: Merge Cloud auth ( #291 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-09 14:48:17 -06:00
jope-bm
ec2fa07350
chore: apply lint and formatting fixes for 0.14.4 release ( #290 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-05 10:00:52 -06:00
jope-bm
cd7cee650f
fix: complete project management special character support ( #272 ) ( #279 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: jope-bm <jope-bm@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-29 10:57:13 -06:00
jope-bm
2cd2a62f30
fix: Ensure all datetime operations return timezone-aware objects ( #268 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-22 13:43:55 -06:00
jope-bm
5d74d7407c
fix: Enable string-to-integer conversion for build_context depth parameter ( #259 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-08-20 11:22:14 -06:00
jope-bm
08ee7e1201
fix: Critical search index bug - prevent note disappearing on edit ( #257 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: jope-bm <jope-bm@users.noreply.github.com >
2025-08-19 15:41:27 -06:00
phernandez
59eae34dee
fix: Update function name in error messages to use correct search_notes
...
Corrects error message templates to reference the actual search_notes function name for consistency.
2025-08-08 15:25:33 -05:00
phernandez
b1e55e169e
revert: Remove external function name fix for clean IP
...
Original contribution by Amadeusz Wieczorek will be re-implemented by Basic Machines team.
2025-08-08 15:24:58 -05:00
jope-bm
a4a3b1b689
fix: handle missing 'name' key in memory JSON import ( #241 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: jope-bm <jope-bm@users.noreply.github.com >
2025-07-28 14:52:15 -06:00
jope-bm
24a1d6195d
fix: path traversal security vulnerability in mcp tools ( #223 )
...
Signed-off-by: Joe P <joe@basicmemory.com >
2025-07-15 09:05:11 -06:00
Paul Hernandez
473f70c949
chore: Cloud auth ( #213 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-07-07 21:08:25 -05:00
Drew Cain
3621bb7b4d
fix: MCP Error with MCP-Hub #204 ( #212 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2025-07-03 16:57:43 -05:00
Drew Cain
2aca19aa05
chore: apply ruff formatting
2025-07-01 22:05:17 -05:00
Drew Cain
bd4f55158b
fix: Problems with MCP #190 ( #202 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2025-07-01 10:50:44 -05:00
Paul Hernandez
a589f8b894
feat: enhance search_notes tool documentation with comprehensive syntax examples ( #186 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-26 15:51:58 -05:00
Paul Hernandez
12b51522bc
fix: implement project-specific sync status checks for MCP tools ( #183 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-26 13:54:26 -05:00
phernandez
1bf348259b
fix formatting on files
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-25 22:32:05 -05:00
Paul Hernandez
db5ef7d35c
feat: enhance move_note tool with cross-project detection and guidance ( #161 )
...
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-06-25 12:57:59 -05:00
Paul Hernandez
7789864493
fix: add entity_type parameter to write_note MCP tool ( #145 )
...
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-18 17:10:15 -05:00
phernandez
49011768f7
fix: rename create_project to create_memory_project for namespace isolation
...
Continue the namespace isolation effort by renaming the create_project tool
to create_memory_project to avoid conflicts with other MCP servers.
Changes:
- Renamed @mcp.tool() decorator from 'create_project' to 'create_memory_project'
- Updated all test references to use the new tool name
- Tool functionality remains identical, only the name changed
- Part of broader effort to ensure Basic Memory tools have unique namespaced names
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-11 21:58:40 -05:00
phernandez
4ea392d284
fix: rename list_projects to list_memory_projects to avoid naming conflicts
...
The tool name 'list_projects' was too generic and could conflict with other MCP servers.
Renamed to 'list_memory_projects' for better specificity and namespace isolation.
Changes:
- Renamed @mcp.tool() decorator from 'list_projects' to 'list_memory_projects'
- Updated all test references to use the new tool name
- Tool functionality remains identical, only the name changed
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-11 21:37:48 -05:00
phernandez
70a6ce3411
fix: resolve case-insensitive project switching issues
...
This commit fixes the persistent case-insensitive project switching bug
where switching to projects with different case variations would succeed
but subsequent operations would fail.
Key changes:
- Enhanced config manager with case-insensitive project lookup using permalinks
- Updated project management tools to handle both name and permalink matching
- Fixed API URL construction to use permalinks consistently
- Added comprehensive test coverage for case-insensitive operations
- Updated project service to support permalink-based lookups
The fix ensures that users can switch to projects using any case variation
(e.g., "personal", "Personal", "PERSONAL") and all subsequent operations
work correctly with the canonical project name.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-11 19:26:27 -05:00
phernandez
5b69fd65cd
fix: resolve case-insensitive project switching database lookup issue
...
Fix project switching bug where case-insensitive matching worked but
caused database lookup failures for subsequent operations.
**Problem:**
- switch_project('personal') succeeded (case-insensitive matching)
- get_current_project() failed with 'Project personal not found'
- Session stored user input case instead of canonical database name
**Solution:**
- Find project by permalink (case-insensitive) in switch_project
- Store canonical project name from database in session
- Use canonical name for all API calls and responses
**Test Coverage:**
- Added comprehensive case-insensitive project switching tests
- Added tests for case preservation in project listings
- Added tests for session state consistency after case switching
- Added error handling tests for non-existent projects
**Files Changed:**
- src/basic_memory/mcp/tools/project_management.py: Fixed switch_project logic
- test-int/mcp/test_project_management_integration.py: Added test coverage
**Test Cases Now Passing:**
- ✅ switch_project('personal') → finds 'Personal' project
- ✅ get_current_project() → works with canonical name
- ✅ Project summary shows stats correctly
- ✅ Case-insensitive matching for all case variations
- ✅ Error handling for non-existent projects
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-11 18:19:17 -05:00
Paul Hernandez
3ee30e1f36
fix: project cli commands and case sensitivity when switching projects ( #130 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-11 16:09:53 -05:00
phernandez
35884ef3a7
fix: update MCP tool/prompt/resource calls to use .fn attribute
...
FastMCP library changes now require calling decorated functions via the .fn attribute:
- Tools: @mcp.tool() functions return FunctionTool, call with tool.fn()
- Prompts: @mcp.prompt() functions return FunctionPrompt, call with prompt.fn()
- Resources: @mcp.resource() functions return FunctionResource, call with resource.fn()
Updated core files:
- view_note.py: read_note() → read_note.fn()
- read_note.py: search_notes() → search_notes.fn() (2 locations)
- tool.py: 6 MCP tool calls updated to use .fn
- recent_activity.py: recent_activity() → recent_activity.fn()
- project.py: project_info() → project_info.fn() with type ignore
Updated 100+ test files systematically to use .fn attribute and fixed mock targets.
All 869 tests now pass. Fixes view_note tool error in Claude Desktop.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-08 11:52:23 -05:00
phernandez
9a0e0bd82d
add view_note tool
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 16:30:09 -05:00
phernandez
117fa44ecf
fix project info stats tests
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 15:51:11 -05:00
phernandez
69d7610d47
test coverage 100%
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 13:07:20 -05:00
phernandez
f608cd13f1
add justfile instead of Makefile, add ignores to test coverage
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 12:26:31 -05:00
phernandez
ae3eeb0cc1
add tool prompting and doc updates for strict mode in edit/move, and sync_status tool
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 23:46:48 -05:00
phernandez
602c55fe90
only allow edit_note, move_note using strict identifier match
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 23:37:29 -05:00
phernandez
91bfe2dc92
add sync status tool
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 22:24:10 -05:00
phernandez
a3cae1064d
add background migration task and status tool/prompt
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 16:52:12 -05:00
phernandez
c5c70cb0f4
improve validation for memory:// urls, add examples to build_context
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 00:16:33 -05:00
phernandez
f64d5b2152
improve error messages for tools
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-03 23:12:59 -05:00
phernandez
69a625acd1
fix search escape issues, and empty forward reference resolving for entities
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-03 18:09:41 -05:00
phernandez
ac08a8d024
fix: update FastMCP initialization for API changes
...
- Remove deprecated auth_server_provider parameter
- Use auth parameter correctly with OAuthProvider instead of AuthSettings
- Fixes type error after dependency updates
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-03 09:08:17 -05:00
Paul Hernandez
634486107b
feat: v0.13.0 pre ( #122 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-03 01:00:40 -05:00
bm-claudeai
020957cd76
feat: Multi-project support, OAuth authentication, and major improvements ( #119 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-05-25 10:07:34 -05:00