idiolect-mcp 0.4.0 → 0.5.1

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
@@ -7,7 +7,8 @@ write in **your** voice, using your [Idiolect AI](https://idiolect.app) Voice Ca
7
7
 
8
8
  ### Account mode
9
9
 
10
- For account-resolved voice and Pro rewrite/draft tools, set `IDIOLECT_API_KEY`:
10
+ For account-resolved Writing Profile creation, loading, scoring, rewrite, and draft tools,
11
+ set `IDIOLECT_API_KEY`:
11
12
 
12
13
  ```json
13
14
  {
@@ -39,15 +40,64 @@ For account-resolved voice and Pro rewrite/draft tools, set `IDIOLECT_API_KEY`:
39
40
  }
40
41
  ```
41
42
 
42
- ## Tool
43
+ ## Tools
43
44
 
44
- - **`get_my_voice`** — returns your Voice Card. The model calls it before writing
45
- on your behalf, then writes as you. Pass `slug` per-call or set `IDIOLECT_SLUG`.
46
- - **`score_voice`** — scores text against your voice. In account mode this uses
47
- your API key; in slug mode it uses your local writing samples.
48
- - **`rewrite_in_voice`** — account mode only. Rewrites drafted prose in your
49
- actual voice.
50
- - **`draft_in_voice`** — account mode only. Drafts from a brief in your voice.
45
+ Remote OAuth and account-mode stdio advertise the same user-facing tools.
46
+ Setup state, evidence approval, retries, and idempotency stay inside the server;
47
+ clients receive one `next` action and never coordinate workflow versions or locks.
48
+
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.
51
+ - **`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
65
+ legacy local-samples catalogue; locally configured samples are used only for stateless scoring
66
+ and are not stored.
67
+
68
+ 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.
70
+ Feedback can be accepted, corrected-and-accepted, or rejected only against a
71
+ succeeded server-issued output.
72
+ Correction prose is retained only when the applicable consent gates permit it and
73
+ within its existing expiry rule. An explicitly approved correction can be added as
74
+ private V2 evidence; it never changes the current Writing Profile or silently activates
75
+ V2. A stored Writing Profile is never described as provisional.
76
+
77
+ The setup response includes neither an activation token nor a capability/setup URL.
78
+ `create_writing_profile` runs only after explicit permission from evidence you supplied or
79
+ approved. Creating a profile and
80
+ succeeding at a first generation are not activation. Canonical native activation
81
+ occurs only after accepted or corrected-and-accepted feedback.
82
+
83
+ ## Credits and retries
84
+
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.
89
+
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.
96
+
97
+ Internal generation coordination happens before provider work. A stale internal
98
+ state is refreshed before the client receives one public retry action. If durable
99
+ completion cannot be confirmed, prose is suppressed and the response uses plain
100
+ language without exposing coordination receipts.
51
101
 
52
102
  Set `IDIOLECT_BASE` to point at a self-hosted instance (defaults to
53
103
  `https://idiolect.app`).
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "idiolect-mcp",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "mcpName": "app.idiolect/idiolect-ai",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "idiolect-mcp": "server.mjs"
8
8
  },
9
- "description": "MCP server that gives any MCP-compatible AI (Claude, etc.) your Idiolect AI voice — make AI write as you. https://idiolect.app",
9
+ "description": "MCP server that gives any MCP-compatible AI (Claude, etc.) your Idiolect AI voice \u2014 make AI write as you. https://idiolect.app",
10
10
  "keywords": [
11
11
  "mcp",
12
12
  "model-context-protocol",
@@ -19,12 +19,13 @@
19
19
  "homepage": "https://idiolect.app",
20
20
  "repository": {
21
21
  "type": "git",
22
- "url": "https://github.com/111mihir/idiolect.git",
23
- "directory": "mcp"
22
+ "url": "https://github.com/Moshpit-Labs/idiolect-mcp.git"
24
23
  },
25
24
  "license": "MIT",
26
25
  "files": [
27
26
  "server.mjs",
27
+ "public-contract.js",
28
+ "progressive-catalog.json",
28
29
  "README.md"
29
30
  ],
30
31
  "engines": {