idiolect-mcp 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # idiolect-mcp
2
2
 
3
- MCP server that makes any MCP-compatible AI (Claude Desktop, Claude Code, …)
4
- write in **your** voice, using your [Idiolect AI](https://idiolect.app) Voice Card.
3
+ Idiolect AI creates and revises writing through MCP-compatible AI tools. A Writing Profile
4
+ personalizes the result using writing samples, stated preferences, and learned patterns.
5
+ Writing requests do not need a brand mention or an existing profile.
5
6
 
6
7
  ## Setup
7
8
 
@@ -46,27 +47,29 @@ Remote OAuth and account-mode stdio advertise the same user-facing tools.
46
47
  Setup state, evidence approval, retries, and idempotency stay inside the server;
47
48
  clients receive one `next` action and never coordinate workflow versions or locks.
48
49
 
49
- - **`write`** — writes new prose in the user's Writing Profile or own style.
50
- - **`rewrite`** — rewrites supplied prose in the user's Writing Profile.
50
+ - **`write`** — drafts writing from requests, facts, notes, or outlines.
51
+ - **`rewrite`** — corrects, summarizes, expands, simplifies, paraphrases, or repurposes existing text.
51
52
  - **`refine_writing`** — changes returned writing, applies a template, or records its outcome.
52
- - **`view_writing_profile`** — lists Writing Profiles and shows the selected or current profile.
53
- - **`list_writing_samples`** — lists the writing behind one profile.
54
- - **`create_writing_profile`** — creates a new profile without changing another.
55
- - **`add_writing_samples`** — adds approved writing to a selected or current profile.
56
- - **`rename_writing_profile`** — renames a profile.
57
- - **`set_current_writing_profile`** — makes a profile current.
58
- - **`set_default_writing_template`** — sets or clears the default template when no profile exists.
59
- - **`add_writing_rule`** — stores a lasting rule in the user's words.
60
- - **`remove_writing_rule`** — stops following one stored rule.
61
- - **`remove_writing_sample`** — revokes one ready or waiting sample.
62
- - **`delete_writing_profile`** — deletes a selected profile.
63
-
64
- Cached account-mode tool names remain callable but are not advertised. Slug mode keeps its
53
+ - **`view_writing_profile`** — read-only: lists Writing Profiles, shows one, and with `samples` lists its writing.
54
+ - **`manage_profile`** — every change, by `action`: `create_profile`, `add_samples`, `remove_sample`,
55
+ `add_rule`, `remove_rule`, `rename_profile`, `set_current_profile`, `set_default_template`.
56
+
57
+ Deleting a whole profile is done on the website. The former per-action profile tools
58
+ (`add_writing_rule`, `delete_writing_profile` and the rest) still work and answer as
59
+ `manage_profile` with that action, but are not advertised.
60
+
61
+ Profile creation, approved samples, and lasting preferences can be part of writing and
62
+ revision workflows. They do not require a separate profile-management request. Inferred
63
+ patterns can contribute approved authored examples; they must not become user-stated rules.
64
+ See [the MCP playbook](../docs/MCP-PLAYBOOK.md) for writing and review rules.
65
+
66
+ Cached account-mode tool names that hosts still call forward to the current tool and are not
67
+ advertised; a retired name answers with the current tool to use instead. Slug mode keeps its
65
68
  legacy local-samples catalogue; locally configured samples are used only for stateless scoring
66
69
  and are not stored.
67
70
 
68
71
  When an account has no Writing Profile, `write` and `rewrite` return the setup choices.
69
- `create_writing_profile` returns exact missing blocks and characters when evidence is thin.
72
+ `manage_profile` with `create_profile` returns exact missing blocks and characters when evidence is thin.
70
73
  Feedback can be accepted, corrected-and-accepted, or rejected only against a
71
74
  succeeded server-issued output.
72
75
  Correction prose is retained only when the applicable consent gates permit it and
@@ -80,19 +83,14 @@ approved. Creating a profile and
80
83
  succeeding at a first generation are not activation. Canonical native activation
81
84
  occurs only after accepted or corrected-and-accepted feedback.
82
85
 
83
- ## Credits and retries
86
+ ## Words and retries
84
87
 
85
- Generation is free during beta, and completed drafts and rewrites no longer carry a credit
86
- state. The account's balance and access are shown at idiolect.app/settings. Future credits-mode
87
- states cover available, low, zero, unlimited, and temporarily unavailable balances without
88
- changing the tool names.
88
+ Each account has a monthly word allowance from its plan, plus any extra words it has bought.
89
+ Usage and the plan are shown at idiolect.app/settings/plan.
89
90
 
90
- A known zero balance returns a structured `purchase_required` tool error with the
91
- stable first-party credit-management path. An accounting outage returns
92
- `accounting_unavailable` without a purchase suggestion. Both denials happen before
93
- generation or charging, so their retry object is explicitly scoped to
94
- `pre_generation`. Successful generation does not yet promise replay after a lost
95
- response, and paid enforcement remains disabled.
91
+ When an account has no words left, the drafting and rewriting tools return a tool error
92
+ before any generation starts. The error text says how many words were used, when the
93
+ allowance resets, and where to see the plan. Nothing is charged for a refused call.
96
94
 
97
95
  Internal generation coordination happens before provider work. A stale internal
98
96
  state is refreshed before the client receives one public retry action. If durable
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "idiolect-mcp",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "mcpName": "app.idiolect/idiolect-ai",
5
5
  "type": "module",
6
6
  "bin": {