Skip to main content

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

Metadata

Release files for whetstone-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for whetstone-mcp 0.1.0
File Size Uploaded Provenance
whetstone_mcp-0.1.0.tar.gz 48.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for whetstone-mcp 0.1.0
File Interpreter ABI Platform
whetstone_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 103.7 kB

Release files / whetstone_mcp-0.1.0.tar.gz

Download URL whetstone_mcp-0.1.0.tar.gz
Size 48.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2057042745cff9d6221c705ff137420e875e12e5b4ff280335e338a1889299dc
BLAKE2b-256 checksum
How to use checksums
925303129097b4a15d57e5ab68b90b3d50c54913727398b5d776f4002b94e5ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.

Transparency log

Release files / whetstone_mcp-0.1.0-py3-none-any.whl

Download URL whetstone_mcp-0.1.0-py3-none-any.whl
Size 55.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b62be0c06dd1152a167943f1b93246f5af22becdd2634b1632d34f2d98cdd995
BLAKE2b-256 checksum
How to use checksums
6de3daa0655e44c6a777910dd951e137c62bae1c35531b5784f5c0b271aa6117
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.

Transparency log

Security for whetstone-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for whetstone_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page