ragi
Provides integration with Ollama as an embedding provider, enabling the server to use locally hosted embedding models like nomic-embed-text for RAG indexing and semantic search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ragisearch my documents for 'neural networks'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ragi
Local-first RAG indexing and semantic search MCP server.
Requires Node 22 or newer.
Published/runtime usage is Node-first. bunx is not supported (bunx does not properly install transitive dependencies of published packages).
Quick Start
# Install dependencies
npm install
# Build and start MCP server
npm run build
npm start
# Or use npx without a global install
npx -y @susutawar/ragi@latest
# Or install globally, then run the bin directly
npm install -g @susutawar/ragi
ragiRelated MCP server: mcp-rag-server
Usage
# Initialize skill locally
npx -y @susutawar/ragi@latest init
# Initialize skill globally
npx -y @susutawar/ragi@latest init --global
# Check installations
npx -y @susutawar/ragi@latest init --check
# Refresh MCP definitions to the current @latest package spec
npm run mcp:updatenpx -y @susutawar/ragi@latest init now:
asks which agent(s) are used in the current project,
supports a broader curated harness matrix with
full,manual MCP, andskills onlysupport tiers,checks whether the installed
ragiskill is missing, current, or outdated before copying,checks whether
ragiis already registered with the selected agent host(s) before offering MCP setup,checks
~/.config/ragi/config.jsonand can scaffold it when missing or invalid,prefers global/user MCP registration by default when the agent's config format is supported,
falls back to printing manual MCP registration instructions for unsupported agents.
--force overwrites outdated installed skills during init. Without --force, interactive runs ask before updating and non-interactive runs leave stale installs untouched.
After init edits a writable MCP config, restart that host so it reloads the updated definition. For manual hosts, init now prints the exact next command or UI step to finish setup.
Configuration
The default runtime config lives at ~/.config/ragi/config.json.
Use a project .ragrc only when this repo needs to override the global ragi defaults:
{
"embedding": {
"provider": "transformers_js",
"model": "Xenova/all-MiniLM-L6-v2"
},
"providers": {
"ollama": {
"baseUrl": "http://localhost:11434"
},
"llama_cpp": {
"baseUrl": "http://localhost:8080"
}
}
}Recommended model choices by provider:
ollama:nomic-embed-texttransformers_js:Xenova/all-MiniLM-L6-v2llama_cpp: an embedding-capable model served by your llama.cpp instance
The providers.*.baseUrl values control where ragi looks for each local service. When embedding.provider is ollama or llama_cpp and embedding.baseUrl is unset, ragi uses the matching provider-specific baseUrl from the global config.
Or use environment variables (RAGI_* takes precedence):
RAGI_VECTOR_STORERAGI_EMBEDDING_PROVIDERRAGI_EMBEDDING_MODELRAGI_EMBEDDING_BASE_URL
Troubleshooting
If Node reports a sharp.node error while using the default transformers_js embedding provider:
avoid mixing
bun installandnpm installin the samenode_modulesreinstall dependencies with the same package manager you plan to run with
if you use
npx -y @susutawar/ragi@latest, let npm resolve a fresh package install instead of reusing a mixed local install
bunx @susutawar/ragi is not supported because bunx does not install transitive dependencies of published packages. Use npx instead.
When running npx @susutawar/ragi from inside this repo (development), run npm install first — the postinstall script creates a local bin shim so npx resolves correctly on Windows.
Available Tools
3 toolsrag_indexB
Index files/directories for the specified project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Absolute path to the project directory to index | |
| paths | No | Specific files or directories to index (relative to projectPath). If not provided, indexes entire project. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as destructiveness, permissions required, or effects on existing index. It only states the action without additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and to the point, containing no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and lack of details about return values, side effects, or limitations, the description is insufficient for an indexing tool that may have significant behavioral implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds minimal value beyond stating 'for the specified project'. It does not clarify parameter formats or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Index' and the resource 'files/directories' for a specific project. It effectively distinguishes itself from sibling tools 'rag_list_projects' and 'rag_search' by specifying the indexing operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for indexing a project's files but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rag_list_projectsA
List available projects or validate a project path
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Optional project path to validate or get info about. If not provided, shows current working directory info. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as side effects, authentication needs, or rate limits. It only states the basic function without any additional context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at two sentences, front-loading the primary purpose. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description is adequate. It covers the main functionality and the parameter behavior, though it could briefly mention what 'available projects' means or the nature of returned info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, and the description adds meaningful context: it explains that omitting projectPath shows current working directory info, which goes beyond the schema's description of 'Optional project path to validate or get info about.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'List available projects or validate a project path', which is a specific verb and resource. It distinguishes from sibling tools 'rag_index' and 'rag_search' by implying a listing/validation function rather than indexing or searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like rag_index or rag_search. The description only explains behavior when projectPath is provided or omitted, but does not discuss alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rag_searchB
Semantic search in the specified project RAG
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| projectPath | Yes | Absolute path to the project directory to search | |
| limit | No | Maximum number of results to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose whether the tool is read-only, requires authentication, or any other behavioral traits. The term 'Semantic search' implies a read operation, but no explicit confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise but possibly too terse. It lacks structure or front-loading of key information beyond the bare minimum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no behavioral context, the description is incomplete for an agent to understand return values or side effects. The sibling tools hint at a workflow, but the description alone is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning beyond the schema descriptions. Baseline of 3 is appropriate as the schema already documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Semantic search' as the action and 'project RAG' as the resource, distinguishing it from sibling tools 'rag_index' (indexing) and 'rag_list_projects' (listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as when to use rag_index first or when to prefer rag_list_projects. The context is only implied by sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.3- First observed
rag_index - First observed
rag_list_projects - First observed
rag_search
TDQS
Each tool has a clearly distinct purpose: indexing files, listing projects, and semantic search. There is no overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with the 'rag_' prefix (rag_index, rag_list_projects, rag_search), making them predictable and easy to understand.
Three tools is a reasonable count for a basic RAG server, covering indexing, project management, and search. It is slightly thin but not insufficient for the apparent scope.
The tool set covers core operations (index, search, list projects) but lacks important lifecycle operations like deleting or updating an index, which agents may need.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
DocBase MCP server for AI agents
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLocal MCP server for indexing personal knowledge into SQLite with hybrid search, chunk-level citations, memory tools, and agent orchestration.4MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).2837MIT
- FlicenseAqualityDmaintenanceMCP server that enables semantic search over local PDF collections using local RAG, with automatic indexing of new documents.5-
- AlicenseNot gradedqualityAmaintenanceMCP server for local RAG over personal notes, PDFs, and documents, enabling plain-English querying and hybrid search with multi-hop context expansion.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SusuTawar/ragi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server