github Python re-analysis due

michaelkrauty/mcp-notes

github

MCP server for personal knowledge management — markdown notes, semantic search, wiki links, knowledge graph

maintainer
michaelkrauty
license
Apache-2.0
first seen
2026-06-12
last seen
2026-09-04
releases · 30d
3
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 38 tools
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
code evidence vv1.1.0 · github-tarball
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