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
c2f4b632cf
fix: preserve permalink when editing notes without frontmatter permalink ( #184 )
...
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-06-26 15:35:31 -05:00
Drew Cain
7be001ca68
fix: fastmcp deprecation warning ( #150 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
Signed-off-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
Co-authored-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
2025-06-19 19:59:17 -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
Drew Cain
c6215fd819
fix: UNIQUE constraint failed: entity.permalink issue #139 ( #140 )
...
Signed-off-by: Drew Cain <groksrc@users.noreply.github.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-18 15:03:11 -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
69d7610d47
test coverage 100%
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 13:07:20 -05:00
phernandez
91bfe2dc92
add sync status tool
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 22:24:10 -05:00
phernandez
80ec860a1c
remove coverage files
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-03 23:14:07 -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
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
phernandez
3c1cc346df
fix: modify recent_activity args to be strings instead of enums
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-04-17 10:56:46 -05:00
Amadeusz Wieczorek
54dfa08aba
Update name of function search_notes in error output ( #92 )
...
Signed-off-by: Amadeusz Wieczorek <git@amadeusw.com >
2025-04-14 11:06:15 -05:00
Paul Hernandez
2934176331
fix: utf8 for all file reads/write/open instead of default platform encoding ( #91 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-04-08 10:55:01 -05:00
Paul Hernandez
3f4d9e4d87
fix: write_note preserves frontmatter fields in content ( #84 )
2025-04-06 18:39:51 -05:00
Paul Hernandez
617e60bda4
feat: permalink enhancements ( #82 )
...
- Avoiding "useless permalink values" for files without metadata
- Enable permalinks to be updated on move via config setting
2025-04-06 14:54:59 -05:00
github-actions[bot]
9d581cee13
fix: [BUG] Cursor has errors calling search tool ( #78 )
2025-04-05 19:12:23 -05:00
Paul Hernandez
b27827671d
feat: rename search tool to search_notes ( #66 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-28 19:11:35 -05:00
phernandez
b667bca5a2
fix test coverage and type checks
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-24 22:46:47 -05:00
phernandez
e716946b44
fix: preserve custom frontmatter fields when updating notes
...
Fixes #36 by modifying entity_service.update_entity() to read existing
frontmatter from files before updating them. Custom metadata fields
such as Status, Priority, and Version are now preserved when notes
are updated through the write_note MCP tool.
Added test case that verifies this behavior by creating a note with
custom frontmatter and then updating it.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-24 22:46:47 -05:00
phernandez
9c791259a0
\fix: improve tags handling in write_note tool to fix #38\n\nThis change makes the write_note tool more flexible with tag inputs by:\n1. Adding a parse_tags helper function to handle various input formats\n2. Removing explicit type annotation from the write_note signature\n3. Adding documentation on how to pass tags from external MCP clients\n4. Adding a test that reproduces the issue from bug report #38\n\nThe issue occurred in external MCP clients like Cursor where the tags\nparameter was causing type mismatch errors.\n\n\ud83e\udd16 Generated with [Claude Code]( https://claude.ai/code )\n\nCo-Authored-By: Claude <noreply@anthropic.com>\
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-24 22:46:47 -05:00
Paul Hernandez
d2bd75a949
feat: add project_info tool ( #19 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-05 23:44:28 -06:00
Paul Hernandez
e6496df595
feat: Beta work ( #17 )
...
feat: Add multiple projects support
feat: enhanced read_note for when initial result is not found
fix: merge frontmatter when updating note
fix: handle directory removed on sync watch
2025-03-05 18:46:04 -06:00
Paul Hernandez
f8078cdd46
Fix: Beta testing fixes ( #16 )
...
Co-authored-by: phernandez <phernandez@basicmachines.co >
2025-02-28 20:23:53 -06:00
Paul Hernandez
093dab5f03
feat: Add enhanced prompts and resources ( #15 )
...
## Summary
- Add comprehensive documentation to all MCP prompt modules
- Enhance search prompt with detailed contextual output formatting
- Implement consistent logging and docstring patterns across prompt
utilities
- Fix type checking in prompt modules
## Prompts Added/Enhanced
- `search.py`: New formatted output with relevance scores, excerpts, and
next steps
- `recent_activity.py`: Enhanced with better metadata handling and
documentation
- `continue_conversation.py`: Improved context management
## Resources Added/Enhanced
- `ai_assistant_guide`: Resource with description to give to LLM to
understand how to use the tools
## Technical improvements
- Added detailed docstrings to all prompt modules explaining their
purpose and usage
- Enhanced the search prompt with rich contextual output that helps LLMs
understand results
- Created a consistent pattern for formatting output across prompts
- Improved error handling in metadata extraction
- Standardized import organization and naming conventions
- Fixed various type checking issues across the codebase
This PR is part of our ongoing effort to improve the MCP's interaction
quality with LLMs, making the system more helpful and intuitive for AI
assistants to navigate knowledge bases.
🤖 Generated with [Claude Code](https://claude.ai/code )
---------
Co-authored-by: phernandez <phernandez@basicmachines.co >
2025-02-27 20:48:56 -06:00
Paul Hernandez
0d7b0b3d7e
feat: Add new canvas tool to create json canvas files in obsidian. ( #14 )
...
Add new `canvas` tool to create json canvas files in obsidian.
---------
Co-authored-by: phernandez <phernandez@basicmachines.co >
2025-02-25 21:21:05 -06:00
Paul Hernandez
37a01b806d
feat: Incremental sync on watch ( #13 )
...
- incremental sync on watch
- sync non-markdown files in knowledge base
- experimental `read_resource` tool for reading non-markdown files in raw form (pdf, image)
2025-02-24 22:13:15 -06:00
phernandez
2c8ed1737d
chore: remove unused tests
2025-02-18 20:45:47 -06:00
phernandez
02f8e86692
feat: add pagination to read_notes
2025-02-18 20:42:19 -06:00
phernandez
0123544556
feat: add pagination to build_context and recent_activity
2025-02-18 20:22:35 -06:00
phernandez
00d23a5ee1
fix: add logfire spans to cli
2025-02-18 19:56:20 -06:00
phernandez
812136c8c2
fix: add logfire spans to cli
2025-02-18 19:08:46 -06:00
phernandez
3e8e3e8961
fix: add logfire instrumentation to tools
2025-02-18 18:52:09 -06:00
Paul Hernandez
0689e7a730
feat: return semantic info in markdown after write_note ( #11 )
...
Co-authored-by: phernandez <phernandez@basicmachines.co >
2025-02-17 23:33:11 -06:00
phernandez
41f5b1667b
format code
2025-02-15 14:38:19 -06:00
phernandez
e0803734e6
fix: handle memory:// url format in read_note tool
2025-02-15 12:00:03 -06:00
phernandez
28513c8b8d
lint code
2025-02-12 22:39:22 -06:00
Paul Hernandez
5b4f0eafcc
Pre release fixups ( #5 )
...
* configure logging
* set mcp output logging also
* fix type check errors
* fix type check
* rename Permalink schema type
* fix type errors
* add typechecks to ci workflow
* pytest coverage setup
* add tests for status cli
* sync tests coverage
* watch_service test coverage
* tests for tool_utils.py
* clean up imports
* file_utils coverage
* markdown plugins coverage
* 99% test coverage
* more test coverage, remove ObservationCategory
* more tool coverage
* fix type-check
* format, upgrade deps
---------
Co-authored-by: phernandez <phernandez@basicmachines.co >
2025-02-12 08:23:10 -06:00
phernandez
3199ab0217
simplify MemoryUrl to be validated string
2025-02-01 13:42:48 -06:00
phernandez
572187a59a
add verbose=True to write_note
2025-01-31 20:41:31 -06:00
phernandez
eafe563cfa
add title/folder to EntitySchema
2025-01-31 19:29:16 -06:00
phernandez
835061a938
refactor entity_service to use file/markdown
2025-01-30 16:11:30 -05:00
phernandez
c2aa947be9
remove observation, relation services
2025-01-27 17:01:34 -06:00
phernandez
deb52a71d9
remove observations from entity create
2025-01-26 22:30:09 -06:00
phernandez
18bd850019
fix updates and save content. remove entity.summary
2025-01-26 00:00:37 -06:00
phernandez
e39132bc1b
fix recent_activity tool type arg
2025-01-22 23:12:59 -06:00
phernandez
526baead18
add delete_note tool
2025-01-21 20:08:52 -06:00