Repository navigation
v0.1.4 — don't bombard the agent
v0.1.4 — don't bombard the agent
The token-budget problem (10 MCPs × 20 tools = ~60k tokens before you type anything) is the first real UX wall of a dynamic catalog. This release fixes it at its root with a deterministic activation resolver.
Design validated end-to-end by a real multi-model brainstorm through this very Pier deployment — GPT-5.4 + DeepSeek both converged on "author hints are advisory, user profile wins."
Three priority layers at pier sync time
| Priority | Source | Where you define it |
|---|---|---|
| 1 (highest) | Workspace | .pier.yaml in a project root or ancestor |
| 2 | User profile | ~/.config/pier/profile.yaml (always/never/include_tags) |
| 3 (lowest) | Formula auto_activate | author hints in pier.yaml — file/glob/always/on_demand |
User never beats formula always. Workspace exclude beats user always. Missing auto_activate = on_demand (never auto).
New CLI commands
pier sync --explain # show why each MCP is included/skipped
pier sync --all # opt out of filtering (old behaviour)
pier sync --workspace <path> # override cwd for workspace lookup
pier activate <name> # pin to user profile always[]
pier deactivate <name> # pin to user profile never[]
pier profile show|add|remove ... # manual profile editingBug fix shipped alongside
Proxy no longer 500s when a formula declares optional secrets and the user has only set a subset. Hit in production when calling brainstorm-mcp with only openai_key + deepseek_key set.
Deferred to v0.1.5
pier-hub meta-MCP for the dynamic cases where static rules can't predict.
Tests
11 new CLI activation-resolver tests. 27 green across workspaces.