Borrowing it
Nothing to install: this file belongs to ndjordjevic/pinrag. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ndjordjevic/pinrag/main/.cursor/skills/run-pinrag-local-mcp-tool/SKILL.mdgit clone --depth 1 https://github.com/ndjordjevic/pinragWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ndjordjevic/pinrag/run-pinrag-local-mcp-tool)<a href="https://agentmods.dev/skills/ndjordjevic/pinrag/run-pinrag-local-mcp-tool"><img src="https://agentmods.dev/badge/skills/ndjordjevic/pinrag/run-pinrag-local-mcp-tool/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ndjordjevic/pinrag/run-pinrag-local-mcp-tool"><img src="https://agentmods.dev/badge/skills/ndjordjevic/pinrag/run-pinrag-local-mcp-tool.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00110 | $0.01016 |
| Opus 5 | $0.00055 | $0.00508 |
| Sonnet 5 | $0.00022 | $0.00203 |
| Haiku 4.5 | $0.00011 | $0.00102 |
Grade A, and why
run-pinrag-local-mcp-tool scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run PinRAG local MCP tools (not Python)
Non-negotiable
- Use
call_mcp_toolwith PinRAG’s MCP tools:add_document_tool,query_tool,list_documents_tool,remove_document_tool. - Do not implement indexing or querying with Python (
python -c, ad-hoc scripts, LangChain/Chroma calls, orpinrag/uv runin the terminal) unless the user explicitly asks for scripts, debugging, or automation outside the editor MCP. - Do not skip MCP because “it’s faster to script”—the user’s editor and
PINRAG_PERSIST_DIRare wired through the MCP server process.
How to find which PinRAG MCP is “active”
Cursor exposes one server id per mcp.json entry. The id you pass to call_mcp_tool is:
user- + the exact key of that entry in ~/.cursor/mcp.json (hyphens preserved).
Examples:
Typical mcp.json key |
call_mcp_tool server value |
|---|---|
pinrag-dev |
user-pinrag-dev |
io-github-ndjordjevic-pinrag |
user-io-github-ndjordjevic-pinrag |
pinrag-pypi-from-link |
user-pinrag-pypi-from-link |
Discovery (pick one):
- Workspace MCP descriptors (best): Under the Cursor project’s MCP folder (see system MCP instructions), look for folders
mcps/user-*/tools/that containadd_document_tool.json. The folder name (e.g.user-io-github-ndjordjevic-pinrag) is theserverstring forcall_mcp_tool. ~/.cursor/mcp.json: Find entries whosecommand/argsrun PinRAG (pinrag,uvxwithargscontaining--refreshandpinrag, oruv run … pinrag). Each top-level key undermcpServersmaps touser-<that-key>.
If several PinRAG servers appear:
- If the user names one (e.g. “use the marketplace / io-github pinrag”), use that key’s
user-…id. - Otherwise use one server that has the tools (prefer the one they used recently or the least ambiguous name); if unsure, ask which MCP entry to use.
Before the first call: Read the tool descriptor JSON under mcps/<server>/tools/<tool>.json for required parameters (per MCP instructions).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 62 lines · 110 tokens per session scan A a533085b1dfa
run-pinrag-local-mcp-tool is a skill published in the GitHub repository ndjordjevic/pinrag (2 stars, last pushed 5mo ago), licensed MIT. It adds 110 tokens to every session and 1,016 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
RAG Chunking Strategy Advisor
Given a document type and retrieval goal, recommends the optimal chunking strategy for a RAG pipeline to minimize retrieval failures.
convert-document-for-rag-ingestion
Convert a document to clean markdown suitable for chunking and embedding in a RAG pipeline.
nutrient-ai-assistant
Nutrient AI Assistant — in-viewer document-AI for Nutrient SDKs (Web/iOS/Android/React Native) plus a Docker ai-assistant backend (PostgreSQL+pgvector and an OpenAI / Azure OpenAI / AWS Bedrock / self-hosted LLM). Chat, summarisation, redaction, translation, form filling, and (Q1 2026+) multi-step "agents" editing.…
mvp
Goal: Build an LLM-based RAG App Here is the MVP Implementation Plan.
grounded-rag-ingestion
Chunk a document into provenance-carrying JSONL ready for embedding via the Nutrient Data Extraction API (/extraction/parse, spatial output). Every chunk carries element type, page index, bounding box, confidence, and reading order, traceable to a specific page region. Use for grounded or auditable RAG, cited…
markitdown
Convert heterogeneous documents and selected URIs to Markdown with Microsoft MarkItDown for text analysis, search, and LLM/RAG ingestion. Covers safe local conversion, streams, Office/PDF/data formats, batch workflows, plugins, vision OCR, Azure extraction, and the official MCP server.