Saga
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., "@Sagasearch for meeting notes about restructuring"
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.
Saga MCP Server
Saga is a local-first MCP server for document ingestion and semantic search. It provides document, chunk, and code-block retrieval tools over MCP (stdio or HTTP stream).
Requirements
Node.js 22+
npm 10+
Related MCP server: ragi
Install
From npm
npm install -g @maxinedotdev/sagaFrom source
git clone https://github.com/maxinedotdev/saga.git
cd saga
npm install
npm run buildServer Setup
Create ~/.saga/saga.toml:
[server]
transport = "httpStream"
base_dir = "~/.saga"
[server.http]
host = "127.0.0.1"
port = 8080
endpoint = "/mcp"
stateless = true
[env]
MCP_EMBEDDING_BASE_URL = "http://127.0.0.1:1234/v1"
MCP_EMBEDDING_MODEL = "llama-nemotron-embed-1b-v2"Notes:
stateless = trueis recommended and avoids session/SSE stream churn.If you want stdio instead of HTTP, set
transport = "stdio"and usecommandmode in your MCP client.
Run
Foreground
node dist/server.js --config ~/.saga/saga.tomlBackground service
macOS:
npm run service:install:mac
npm run service:status:macLinux (systemd user service):
npm run service:install:linux
npm run service:status:linuxWindows (run terminal as Administrator):
npm run service:install:windows
npm run service:status:windowsMCP Client Config
URL mode (HTTP stream)
Use:
http://127.0.0.1:8080/mcpKilo (mcp_settings.json):
{
"saga": {
"type": "streamable-http",
"url": "http://127.0.0.1:8080/mcp",
"timeout": 600,
"disabled": false
}
}Codex (~/.codex/config.toml):
[mcp_servers.saga]
enabled = true
url = "http://127.0.0.1:8080/mcp"Command mode (stdio)
{
"mcpServers": {
"saga": {
"command": "saga",
"env": {
"MCP_BASE_DIR": "~/.saga",
"MCP_EMBEDDING_BASE_URL": "http://127.0.0.1:1234/v1",
"MCP_EMBEDDING_MODEL": "llama-nemotron-embed-1b-v2"
}
}
}
}Tools
add_documentcrawl_documentationsearch_documentsget_documentlist_documentsget_uploads_pathprocess_uploadslist_uploads_filesdelete_documentdelete_crawl_sessionget_context_windowquerysearch_code_blocksget_code_blockssearch_documents_with_ai(only registered when AI provider config is present)
Key Config
Config source precedence:
Environment variables
TOML config (
MCP_CONFIG_TOMLorSAGA_CONFIG_TOML)Defaults
Common variables:
MCP_BASE_DIR(default~/.saga)MCP_TRANSPORT(stdioorhttpStream)MCP_HTTP_HOST(default127.0.0.1)MCP_HTTP_PORT(default8080)MCP_HTTP_ENDPOINT(default/mcp)MCP_HTTP_PUBLIC(truebinds to0.0.0.0)MCP_HTTP_STATELESS(default HTTP behavior is stateless; setfalsefor session mode)MCP_EMBEDDING_BASE_URL(required)MCP_EMBEDDING_MODELMCP_AI_BASE_URL(enablessearch_documents_with_ai)MCP_AI_MODELMCP_AI_API_KEY
Development
npm run dev
npm run build
npm run test
npm run test:unit
npm run test:integration
npm run test:benchmark
npm run test:coverage
npm run db:init
npm run db:drop
npm run db:benchmarkData Layout
By default Saga stores data under ~/.saga/:
uploads/data/lancedb/logs/(whenMCP_LOG_TO_FILE=true)
Troubleshooting
If logs show lines like establishing new SSE stream for session ID ..., Saga is running HTTP stream in stateful mode. Set MCP_HTTP_STATELESS=true (or server.http.stateless = true in TOML) and restart.
Saga does not automatically publish logs to a VS Code UI panel. Use process stdout/stderr or service log files:
macOS/Linux service scripts:
~/.saga/logs/saga-mcp.out.logand~/.saga/logs/saga-mcp.err.logForeground run: terminal output
Optional file logging: set
MCP_LOG_TO_FILE=true(writes under~/.saga/logs/)
License
MIT
This server cannot be installed
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 Servers
- Flicense-qualityCmaintenanceA local-first MCP server that enables semantic search over PDF and DOCX documents using structure-aware parsing and vector storage. It allows users to query their local knowledge base through Claude Code without cloud dependencies or GPU requirements.Last updated
- AlicenseAqualityBmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.Last updated325MIT
- AlicenseAqualityCmaintenanceA local-first document retrieval MCP server that enables AI coding tools like Codex to search private local documents via semantic search and keyword boost, supporting ingestion of PDF, DOCX, TXT, Markdown, and HTML files.Last updated7MIT
- Alicense-qualityCmaintenanceA local-first semantic search server for documents, supporting PDFs, Office files, and text/markdown, enabling natural language search via the Model Context Protocol (MCP).Last updated1MIT
Related MCP Connectors
Local-first RAG engine with MCP server for AI agent integration.
An MCP server that gives your AI access to the source code and docs of all public github repos
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
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/maxinedotdev/saga'
If you have feedback or need assistance with the MCP directory API, please join our Discord server