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.
Latest Blog Posts
- 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