Back to list
shinpr

mcp-local-rag

by shinpr

Local-first RAG server for developers using MCP. Semantic + keyword search for code and technical docs. Fully private, zero setup.

67🍴 19📅 Jan 24, 2026

SKILL.md


name: mcp-local-rag description: Provides score interpretation (< 0.3 good, > 0.5 skip), query optimization, and source naming for query_documents, ingest_file, ingest_data tools. Use this skill when working with RAG, searching documents, ingesting files, saving web content, or handling PDF, HTML, DOCX, TXT, Markdown.

MCP Local RAG Skills

Tools

ToolUse When
ingest_fileLocal files (PDF, DOCX, TXT, MD)
ingest_dataRaw content (HTML, text) with source URL
query_documentsSemantic + keyword hybrid search
delete_file / list_files / statusManagement

Search: Core Rules

Hybrid search combines vector (semantic) and keyword (BM25).

Score Interpretation

Lower = better match. Use this to filter noise.

ScoreAction
< 0.3Use directly
0.3-0.5Include if mentions same concept/entity
> 0.5Skip unless no better results

Limit Selection

IntentLimit
Specific answer (function, error)5
General understanding10
Comprehensive survey20

Query Formulation

SituationWhy TransformAction
Specific term mentionedKeyword search needs exact matchKEEP term
Vague queryVector search needs semantic signalADD context
Error stack or code blockLong text dilutes relevanceEXTRACT core keywords
Multiple distinct topicsSingle query conflates resultsSPLIT queries
Few/poor resultsTerm mismatchEXPAND (see below)

Query Expansion

When results are few or all score > 0.5, expand query terms:

  • Keep original term first, add 2-4 variants
  • Types: synonyms, abbreviations, related terms, word forms
  • Example: "config""config configuration settings configure"

Avoid over-expansion (causes topic drift).

Result Selection

When to include vs skip—based on answer quality, not just score.

INCLUDE if:

  • Directly answers the question
  • Provides necessary context
  • Score < 0.5

SKIP if:

  • Same keyword, unrelated context
  • Score > 0.7
  • Mentions term without explanation

Ingestion

ingest_file

ingest_file({ filePath: "/absolute/path/to/document.pdf" })

ingest_data

ingest_data({
  content: "<html>...</html>",
  metadata: { source: "https://example.com/page", format: "html" }
})

Format selection — match the data you have:

  • HTML string → format: "html"
  • Markdown string → format: "markdown"
  • Other → format: "text"

Source format:

  • Web page → Use URL: https://example.com/page
  • Other content → Use scheme: {type}://{date} or {type}://{date}/{detail}
    • Examples: clipboard://2024-12-30, chat://2024-12-30/project-discussion

HTML source options:

  • Static page → LLM fetch
  • SPA/JS-rendered → Browser MCP
  • Auth required → Manual paste

Re-ingest same source to update. Use same source in delete_file to remove.

References

For edge cases and examples:

Score

Total Score

80/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon