loading…
Search for a command to run...
loading…
Self-hosted knowledge backend for AI agents with hybrid vector + keyword search, container-isolated indexes, and 11 MCP tools. .NET, Docker-ready.
Self-hosted knowledge backend for AI agents with hybrid vector + keyword search, container-isolated indexes, and 11 MCP tools. .NET, Docker-ready.
Stop losing context between AI sessions. Give your agents persistent, searchable memory.
Your AI agents forget everything between sessions. Connapse fixes that.
Every time you start a new conversation, your AI agent starts from zero — no memory of past research, no access to your documents, no accumulated knowledge. Connapse is an open-source knowledge backend that gives agents persistent, searchable memory. Upload documents or point it at your existing Amazon S3 buckets, Azure Blob Storage containers, or local filesystems. Agents query and build their own research corpus via 11 MCP tools, REST API, or CLI. Container-isolated, hybrid search (vector + keyword), self-hosted and private. Deploy in 60 seconds with Docker. Built on .NET 10.
AI agents query your knowledge base through the MCP server, receiving structured answers with source citations from your documents.
Switch embedding providers, tune chunking parameters, and configure search — all at runtime, without restarting.
git clone https://github.com/Destrayon/Connapse.git && cd Connapse && docker-compose up -d
# Open http://localhost:5001
# Clone the repository
git clone https://github.com/Destrayon/Connapse.git
cd Connapse
# Set required auth environment variables (or use a .env file)
export [email protected]
export CONNAPSE_ADMIN_PASSWORD=YourSecurePassword123!
export Identity__Jwt__Secret=$(openssl rand -base64 64)
# Start all services (PostgreSQL, MinIO, Web App)
docker-compose up -d
# Open http://localhost:5001 — log in with the admin credentials above
The first run will:
# Start infrastructure only (database + object storage)
docker-compose up -d postgres minio
# Run the web app locally
dotnet run --project src/Connapse.Web
# Run all tests
dotnet test
# Run just unit tests
dotnet test --filter "Category=Unit"
The connapse CLI is published separately at Destrayon/connapse-cli.
Install:
dotnet tool install -g Connapse.CLI
# or: download a binary from https://github.com/Destrayon/connapse-cli/releases/latest
Get started:
connapse auth login --server https://localhost:5001
connapse --help
Connapse includes a Model Context Protocol (MCP) server for integration with Claude and any MCP client.
Setup: Create an agent API key via the web UI (Settings → Agent API Keys), then add the config snippet for your client:
claude mcp add connapse --transport streamable-http http://localhost:5001/mcp --header "X-Agent-Api-Key: YOUR_API_KEY"
Add to your claude_desktop_config.json:
{
"mcpServers": {
"connapse": {
"transport": "streamable-http",
"url": "http://localhost:5001/mcp",
"headers": {
"X-Agent-Api-Key": "YOUR_API_KEY"
}
}
}
}
Add to your .vscode/settings.json (VS Code) or Cursor MCP config:
{
"mcp": {
"servers": {
"connapse": {
"transport": "streamable-http",
"url": "http://localhost:5001/mcp",
"headers": {
"X-Agent-Api-Key": "${input:connapseApiKey}"
}
}
}
}
}
VS Code will prompt for the API key on first use.
The MCP server exposes 11 tools:
| Tool | Description |
|---|---|
container_create |
Create a new container for organizing files |
container_list |
List all containers with document counts |
container_delete |
Delete a container |
container_stats |
Get container statistics (documents, chunks, storage, embeddings) |
upload_file |
Upload a single file to a container |
bulk_upload |
Upload up to 100 files in one operation |
list_files |
List files and folders at a path |
get_document |
Retrieve full parsed text content of a document |
delete_file |
Delete a single file from a container |
bulk_delete |
Delete up to 100 files in one operation |
search_knowledge |
Semantic, keyword, or hybrid search within a container |
Full reference: See docs/mcp-tools.md for parameter tables, return formats, error cases, and usage examples.
Write guards: Amazon S3 and Azure Blob Storage containers are read-only (synced from source). Filesystem containers respect per-container permission flags. Upload and delete tools will return an error for containers that block writes.
Connection refused on localhost:5001 — Docker not running or port conflict. Check docker compose ps and docker compose logs web.
401 Unauthorized / API key not working — Verify the key in Settings > Agent API Keys. Keys are shown once at creation.
Tools not appearing in Claude — Restart your MCP client after config changes. Verify endpoint with curl http://localhost:5001/mcp.
Uploads failing or timing out — Check file type is in the allowlist. Max file size depends on server config.
Search returns no results — Documents need time to embed after upload. Check container stats for embedding progress.
This project is in active development (v0.3.2) and approaching production-readiness.
v0.3.x adds cloud connector architecture with IAM-based access control, multi-provider embeddings and LLM support, cloud identity linking (AWS SSO + Azure AD), and rate limiting.
Identity__Jwt__Secret in production — see deployment guideSee SECURITY.md for the full security policy.
┌──────────────────────────────────────────────────────────────────────┐
│ Access Surfaces │
│ Web UI (Blazor) │ REST API │ CLI │ MCP Server │
└─────────────┬────────────────────────────────────────────────────────┘
│
┌─────────────▼────────────────────────────────────────────────────────┐
│ Core Services Layer │
│ Document Store │ Vector Store │ Search │ Ingestion │
└─────────────┬────────────────────────────────────────────────────────┘
│
┌─────────────▼────────────────────────────────────────────────────────┐
│ Connectors Layer │
│ MinIO │ Filesystem │ Amazon S3 │ Azure Blob Storage │
└─────────────┬────────────────────────────────────────────────────────┘
│
┌─────────────▼────────────────────────────────────────────────────────┐
│ Infrastructure │
│ PostgreSQL+pgvector │ MinIO (S3) │ Ollama (optional) │
└──────────────────────────────────────────────────────────────────────┘
[Upload] → [Parse] → [Chunk] → [Embed] → [Store] → [Searchable]
↓
[Metadata]
↓
[Document Store]
Target: < 30 seconds from upload to searchable.
Key Technologies:
Connapse is pre-1.0. Major design work is tracked in Discussions.
auth login, auth whoami, auth pat)IUploadService) shared by API and MCPbulk_upload and bulk_deletefiles commands, container stats, --pre updates, --help flagsDoes Connapse require internet access? — No. Use Ollama for fully offline embeddings and search.
How many documents can it handle? — Thousands per container. Built on PostgreSQL + pgvector.
Which MCP clients work with Connapse? — Any client supporting Streamable HTTP transport — Claude Desktop, Claude Code, VS Code, Cursor, and others.
Is my data private? — Fully self-hosted. With Ollama, nothing leaves your machine. Cloud providers (OpenAI, Azure) are optional.
What embedding providers are supported? — Ollama (local), OpenAI, and Azure OpenAI. Switch at runtime without re-deploying.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Quick contribution checklist:
dotnet testGood first issues: Check issues labeled good-first-issue
This project is licensed under the MIT License - see LICENSE for details.
You are free to:
The only requirement is to include the copyright notice and license in any substantial portions of the software.
Built with:
⭐ If you find this project useful, please star the repository to show your support!
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"destrayon-connapse": {
"command": "npx",
"args": []
}
}
}