MCP server for personal knowledge management — markdown notes, semantic search, wiki links, knowledge graph
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 38 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
add_fact
-
add_facts_batch
-
add_glossary_entry
-
check_fact_integrity
-
check_note_health
-
create_note
-
delete_fact
-
delete_glossary_entry
-
delete_note
-
find_connections
-
find_similar_notes
-
get_entity
-
get_facts_with_stale_sources
-
get_neighbors
-
get_note_history
-
get_note_links
-
get_source_statistics
-
index_facts
-
list_categories
-
list_facts
-
list_glossary
-
list_notes
-
list_tags
-
lookup_term
-
merge_tags
-
move_category
-
query_facts
-
read_note
-
reindex_notes
-
rename_tag
-
restore_note_version
-
revalidate_fact_sources
-
search_facts
-
search_glossary
-
search_notes
-
update_fact
-
update_glossary_entry
-
update_note
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 69
filesystem 13
- fs michaelkrauty-mcp-notes-ef51752/src/mcp_notes/settings.py :3
from pathlib import Path - fs michaelkrauty-mcp-notes-ef51752/src/mcp_notes/storage/filesystem.py :6
import shutil - fs michaelkrauty-mcp-notes-ef51752/src/mcp_notes/storage/git.py :7
from pathlib import Path - fs michaelkrauty-mcp-notes-ef51752/src/mcp_notes/storage/uuid_index.py :6
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_facts.py :4
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_facts_indexer.py :3
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_facts_server.py :3
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_indexer.py :3
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_integrity.py :4
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_mcp_protocol.py :5
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_note_locking.py :15
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_uuid_index.py :4
from pathlib import Path - fs (weak) michaelkrauty-mcp-notes-ef51752/tests/test_vector_core_dependency.py :4
from pathlib import Path
shell / exec 3
- shell michaelkrauty-mcp-notes-ef51752/src/mcp_notes/storage/git.py :4
import subprocess - shell (weak) michaelkrauty-mcp-notes-ef51752/tests/integration/test_versioning_integration.py :15
import subprocess - shell (weak) michaelkrauty-mcp-notes-ef51752/tests/test_git.py :670
"""get_history returns string messages from subprocess output."""
network 2
- net (weak) michaelkrauty-mcp-notes-ef51752/tests/conftest.py :32
import httpx - net (weak) michaelkrauty-mcp-notes-ef51752/tests/test_server.py :303
import httpx
database 1
- db (weak) michaelkrauty-mcp-notes-ef51752/tests/test_facts.py :133
import sqlite3
tool registrations 38
- list_categories michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/categories.py :16
- move_category michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/categories.py :43
- add_fact michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :128
- add_facts_batch michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :253
- update_fact michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :398
- delete_fact michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :496
- query_facts michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :530
- get_entity michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :588
- list_facts michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :628
- search_facts michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :661
- index_facts michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :701
- find_connections michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :719
- get_neighbors michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/facts.py :812
- add_glossary_entry michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/glossary.py :98
- lookup_term michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/glossary.py :160
- search_glossary michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/glossary.py :179
- list_glossary michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/glossary.py :214
- update_glossary_entry michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/glossary.py :236
- delete_glossary_entry michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/glossary.py :325
- reindex_notes michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/health.py :14
- check_note_health michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/health.py :28
- get_facts_with_stale_sources michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/integrity.py :20
- get_source_statistics michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/integrity.py :70
- check_fact_integrity michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/integrity.py :101
- revalidate_fact_sources michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/integrity.py :125
- get_note_links michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/links.py :15
- create_note michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/notes.py :19
- read_note michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/notes.py :46
- update_note michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/notes.py :67
- delete_note michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/notes.py :107
- search_notes michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/search.py :20
- list_notes michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/search.py :65
- find_similar_notes michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/search.py :133
- list_tags michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/tags.py :18
- rename_tag michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/tags.py :38
- merge_tags michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/tags.py :97
- get_note_history michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/versioning.py :22
- restore_note_version michaelkrauty-mcp-notes-ef51752/src/mcp_notes/tools/versioning.py :51
declared dependencies 7
- mcp@~=2.0.0
- vector-core@@ git+https://github.com/michaelkrauty/vector-core.git@v1.4.2
- pyyaml@~=6.0
- gitpython@~=3.1
- pydantic@~=2.0
- pydantic-settings@~=2.0
- qdrant-client@~=1.16.0