Initial public release
Three local MCP servers for coding agents, designed for Claude Code and OpenCode: - context-web-search: SearXNG-backed web search and URL fetch - context-docs: semantic search over curated llms.txt docs - context-repomix: pack local or remote repos into AI context Defaults are local-first: SearXNG binds to 127.0.0.1, no hosted API keys are required, and Repomix mounts only the current project read-only.
This commit is contained in:
134
README.md
Normal file
134
README.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# Context Kit
|
||||
|
||||
Local context tools for Claude Code and OpenCode.
|
||||
|
||||
Local web search. Local docs. Repo packing. No API keys required.
|
||||
|
||||
## What You Get
|
||||
|
||||
Context Kit gives coding agents three local MCP servers:
|
||||
|
||||
| Server | Purpose | Default |
|
||||
|---|---|---|
|
||||
| `context-web-search` | Current web search and URL fetch through local SearXNG | Enabled |
|
||||
| `context-docs` | Semantic search over curated `llms.txt` documentation | Enabled |
|
||||
| `context-repomix` | Pack local or remote repositories into AI-friendly context | Enabled |
|
||||
|
||||
The first public release deliberately keeps the surface area small: web search,
|
||||
docs search, and repository packing.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```sh
|
||||
git clone https://gitea.krishnan.ca/ajaynomics/context-kit.git
|
||||
cd context-kit
|
||||
cp .env.example .env
|
||||
export PATH="$PWD/bin:$PATH"
|
||||
bin/context-kit start
|
||||
bin/context-kit doctor
|
||||
```
|
||||
|
||||
Then connect your assistant.
|
||||
|
||||
For Claude Code:
|
||||
|
||||
```sh
|
||||
bin/context-kit install claude
|
||||
```
|
||||
|
||||
Copy the printed JSON into your project's `.mcp.json`, or use the equivalent
|
||||
`claude mcp add` commands if you prefer managing servers through the Claude CLI.
|
||||
The default snippet uses `context-kit` on `PATH`, which is the right shape for
|
||||
shared project config. For a private user-only config, you can print absolute
|
||||
paths with `bin/context-kit install claude --absolute`.
|
||||
|
||||
For OpenCode:
|
||||
|
||||
```sh
|
||||
bin/context-kit install opencode
|
||||
```
|
||||
|
||||
Merge the printed `mcp` block into your `opencode.json`, then restart OpenCode.
|
||||
The default snippet uses `context-kit` on `PATH`. Use
|
||||
`bin/context-kit install opencode --absolute` only for private, machine-local
|
||||
config that will not be committed.
|
||||
|
||||
## Defaults
|
||||
|
||||
- SearXNG binds to `127.0.0.1:8099` only.
|
||||
- Docs and model caches live in `$HOME/.local/share/context-kit`.
|
||||
- Docs refresh TTL defaults to `7d`.
|
||||
- MCP containers are labeled `dev.context-kit=true` for safe inspection and cleanup.
|
||||
- Repomix mounts only the current project read-only, not your whole home directory.
|
||||
- No code-editing MCP server is enabled by default.
|
||||
|
||||
## Docs Sources
|
||||
|
||||
The default docs index is intentionally small:
|
||||
|
||||
- Claude Code docs
|
||||
- OpenAI API docs and reference
|
||||
- Anthropic docs
|
||||
- OpenRouter docs
|
||||
- Model Context Protocol docs
|
||||
|
||||
Optional profiles live in `config/`:
|
||||
|
||||
- `sources.ruby-ai.txt`
|
||||
- `sources.js.txt`
|
||||
- `sources.cloudflare.txt`
|
||||
|
||||
Example:
|
||||
|
||||
```sh
|
||||
CONTEXT_KIT_DOCS_SOURCES="config/sources.default.txt config/sources.js.txt" \
|
||||
bin/context-kit docs
|
||||
```
|
||||
|
||||
Cloudflare is opt-in because it can expand to thousands of sections and take a
|
||||
while to embed.
|
||||
|
||||
## Commands
|
||||
|
||||
```sh
|
||||
bin/context-kit start
|
||||
bin/context-kit stop
|
||||
bin/context-kit build
|
||||
bin/context-kit status
|
||||
bin/context-kit doctor
|
||||
bin/context-kit redaction-check
|
||||
```
|
||||
|
||||
MCP entrypoints:
|
||||
|
||||
```sh
|
||||
bin/context-kit web-search
|
||||
bin/context-kit docs
|
||||
bin/context-kit repomix
|
||||
```
|
||||
|
||||
## Security Model
|
||||
|
||||
Context Kit is local-first, but MCP tools still extend what your agent can do.
|
||||
|
||||
- Treat fetched web pages as untrusted input.
|
||||
- Do not expose SearXNG publicly without changing the secret and reviewing its
|
||||
configuration.
|
||||
- Keep docs profiles curated. More sources means more background indexing and
|
||||
more untrusted text in your retrieval corpus.
|
||||
- Be cautious when adding code-editing MCP servers. Context Kit's default MCP
|
||||
servers either read remote content or mount the current project read-only.
|
||||
|
||||
See `docs/security.md` for details.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Docker with Compose v2
|
||||
- Bash
|
||||
- `curl` for health checks
|
||||
|
||||
No hosted API keys are required for the default stack.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user