Skip to main content

A local MCP server that lets any skill learn from use.

Project description

Whetstone

A local MCP server that lets any skill learn from use.

Whetstone attaches to an existing skill and maintains a git-tracked, per-skill store of what a user likes (LEARNINGS) and what the skill got wrong (ISSUES), so the skill can improve from ordinary use without a benchmark, dataset, or eval harness. See LEARNING_SKILLS_DESIGN.md for the full design.

Install

Requires Python 3.11+. The base install is light and dependency-free at retrieval time: it uses a small, deterministic hashing embedding backend (no torch, no network).

pipx install whetstone-mcp     # installs the `whetstone` command on your PATH
# or: pip install whetstone-mcp
# or, run without installing: uvx whetstone-mcp

An install (pipx/pip) puts two equivalent console scripts on your PATH — whetstone (primary, used throughout this README) and whetstone-mcp (same entry point, so pipx run whetstone-mcp / uvx whetstone-mcp resolve without the short name).

Register it with an MCP host (e.g. Claude Code) — point the host at whichever you used:

# if you installed it (pipx/pip): the command is already on PATH
claude mcp add whetstone -- whetstone
# no install — let uv fetch & run it on demand:
claude mcp add whetstone -- uvx whetstone-mcp

For higher-quality embeddings, pull in the optional extra and set embedding_backend = "sentence-transformers" in config. Match the command to how it's installed:

pipx install "whetstone-mcp[embeddings]"                 # fresh install, with the extra
pipx inject whetstone-mcp sentence-transformers          # add to an existing pipx install
pip install "whetstone-mcp[embeddings]"                  # pip

From source (contributors)

python3 -m venv .venv
.venv/bin/pip install -e '.[dev]'
.venv/bin/pip install -e '.[embeddings]'   # pulls in sentence-transformers

Run

Start the stdio MCP server:

whetstone            # PyPI install
.venv/bin/whetstone   # from-source dev install

Register it with an MCP host (e.g. Claude Code) under the server id whetstone, pointing the command at the whetstone entry point above.

Tools

The server exposes five MCP tools:

  • attach — register a skill so Whetstone tracks its learned layer (scaffolds the store).
  • recall — at the start of a task, retrieve the learnings (weighted preferences) and issues (mandatory constraints) relevant to an elaborated intent.
  • capture — the moment you act on new user feedback, distill it into a scoped, deduped entry (a preference → a learning; an always/never rule → an issue).
  • revise — reinforce / weaken / remove / promote / demote an entry recall already showed (by id); confirmation-gated.
  • metrics — reporting only: the §11 KPIs per skill from each store's events.jsonl.

Maintenance

Store compaction (retiring stale learnings, merging near-duplicate scopes) is deliberately not an MCP tool — it is out-of-band maintenance, run from the command line:

whetstone compact <skill>            # PyPI install
.venv/bin/whetstone compact <skill>  # from-source dev install

Storage & config

Per-skill stores live under the XDG data dir, defaulting to ~/.local/share/whetstone/<skill-slug>/, overridable via the WHETSTONE_STORE_ROOT environment variable or store_root in the config file. Configuration is read from ~/.config/whetstone/config.toml (XDG config dir); every key also has a WHETSTONE_* env override. Each store is its own git repository:

<store-root>/<skill-slug>/
  learnings/<scope-slug>.md   source of truth, grouped by scope
  issues/<scope-slug>.md      source of truth, grouped by scope
  next_ids.json               per-store monotonic id counters
  index.sqlite                derived embedding cache (rebuildable, git-ignored)
  events.jsonl                per-run telemetry for metrics (git-ignored)
  .git/                       version history of the markdown

Development

.venv/bin/ruff check .
.venv/bin/pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whetstone_mcp-0.1.0.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whetstone_mcp-0.1.0-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file whetstone_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: whetstone_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for whetstone_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2057042745cff9d6221c705ff137420e875e12e5b4ff280335e338a1889299dc
MD5 92074fd8a5354ab687a90dbe98608733
BLAKE2b-256 925303129097b4a15d57e5ab68b90b3d50c54913727398b5d776f4002b94e5ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for whetstone_mcp-0.1.0.tar.gz:

Publisher: release.yml on HrudithL/whetstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file whetstone_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: whetstone_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for whetstone_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b62be0c06dd1152a167943f1b93246f5af22becdd2634b1632d34f2d98cdd995
MD5 8204ead900eb25b7146b83bb12c8c4b1
BLAKE2b-256 6de3daa0655e44c6a777910dd951e137c62bae1c35531b5784f5c0b271aa6117

See more details on using hashes here.

Provenance

The following attestation bundles were made for whetstone_mcp-0.1.0-py3-none-any.whl:

Publisher: release.yml on HrudithL/whetstone

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page