Skip to content

feat(search): vector search engine + FastAPI + MCP server#633

Closed
Lsh0x wants to merge 2 commits intobuddhist-uni:mainfrom
Lsh0x:feat/vector-search-mcp
Closed

feat(search): vector search engine + FastAPI + MCP server#633
Lsh0x wants to merge 2 commits intobuddhist-uni:mainfrom
Lsh0x:feat/vector-search-mcp

Conversation

@Lsh0x
Copy link
Copy Markdown

@Lsh0x Lsh0x commented Mar 12, 2026

Summary

  • Vector search engine using Qdrant (Docker) with 384-dim COSINE embeddings (all-MiniLM-L6-v2), indexing 4494+ documents in ~25s
  • FastAPI server (port 8001) with /search, /courses, /teachers, /reading-path endpoints and native filtering by tags, category, course, and min_stars
  • MCP server with 5 tools (search_dharma, get_course, list_courses, find_by_teacher, get_reading_path) integrated into Claude Code via .mcp.json
  • 56 unit + integration tests covering embedder, extraction, Qdrant queries, MCP tools, and all FastAPI endpoints

Test plan

  • Run pytest to verify all 56 tests pass
  • Start Qdrant via Docker and run the ingestion pipeline
  • Verify FastAPI endpoints return expected results
  • Verify MCP tools work in Claude Code

🤖 Generated with Claude Code

Lsh0x and others added 2 commits March 12, 2026 15:18
- Qdrant vectorDB (Docker): collection buddhist_content, 384-dim COSINE
- Ingestion pipeline: 4494 docs indexés en 25s (all-MiniLM-L6-v2)
  Réutilise website.py (frontmatter) + pdfutils.py existants
- FastAPI (port 8001): /search, /courses, /teachers, /reading-path
  Filtrage natif par tags, catégorie, cours, min_stars
- MCP server (5 tools): search_dharma, get_course, list_courses,
  find_by_teacher, get_reading_path — branché Claude Code via .mcp.json

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- test_search.py: embedder (singleton, norme L2, batch), extract (payload,
  catégories, stars), Qdrant (filtre cat/tags, ordre scores, pertinence),
  tools MCP (courses, teacher, reading path tous niveaux)
- test_api.py: tous endpoints FastAPI (search, courses, teachers, reading-path)
  validation params (limit max, level pattern, min_length query)
- pytest.ini: mark integration enregistré
- README.md: setup complet, endpoints, tools MCP, réindexation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented Mar 12, 2026

Deploy Preview for obu failed. Why did it fail? →

Name Link
🔨 Latest commit fdfb6c9
🔍 Latest deploy log https://app.netlify.com/projects/obu/deploys/69b2d424006ae10008198d49
@Lsh0x Lsh0x closed this Mar 12, 2026
@Lsh0x Lsh0x deleted the feat/vector-search-mcp branch March 12, 2026 14:58
@Lsh0x Lsh0x restored the feat/vector-search-mcp branch March 12, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant