Context7
Up-to-date docs for AI agents
제작자가 쓴 설명(영어 원문)
Local RAG search over Obsidian vaults: SQLite hybrid search with local Ollama embeddings.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
RAGNAROK_HOME필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"ragnarok": {
"command": "uvx",
"args": [
"ragnarok-mcp",
"serve"
],
"env": {
"RAGNAROK_HOME": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add ragnarok --env RAGNAROK_HOME=your-value -- uvx ragnarok-mcp serve실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"ragnarok": {
"command": "uvx",
"args": [
"ragnarok-mcp",
"serve"
],
"env": {
"RAGNAROK_HOME": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"ragnarok": {
"type": "stdio",
"command": "uvx",
"args": [
"ragnarok-mcp",
"serve"
],
"env": {
"RAGNAROK_HOME": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
RAGNAROK_HOME env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 freyr 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.1.0)은 어제 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Context7, Codebase Memory, Exa
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Local RAG search over Obsidian vaults for Claude Code.
ragnarok indexes the Markdown notes of one or more Obsidian vaults on your computer. A local MCP server gives Claude Code search tools over the index. No note leaves the computer: the embeddings come from a local Ollama model, and the index is one SQLite file.
sqlite-vec) and a keyword search (SQLite FTS5 with BM25). Reciprocal rank fusion joins the two lists. The unit of rank is the note, with its best section.find_projects finds the earlier projects that a prompt continues or resembles, also when the prompt does not name the project. list_project gives all notes of a project.allow_private = true in the configuration.open_note replace literal passwords, tokens and keys with [REDACTED]. The vault files do not change.ragnarok backfill propose writes a proposal of the missing frontmatter keys for a vault. ragnarok backfill export writes a JSON file with the title and the first lines of each public note that needs a description (credentials removed). Claude writes the descriptions into one or more JSON files, {path: {"description": "...", "type": "..."}}. ragnarok backfill merge ... puts them into the proposal, removes credentials, reports each description of more than 25 words and each row with no description, and replaces a default type with a valid type from Claude. You examine the proposal, then ragnarok backfill apply makes a backup archive of the vault and adds only the missing keys.ragnarok eval compares grep, keyword, dense and hybrid search on your own question sets. ragnarok eval agent compares a Claude Code agent with grep and an agent with the MCP tools.ragnarok init installs the model and the index, and registers the MCP server in Claude Code when the Claude Code plugin does not give it. ragnarok doctor checks the setup.brew services for Ollama.brew install ollama.brew install uv. uv installs Python 3.12. setup.sh installs uv if it is missing.ragnarok is on PyPI as ragnarok-mcp and in the MCP Registry as io.github.freyr/ragnarok.
In Claude Code:
/plugin marketplace add freyr/ragnarok-claude-plugin
/plugin install ragnarok@ragnarok
Then in a terminal:
uvx ragnarok-mcp init
The plugin starts the server with uvx ragnarok-mcp serve and adds the search guidance to each session. The home folder is ~/.ragnarok. To use a different folder, set RAGNAROK_HOME in the env of ~/.claude/settings.json and in your shell.
git clone https://github.com/freyr/ragnarok.git
cd ragnarok ./setup.sh # installs uv if needed, then runs ragnarok init
The checkout is the home folder.
ragnarok init does six steps. It skips each step that is already done:
config.toml from config.example.toml. It asks for the vault root, the folder that holds your vault folders, and adds each subfolder as a vault.brew services start ollama (it asks first). If Ollama runs outside brew services, for example ollama serve in a terminal, init stops it and starts the service.ragnarok gives the MCP server, it removes a registration at the user scope (it asks first). Else it registers the MCP server ragnarok in Claude Code at the user scope (it asks before it replaces another registration).Restart Claude Code after step 6. ragnarok doctor checks the same six parts and prints the fix for each failure.
Before step 5, examine config.toml: remove a folder that is not a vault, and add your private paths. A later change of the configuration applies at the next ragnarok index or MCP tool call, with no restart.
The server gives six tools:
| Tool | What it does |
|---|---|
search | Hybrid search over the notes. Filters: vault, project, area, type, archived. |
find_projects | The projects that match a prompt, with the summary and the matching notes of each project. |
list_project | All notes of one project. |
open_projects | The open projects (state: in-progress and paused by default), grouped by state, newest update first. |
open_note | The text of a note or of one section, with its links and backlinks. A note of more than 4,000 words gives an outline: each section with its heading path, words and first sentence. |
find_by_jira | The notes that contain a ticket key, for example ABC-123. |
The plugin adds the guidance below to each session itself, with the plugin tool names mcp__plugin_ragnarok_ragnarok__*. Without the plugin, Claude Code loads MCP tools on demand. To make Claude use them before grep, add a short instruction to your ~/.claude/CLAUDE.md file, for example:
## Finding notes: ragnarok first
The ragnarok MCP server indexes my Obsidian vaults. Use it before Grep or Glob whenever you look for notes, earlier work or context:
find_projects: the prompt continues or resembles earlier work and names no project. Then call list_project on the best match (look at the top 3).search: facts, decisions, how something was done. Filters: vault, project, area, type.open_note: read a note or one section, with its links and backlinks. A long note gives its outline first; open the section you need by heading.open_projects: which projects are in progress or paused.find_by_jira: a ticket key such as OPS-77.The tools are deferred. Load them in one call before the first use: ToolSearch with select:mcp__ragnarok__search,mcp__ragnarok__find_projects,mcp__ragnarok__list_project,mcp__ragnarok__open_projects,mcp__ragnarok__open_note,mcp__ragnarok__find_by_jira.
If the tools are absent (for example on a computer without ragnarok), fall back to Grep and say so. Results can be unrelated: read the text before you rely on it, and cite note paths. Private notes are refused by design; do not work around the refusal with Read or Grep.
docs/vault-requirements.md tells how a vault must look to get the most from ragnarok: headings, project folders, SUMMARY.md, frontmatter and private folders.
The default path rules expect / / /note.md. If your vaults look different, the repo skill .claude/skills/adapt-vault/ guides Claude Code through the changes. Open Claude Code in the checkout and ask it to adapt ragnarok to your vaults. The skill:
ragnarok survey on each vault;vaults;config.toml, checked with ragnarok inspect;apply;ragnarok eval mechanical;~/.claude/CLAUDE.md, after it asks you.It changes only config.toml and adds frontmatter keys. It never moves, renames or deletes a note or a folder.
config.toml is in the home folder. A relative path in it is relative to the home folder. config.example.toml explains each key. The most important keys:
| Key | What |
|---|---|
root, vaults | The folder that holds the vaults, and the vault folders to index. |
[vault_paths] | The folder of a vault that is not in root, for example kb = "~/code/kb". A note key stays / . |
private_patterns | Glob patterns of private notes, for example "Notes/Journal/**". |
model, dimension | The Ollama embedding model and its vector size. A change needs ragnarok index --rebuild. |
min_words, max_words | The chunk size limits of the splitter. A change needs ragnarok index --rebuild. |
project_markers | A folder that holds one of these files is a project folder (default DRIVERS.md, SUMMARY.md). |
jira_prefixes | The ticket prefixes that find_by_jira knows. |
[vault_rules. ] | The path rules of one vault: which folder gives the area and the project. |
ragnarok reads these frontmatter keys. Each key is optional:
---
project: heating-upgrade # the project slug; default: from the path rules area: home # a wide subject; default: from the path rules type: plan # drivers, summary, research, spec, plan, brainstorm, review, decision,
status: active # active or archived; a note in an _archive folder, or in a project
description: One sentence about the note, which improves find_projects. jira: [ABC-123] # ticket keys, in addition to the keys in the text
Without frontmatter, the path rules give the metadata. The default rules work for a vault with the layout / / /note.md. For a different layout, add a [vault_rules. ] table. Use ragnarok inspect to see the metadata of a note.
| Command | What it does | |||
|---|---|---|---|---|
ragnarok init | Sets up this computer (see Setup). | |||
ragnarok doctor | Checks the setup. | |||
ragnarok index [--rebuild] | Adds, changes and removes notes in the index. After a change of the path rules, the private paths or the markers, it derives the metadata of all notes again, with no new embeddings. When a .md marker file is added or removed, it does the same for the notes under the folder of that file. --rebuild is needed only after a change of model, dimension, min_words or max_words. | |||
ragnarok status | Shows the size and the state of the index. | |||
ragnarok search " " | Searches from the terminal. | |||
ragnarok inspect ... | Shows the metadata of notes. | |||
| `ragnarok chunks ... \ | --stats` | Shows the chunks of notes, or the totals. | ||
ragnarok serve | Runs the MCP server on stdio. Claude Code starts it. | |||
| `ragnarok backfill propose\ | export\ | merge\ | apply [file...]` | Proposes, describes and applies missing frontmatter keys. The order is propose, export, Claude writes descriptions, merge ..., you examine the proposal, apply. |
| ragnarok survey [--json] | Prints the folders, frontmatter keys, marker files, name patterns and ticket prefixes of a vault folder. Run it before
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요