MCP.so
Sign In
P

PinRAG

@ndjordjevic

About PinRAG

PinRAG is a retrieval-augmented generation (RAG) MCP server built with LangChain and Chroma. Index PDFs, plain text, Discord exports, YouTube transcripts, and GitHub repositories, then ask questions in Cursor, VS Code (Copilot), or any MCP-capable client. Answers include citation

Basic information

Category

Developer Tools

Transports

stdio

Publisher

ndjordjevic

Submitted by

Nenad Djordjevic

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "pinrag": {
      "command": "uvx",
      "args": [
        "--from",
        "pinrag",
        "pinrag-mcp"
      ],
      "env": {
        "OPENAI_API_KEY": "your-openai-api-key"
      }
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is PinRAG?

PinRAG is a Retrieval-Augmented Generation (RAG) server that indexes scattered learning materials—PDFs, ebooks, GitHub repos, YouTube videos, Discord discussions, and plain notes—into a shared index. It exposes MCP tools for adding, querying, listing, and removing documents, and returns answers with citations from sources. It is built with LangChain and Chroma, and is for users of Cursor, VS Code (GitHub Copilot), or any MCP-capable assistant.

How to use PinRAG?

Install uv and ensure uvx is on your PATH, then add PinRAG as an MCP server in your editor's mcp.json file with the command uvx --refresh pinrag and required environment variables (OPENROUTER_API_KEY, PINRAG_PERSIST_DIR). In chat, use tools like add_document_tool to index files or URLs, query_tool to ask questions, and list_documents_tool to review indexed documents.

Key features of PinRAG

  • Multi-format indexing: PDFs, text, directories, Discord exports, YouTube, GitHub repos
  • Optional YouTube vision enrichment (off by default)
  • RAG with citations: page numbers, timestamps, file paths
  • Document tags and metadata filtering for queries
  • Configurable LLM providers: OpenRouter, OpenAI, Anthropic, Cerebras
  • Local embeddings via Nomic (no API key needed, ~270 MB download)

Use cases of PinRAG

  • Aggregate PDFs, YouTube tutorials, and GitHub code into one searchable knowledge base
  • Ask questions about a GitHub codebase and get answers with file-path citations
  • Index Discord chat exports and retrieve discussion context with timestamps
  • Filter queries by document tag or type to focus on specific topics or sources

FAQ from PinRAG

What dependencies does PinRAG require?

Install uv and ensure uvx is on PATH; no prior pip install needed. Optional extras: pinrag[vision] for YouTube vision with OpenAI/Anthropic, pinrag[rerank] for FlashRank, and ffmpeg for frame-based vision.

How does PinRAG handle YouTube indexing and IP blocking?

PinRAG uses youtube-transcript-api; for IP blocks, set PINRAG_YT_PROXY_HTTP_URL and PINRAG_YT_PROXY_HTTPS_URL in MCP env. Residential or rotating proxies are recommended.

Where does PinRAG store its vector data?

Set PINRAG_PERSIST_DIR to a stable absolute path in MCP env (e.g., ~/.pinrag/chroma_db). The vector store uses this directory and does not depend on the server process cwd.

What authentication is needed for private GitHub repos?

Set a GITHUB_TOKEN in MCP env (or shell) with repo read access. Small public repos may work without a token, but rate limits may apply.

What transports does PinRAG use?

PinRAG operates over MCP stdio transport by default; tools, resources, and prompts are communicated via JSON over stdout/stderr.

Comments

More Developer Tools MCP servers