253 lines
8.1 KiB
JSON
253 lines
8.1 KiB
JSON
{
|
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
|
|
"name": "io.github.ggozad/haiku-rag",
|
|
"version": "{{VERSION}}",
|
|
"description": "Agentic Retrieval Augmented Generation (RAG) with LanceDB",
|
|
"repository": {
|
|
"url": "https://github.com/ggozad/haiku.rag",
|
|
"source": "github"
|
|
},
|
|
"homepage": "https://github.com/ggozad/haiku.rag",
|
|
"license": "MIT",
|
|
"keywords": ["rag", "lancedb", "vector-database", "embeddings", "search", "qa", "research"],
|
|
"vendor": {
|
|
"name": "Yiorgis Gozadinos",
|
|
"url": "https://github.com/ggozad"
|
|
},
|
|
"deployment": {
|
|
"packages": [
|
|
{
|
|
"type": "pypi",
|
|
"package": "haiku.rag",
|
|
"command": {
|
|
"linux-x86_64": {
|
|
"shell": "uvx",
|
|
"args": ["haiku.rag", "serve", "--stdio"]
|
|
},
|
|
"darwin-arm64": {
|
|
"shell": "uvx",
|
|
"args": ["haiku.rag", "serve", "--stdio"]
|
|
},
|
|
"darwin-x86_64": {
|
|
"shell": "uvx",
|
|
"args": ["haiku.rag", "serve", "--stdio"]
|
|
},
|
|
"win32-x86_64": {
|
|
"shell": "uvx.exe",
|
|
"args": ["haiku.rag", "serve", "--stdio"]
|
|
}
|
|
},
|
|
"environmentVariables": [
|
|
{
|
|
"name": "ENV",
|
|
"description": "Runtime environment (production or development)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "DEFAULT_DATA_DIR",
|
|
"description": "Default directory for LanceDB data and assets",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "MONITOR_DIRECTORIES",
|
|
"description": "Comma-separated paths to watch for file changes in server mode",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "LANCEDB_URI",
|
|
"description": "LanceDB connection URI (use db:// for cloud or a filesystem path)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "LANCEDB_REGION",
|
|
"description": "LanceDB cloud region (if using cloud)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "LANCEDB_API_KEY",
|
|
"description": "LanceDB API key (required for LanceDB Cloud)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": true
|
|
},
|
|
{
|
|
"name": "EMBEDDINGS_PROVIDER",
|
|
"description": "Embeddings provider (e.g. ollama, openai, voyageai)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "EMBEDDINGS_MODEL",
|
|
"description": "Embeddings model name (provider-specific)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "EMBEDDINGS_VECTOR_DIM",
|
|
"description": "Embedding vector dimension (must match model)",
|
|
"format": "number",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "QA_PROVIDER",
|
|
"description": "Question answering provider (e.g. ollama, openai, anthropic)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "QA_MODEL",
|
|
"description": "Question answering model name (provider-specific)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "RESEARCH_PROVIDER",
|
|
"description": "Research provider for multi-agent research (e.g. ollama, openai, anthropic)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "RESEARCH_MODEL",
|
|
"description": "Research model name for multi-agent research (provider-specific)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "RERANK_PROVIDER",
|
|
"description": "Rerank provider (e.g. mixedbread, cohere)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "RERANK_MODEL",
|
|
"description": "Rerank model name (provider-specific)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "CHUNK_SIZE",
|
|
"description": "Chunk size for splitting documents (characters)",
|
|
"format": "number",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "CONTEXT_CHUNK_RADIUS",
|
|
"description": "Number of adjacent chunks to include around search hits",
|
|
"format": "number",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "OLLAMA_BASE_URL",
|
|
"description": "Base URL for Ollama server",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "VLLM_EMBEDDINGS_BASE_URL",
|
|
"description": "Base URL for vLLM embeddings endpoint",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "VLLM_RERANK_BASE_URL",
|
|
"description": "Base URL for vLLM rerank endpoint",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "VLLM_QA_BASE_URL",
|
|
"description": "Base URL for vLLM QA endpoint",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "VLLM_RESEARCH_BASE_URL",
|
|
"description": "Base URL for vLLM research endpoint",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "MARKDOWN_PREPROCESSOR",
|
|
"description": "Dotted path or file path to a callable that preprocesses markdown content before chunking",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "DISABLE_DB_AUTOCREATE",
|
|
"description": "If true, refuse to auto-create a new LanceDB database or tables",
|
|
"format": "boolean",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "VACUUM_RETENTION_SECONDS",
|
|
"description": "Vacuum retention threshold in seconds (default: 60)",
|
|
"format": "number",
|
|
"isRequired": false,
|
|
"isSecret": false
|
|
},
|
|
{
|
|
"name": "OPENAI_API_KEY",
|
|
"description": "OpenAI API key (if using OpenAI for embeddings or QA)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": true
|
|
},
|
|
{
|
|
"name": "VOYAGE_API_KEY",
|
|
"description": "VoyageAI API key (if using VoyageAI for embeddings)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": true
|
|
},
|
|
{
|
|
"name": "ANTHROPIC_API_KEY",
|
|
"description": "Anthropic API key (if using Anthropic for QA)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": true
|
|
},
|
|
{
|
|
"name": "COHERE_API_KEY",
|
|
"description": "Cohere API key (if using Cohere for reranking)",
|
|
"format": "string",
|
|
"isRequired": false,
|
|
"isSecret": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"transports": [
|
|
{
|
|
"type": "stdio"
|
|
}
|
|
]
|
|
}
|