tachy
Provides integration with GitHub Issues to ingest and retrieve issues as work items, supporting syncing from specified repositories and mapping to products.
Click on "Deploy 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., "@tachysearch knowledge about login timeout error"
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.
Self-hosted knowledge engine for work items. It archives approved lessons from past tickets and issues, then searches them when a similar one comes in. tachý only stores and retrieves; the reasoning layer is an MCP client (Claude Code, Codex CLI) or the built-in web chat agent.
What it does
Pulls work items from Freshdesk, GitHub Issues and Azure DevOps, with relations, linked PRs and commits fetched and attached, not merely noticed.
Archives lessons only after a human approves them, anchored to a per-product component glossary. Outdated entries are deprecated rather than deleted, so they stay searchable and can point at their replacement.
Indexes linked git repos into local embeddings, so the agent reads bounded snippets from the right repo instead of whole files.
Stores freeform reference docs (runbooks, architecture notes), chunked, embedded and versioned with supersede lineage.
Hybrid search (keyword, trigram, semantic) over a deliberately customer-blind index, with fully local embeddings.
Exposes 40+ MCP tools to any MCP client, plus a Svelte web UI whose chat agent (
claudeorcopilotbackend) pauses for approval before any write.Keeps API keys and source tokens in an AES-256-GCM vault, scoped user, team, global.
Password login, bearer token or OIDC SSO, and optional PII scrubbing before anything reaches a model.
Related MCP server: claude-rag-mcp
Install
Postgres initializes from db/schema.sql, so clone the repo first. There is no
published image; the stack builds locally.
git clone https://github.com/diegokoes/tachy.git
cd tachy
cp .env.example .env # set TACHY_SECRET_KEY and TACHY_SESSION_SECRET
docker compose up -d --build
curl localhost:8787/healthOn first boot with an empty database, open the web UI and the one-time setup
wizard creates the admin account. Until an admin exists, and with no token or
SSO configured, the server binds to 127.0.0.1 inside the container, so run the
wizard before expecting LAN access.
Without Docker you need Node 24.18+ and PostgreSQL 14+ with vector, pg_trgm
and pgcrypto (schema.sql creates the extensions), plus git on PATH for
code search.
npm install
createdb tachy
psql "postgres://localhost:5432/tachy" -f db/schema.sql
cp .env.example .env
npm run web:build && npm run api # SPA + API on :8787.env is bootstrap only, everything else is configured in the app.
.env.example lists and comments every variable the code reads.
MCP clients register the server from the project folder: .mcp.json for Claude
Code, .vscode/mcp.json for VS Code Copilot. Other clients point at
npx tsx packages/mcp/src/index.ts.
Deployment
Two stacks on one host, both driven by Jenkinsfile:
Branch | Stack | Image tag | Path | Ports |
| production |
|
| 8787 / 5433 |
| dev |
|
| 8788 / 5434 |
Every branch runs npm ci, typecheck, web:check and coverage, then builds
an image. Only main and dev push and deploy; a feature branch gets its own
branch-* tag that nothing pulls. Deploying is an SSH to the host followed by
docker compose pull api && docker compose up -d api. The dev stage first
resets its checkout to origin/dev, because docker-compose.yml is itself
versioned and has to match the image being pulled.
The two stacks share nothing. docker-compose.yml takes its project name, ports
and image tag from the environment, so dev is just a second checkout with its
own .env (see .env.dev.example), its own network, containers, volumes and
database. The image the servers pull is private and exists for these two stacks
only, which is why a fresh install builds instead.
A restart drops in-flight chat turns. Logins survive it when
TACHY_SESSION_SECRET is set, and past chats resume from the agent-home volume.
Backups. docker compose run --rm cli npm run sync backup writes a
pg_dump -Fc into ./backups/. Schedule it and prune old dumps:
0 3 * * * cd /opt/tachy && docker compose run --rm cli npm run sync backup && find backups -name '*.dump' -mtime +14 -deleteDumps hold real ticket data. Restoring vault credentials also needs the original
TACHY_SECRET_KEY, so keep the .env secrets in a password manager.
There is deliberately no migrations directory, so upgrading an existing
deployment is a backup, a fresh database from the current db/schema.sql, and a
restore of the data tables. See CONTRIBUTING.md.
License
AGPL-3.0-or-later, see LICENSE. Contributions: CONTRIBUTING.md. Security reports: SECURITY.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Give your AI agent persistent, governed memory for every project. At task start it recalls the approved decisions, conventions, risks and architecture (semantic search, ranked by importance); at close it proposes what was learned as typed memories that you review and approve — governance, not a notes dump. Agents propose, humans govern: edits go back to pending and deletion is human-only by design. Connect Claude Code, Cursor, Claude Desktop or any MCP client in two minutes with just your API key — hosted (nothing to install) or locally via `uvx solucortex-mcp`. Built by SoluAI and dogfooded daily: SoluCortex is developed using its own living memory.
Persistent, governed institutional memory for Claude Code — specs, decisions, learnings.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that ingests various data sources and uses LLMs to compile them into structured knowledge pages, enabling hybrid search and integration with AI coding tools like Claude Code and Cursor.6 npm1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server providing RAG context and failure capture for Claude Code, enabling semantic search across project knowledge and storing/analyzing failures.1MIT
- AlicenseAqualityCmaintenanceLocal knowledge engine for codebases with hybrid search, knowledge graph, and interaction tracking, enabling Claude Code to search and interact with project knowledge locally.71MIT
- AlicenseNot gradedqualityBmaintenanceA self-hosted MCP server that retrieves git-backed engineering experience records (issues, fixes) to inform LLM coding agents, preventing repeated mistakes with a relevance floor.AGPL 3.0