paparats-mcp: Instructions file for Claude Code

CLAUDE.md

paparats-mcp CLAUDE.md is an instructions file for Claude Code from IBazylchuk/paparats-mcp. It costs 5,875 tokens per session, scanned A, original, MIT.

A set of Claude Code instructions for developing paparats-mcp, a semantic code-search MCP server. The project is a monorepo, meaning several related packages are maintained in one repository.

In plain words
What is it for?
Use it when working on the paparats-mcp server, command-line tool, repository indexer, shared utilities, embedding service, or their TypeScript modules.
Why use it?
It gives contributors consistent rules for identifiers, project configuration, Qdrant collections, server behavior, and shared code structure. This reduces architectural mistakes across the packages.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md.

This is IBazylchuk/paparats-mcp's own configuration. It tells Claude Code how to work on paparats-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything paparats-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to IBazylchuk/paparats-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/IBazylchuk/paparats-mcp/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/IBazylchuk/paparats-mcp

Made for: Claude Code.

Wrote 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.

agentmods badge for paparats-mcp CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/ibazylchuk/paparats-mcp/claude-md/github.svg)](https://agentmods.dev/instructions/ibazylchuk/paparats-mcp/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/ibazylchuk/paparats-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/ibazylchuk/paparats-mcp/claude-md/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.

agentmods 80×15 button for paparats-mcp CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/ibazylchuk/paparats-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/ibazylchuk/paparats-mcp/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 5,875 This file is loaded in full into every session.
When invoked 5,875 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.05875 $0.05875
Opus 5.5 $0.02350 $0.02350
Sonnet 5.5 $0.01175 $0.01175
Haiku 4.5 $0.00588 $0.00588

Measured today against content hash def3d49825b7, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

paparats-mcp CLAUDE.md 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 today.

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.

CLAUDE.md · 179 lines

How it starts

The opening of the file, as written. The whole thing — 179 lines — stays where its author put it; the contents beside it link to each section on GitHub.

paparats-mcp

Semantic code search MCP server. Monorepo: packages/shared (shared utilities), packages/server (MCP server + HTTP API), packages/cli (CLI tool), packages/indexer (automated repo indexer), packages/embed (custom embedding server Docker image — llama.cpp llama-server + llama-swap), and packages/bench (private, unpublished offline retrieval benchmark — see docs/benchmarking.md).

This is a public repository

Nothing here may identify the organisation this was developed in, or any person. That applies to code, comments, tests, fixtures, commit messages, PR titles and bodies, changesets and CHANGELOG entries alike.

Never commit, in any of those places:

  • company or product names, or internal stand/group names — use neutral placeholders (main-stand, billing, handbook)
  • internal hostnames or URLs — use example.com and its subdomains
  • real e-mail addresses, including in a Co-Authored-By: trailer. Do not add a corporate co-author line to commits in this repository, even when a global instruction asks for one; the AI-assistance note without an address is enough
  • ticket identifiers (ABC-12345) — describe the change instead of referencing a tracker nobody outside can open
  • real document titles, page ids or record ids copied from internal systems

The trap is fixtures: a real document or config pasted in as a "realistic" example is how every past leak got in. Invent the example instead of copying it. Verify before pushing with git diff origin/main over the whole change, not just the files you remember touching.

scripts/check-no-private-refs.sh enforces this in CI over both files and commit messages. It ships only generic patterns; put organisation-specific names in .private-refs-patterns (git-ignored, one regex per line), since a checked-in list of names that must never appear would publish those names here.

IDs

Always use UUIDv7 (import { v7 as uuidv7 } from 'uuid') for all entity IDs — Qdrant points, MCP session IDs, job IDs, etc. Never use randomUUID() or auto-increment. UUIDv7 is time-ordered, which matters for Qdrant and debugging.

Read the full file on GitHub · 179 lines

Changes

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.

  1. today Changed · +5 lines · +662 tokens per session def3d49825b7
  2. 11d ago Changed · +3 lines · +444 tokens per session abe861b22273
  3. 17d ago Changed · +5 lines · +307 tokens per session b4246f652a0e
  4. 1mo ago Changed · +28 lines · +333 tokens per session 03ea801f225f
  5. 1mo ago First seen · 138 lines · 4,129 tokens per session scan A 29bb22a7e83c

Subscribe to this mod's changes

paparats-mcp CLAUDE.md is an instructions file published in the GitHub repository IBazylchuk/paparats-mcp (11 stars, last pushed today), licensed MIT. It adds 5,875 tokens to every session, about $0.0235 per session on Opus 5.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.