About vectora
Vectora is a self-hosted AI assistant app for people who want RAG, web search, filesystem access, and memory. This monorepo contains the app alongside its company site, documentation, and gateway and update services.
Key features
- 01Self-hosted AI assistant app
- 02RAG, web search, and memory
- 03Filesystem access
- 04Python backend with Vite and Electron
- 05Native installers and update channel
Use cases
- 01Run an AI assistant in a self-hosted setup
- 02Use web search and local files as context
- 03Build and distribute native app releases
MCP support
The tagline describes Vectora as an MCP sub-agent for Claude Code, but the README does not explain its MCP capabilities.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx vectora-agentGOOGLE_API_KEYSecretGoogle Gemini API key (recommended free-tier LLM provider)COHERE_API_KEYSecretCohere API key — required for RAG embeddings and rerankingTAVILY_API_KEYSecretTavily API key — required for web search and URL extractionOPENAI_API_KEYSecretOpenAI API key (optional — alternative LLM provider)ANTHROPIC_API_KEYSecretAnthropic API key (optional — alternative LLM provider)LANGSMITH_API_KEYSecretLangSmith API key (optional — tracing and observability)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEVectora — Monorepo
Monorepo da Vectora. Cada produto vive em sua própria pasta, com toolchain e lockfile independentes. O que conecta tudo é o GitHub Actions (um workflow por projeto, gated por path) e o pre-commit compartilhado na raiz.
Estrutura
| Pasta | Projeto | Stack | Deploy |
|---|---|---|---|
vectora/ | App Vectora (assistente de IA self-hosted) | Python (uv) + Vite + Electron | Instaladores nativos (Nuitka + Electron) via canal de update |
company/ | Site institucional | TanStack Start + Vite (pnpm) | Vercel → vectora.company |
docs/ | Documentação | Hugo | Vercel → docs.vectora.company |
services/ | Gateway (OAuth/webhooks pro desktop, ex-relay) + updates (distribuição de releases) — era relay/ + update-server/, unificados | Hono + Cloudflare Workers (pnpm) | Cloudflare (wrangler) |
O app em si (backend Python, frontend Vite, casca Electron) fica todo dentro de
vectora/— veja vectora/README.md para detalhes de arquitetura, build e CLI.
CI/CD (.github/workflows/)
4 workflows reais, cada um gated por path (on.push/pull_request.paths):
uma mudança só no vectora/ não dispara o build/deploy de company/docs/services.
| Workflow | Dispara em | Faz |
|---|---|---|
vectora.yml | vectora/**, tags v* | lint • security • build • testes (unit/integration/e2e) • release nativo (Nuitka + Electron) • publica no canal de update (R2 + KV) |
edge.yml | company/**, services/**, docs/** | lint/typecheck/test dos 3 projetos • deploy automático em push em master (Vercel + Cloudflare) |
release-please.yml | push em master | mantém o PR de release acumulado (Conventional Commits) — mesclar publica a tag vX.Y.Z |
pr-checks.yml | pull requests | labels automáticos • valida título em Conventional Commits |
Não existe workflow de Docker Build/Push, CodeQL nem triage de issues — a distribuição do app vectora é via instaladores nativos (não imagem Docker).
Secrets esperados
| Secret | Usado por |
|---|---|
GOOGLE_API_KEY, COHERE_API_KEY, TAVILY_API_KEY, LLM_PROVIDER, LOG_LEVEL | testes do vectora |
WIN_CERTIFICATE_BASE64, WIN_CERTIFICATE_PASSWORD, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID, VECTORA_RELEASES_TOKEN | assinatura/publicação dos instaladores nativos |
VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID_COMPANY, VERCEL_PROJECT_ID_DOCS | deploy Vercel (company + docs) |
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY | deploy do services + canal de update (R2) |
Desenvolvimento
Cada projeto é independente — entre na pasta e use o gerenciador dele:
# App Vectora (Python + Vite + Electron)
cd vectora && uv sync && uv run vectora start
# Site institucional
cd company && pnpm install && pnpm dev
# Docs (Hugo)
cd docs && hugo server
# Services (gateway + updates)
cd services && pnpm install && pnpm dev
Pre-commit (raiz)
O .pre-commit-config.yaml na raiz cobre todos os projetos (ruff/ty/bandit no
vectora/, prettier/oxlint/tsc no frontend, actionlint nos workflows):
pre-commit install
pre-commit run --all-files
Licença
Proprietária. Consulte LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.