diff --git a/server.json b/server.json index c3eb7a3a..0ee54904 100644 --- a/server.json +++ b/server.json @@ -1,253 +1,42 @@ { - "$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": { + "$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/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" + }, + "license": "MIT", + "keywords": [ + "rag", + "lancedb", + "vector-database", + "embeddings", + "search", + "qa", + "research" + ], "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 - } - ] - } + { + "registryType": "pypi", + "registryBaseUrl": "https://pypi.org", + "identifier": "haiku-rag", + "version": "{{VERSION}}", + "runtimeHint": "uvx", + "runtimeArguments": [ + { + "type": "positional", + "value": "serve" + }, + { + "type": "named", + "name": "--mcp" + } + ], + "transport": { + "type": "stdio" + } + } ] - }, - "transports": [ - { - "type": "stdio" - } - ] }