mirror of
https://github.com/lukaszraczylo/compaction-mcp.git
synced 2026-10-13 05:37:33 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eabda02acb | ||
|
|
66bd0092d2 | ||
|
|
37bcfcd60b |
@@ -0,0 +1,20 @@
|
|||||||
|
name: Autoupdate go.mod and go.sum
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 3 * * *"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
actions: write
|
||||||
|
pull-requests: write
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
autoupdate:
|
||||||
|
uses: lukaszraczylo/shared-actions/.github/workflows/go-autoupdate.yaml@main
|
||||||
|
with:
|
||||||
|
go-version: ">=1.24"
|
||||||
|
release-workflow: "release.yaml"
|
||||||
|
secrets: inherit
|
||||||
+3
-4
@@ -57,11 +57,10 @@ signs:
|
|||||||
args:
|
args:
|
||||||
- "sign-blob"
|
- "sign-blob"
|
||||||
- "--yes"
|
- "--yes"
|
||||||
- "${artifact}"
|
|
||||||
- "--output-certificate"
|
|
||||||
- "${signature}.pem"
|
|
||||||
- "--bundle"
|
- "--bundle"
|
||||||
- "${signature}.sigstore.json"
|
- "${signature}"
|
||||||
|
- "${artifact}"
|
||||||
|
signature: "checksums.txt.sigstore.json"
|
||||||
|
|
||||||
docker_signs:
|
docker_signs:
|
||||||
- cmd: cosign
|
- cmd: cosign
|
||||||
|
|||||||
@@ -6,12 +6,24 @@ Designed to complement long-term memory tools (like claude-mnemonic) by handling
|
|||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
|
### Binary
|
||||||
|
|
||||||
|
Download from [releases](https://github.com/lukaszraczylo/compaction-mcp/releases) or build from source:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go build -o compactor .
|
go build -o compactor .
|
||||||
```
|
```
|
||||||
|
|
||||||
Single binary, no external dependencies. ~6 MiB.
|
Single binary, no external dependencies. ~6 MiB.
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker pull ghcr.io/lukaszraczylo/compaction-mcp:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
Multi-platform image (linux/amd64, linux/arm64) built on distroless.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@@ -25,9 +37,24 @@ compactor --state-dir ~/.local/share/compactor
|
|||||||
compactor --budget 80000
|
compactor --budget 80000
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
The container runs the compactor binary as its entrypoint. Since the MCP server communicates over stdio, run with `-i` (interactive):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Ephemeral
|
||||||
|
docker run -i ghcr.io/lukaszraczylo/compaction-mcp:latest
|
||||||
|
|
||||||
|
# With persistent state
|
||||||
|
docker run -i -v compactor-data:/data ghcr.io/lukaszraczylo/compaction-mcp:latest --state-dir /data
|
||||||
|
|
||||||
|
# With explicit budget
|
||||||
|
docker run -i ghcr.io/lukaszraczylo/compaction-mcp:latest --budget 80000
|
||||||
|
```
|
||||||
|
|
||||||
### Claude Code
|
### Claude Code
|
||||||
|
|
||||||
`.claude/settings.json`:
|
`.claude/settings.json` (binary):
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"mcpServers": {
|
"mcpServers": {
|
||||||
@@ -39,6 +66,18 @@ compactor --budget 80000
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
`.claude/settings.json` (Docker):
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"compactor": {
|
||||||
|
"command": "docker",
|
||||||
|
"args": ["run", "-i", "--rm", "-v", "compactor-data:/data", "ghcr.io/lukaszraczylo/compaction-mcp:latest", "--state-dir", "/data"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Cursor / other MCP clients
|
### Cursor / other MCP clients
|
||||||
|
|
||||||
Same pattern. The server auto-detects the client and sets a reasonable budget:
|
Same pattern. The server auto-detects the client and sets a reasonable budget:
|
||||||
|
|||||||
Reference in New Issue
Block a user