TypesenseKit is an independent, open-source CLI and MCP server for Typesense. Inspect collections, run searches, and check cluster health from your terminal or a compatible AI assistant.
Both interfaces share 95 operations with validated inputs. MCP access is read-only by default; enabling full access exposes write, delete, key-management, and raw API tools. Use a scoped Typesense API key to restrict what the server can access.
Website · Typesense CLI · Typesense MCP · Guides
Requires Node.js 22.11 or newer and access to a Typesense cluster. The search example assumes an existing products collection with a title field.
pnpm add -g @typesensekit/cli
# Securely prompts for the API key
tsk profile add local --url http://localhost:8108
tsk profile use local
# Discover the input, then run the operation
tsk documents.search --examples
tsk documents.search --input '{"collection":"products","params":{"q":"oak chair","query_by":"title"}}' --jsonTypesense work often jumps between dashboards, one-off scripts, local curl commands, and agent experiments. TypesenseKit keeps those workflows on one predictable surface:
- Use the same operation names from the CLI and MCP server.
- Validate structured inputs before requests reach Typesense.
- Get readable terminal output or stable, redacted JSON for scripts.
- Keep secrets out of shell history with secure prompts, stdin, or macOS Keychain profiles.
- Confirm destructive CLI operations before they run.
- Give AI clients read-only tools by default, then opt in to writes deliberately.
- Reach newer or uncommon endpoints through the raw
api.callescape hatch.
Use the official Typesense client in application code. Use TypesenseKit when humans, scripts, and agents need to perform the same operational work.
Install the public CLI package:
pnpm add -g @typesensekit/cliCreate a profile interactively, pipe a key over stdin for automation, or use macOS Keychain:
# Interactive secure prompt
tsk profile add local --url http://localhost:8108
# Scripted setup without putting the key in argv or shell history
printf '%s' "$TYPESENSE_API_KEY" | tsk profile add ci \
--url https://search.example.com --api-key-stdin
# Keychain-backed profile on macOS
tsk profile add production --url https://search.example.com --keychainEvery operation supports generated schemas and examples. Common results render as tables; pass --json for stable automation output.
tsk operations
tsk collections.list --input '{}'
tsk documents.search --schema
tsk documents.search --examples
tsk collections.list --input '{}' --jsonEnable shell completion:
source <(tsk completion zsh)
source <(tsk completion bash)
tsk completion fish | sourceSee the Typesense CLI overview or read the complete CLI guide for profiles, environment-only use, JSON input, completion, and destructive-operation behavior.
Run the stdio server directly. It exposes search, reads, collection metadata, configuration reads, and system status operations by default.
TYPESENSE_URL=http://localhost:8108 \
TYPESENSE_API_KEY=xyz \
pnpm dlx @typesensekit/mcpWrite, delete, key-management, and raw API tools stay hidden unless full access is explicitly enabled:
TYPESENSEKIT_READ_ONLY=false \
TYPESENSE_URL=http://localhost:8108 \
TYPESENSE_API_KEY=xyz \
pnpm dlx @typesensekit/mcpGenerate client configuration from the CLI:
tsk skills mcp
tsk skills claude-desktop
tsk skills claude-code
tsk skills hermesSee the Typesense MCP overview, MCP guide, and client setup guide for Claude Desktop, Claude Code, Codex, Cursor, generic MCP clients, Streamable HTTP, and Docker.
| Resource | Purpose |
|---|---|
typesensekit://operations |
Operations exposed by the current MCP mode |
typesensekit://read-only-tools |
Tools included in the default read-only mode |
typesense://collections/{collection}/schema |
Collection schema lookup |
typesense://collections/{collection}/documents/{id} |
Document lookup |
TypesenseKit targets the Typesense v30.2 API for current first-class operations:
- Collections, schema changes, documents, imports, exports, search, multi-search, facets, and suggestions
- Aliases, presets, global synonym and curation sets, stopwords, stemming dictionaries, and legacy collection configuration
- API keys, analytics rules and events, natural-language search models, conversations, and conversation history
- Health, metrics, stats, debug information, snapshots, slow-request logging, database maintenance, and other system operations
The generated API coverage inventory is the source of truth for operation names and compatibility notes. Use api.call for endpoints that are new, uncommon, or not yet wrapped.
Typesense administration touches data and credentials. Keep the MCP server read-only for assistant-facing deployments, use narrowly scoped Typesense keys, and protect any Streamable HTTP deployment with authentication and network controls.
corepack enable
pnpm install
pnpm checkRun a local Typesense server:
docker run -p 8108:8108 \
-e TYPESENSE_API_KEY=xyz \
-e TYPESENSE_DATA_DIR=/data \
typesense/typesense:30.2 --enable-corsRun the landing page locally:
pnpm dev:webSee CONTRIBUTING.md for development and release rules.