bsv-mcp 0.5.0 → 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/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # BSV MCP Server Changelog
2
2
 
3
+ ## [0.6.0] - 2026-09-09
4
+
5
+ ### Changed
6
+
7
+ - Consolidate social tools into `bsocial_read` and `bsocial_publish` in both tool
8
+ profiles. Replace `bsocial_readPosts`, `bsocial_createPost`, `bmap_readPosts`,
9
+ `bmap_readLikes`, `bmap_readFollows`, and `bap_friend`; clients must refresh tools.
10
+ - Add canonical social actions, replies, reactions, relationships, messages,
11
+ media, tags, and unsigned previews with one shared schema and signing path.
12
+ - Document action-specific inputs and BMAP backend configuration. Messages are
13
+ public records; publishing does not encrypt them.
14
+
15
+ ### Fixed
16
+
17
+ - Use social API routes and retain structured indexer records without claiming
18
+ independent signature verification or derived relationship state.
19
+ - Sign legacy social records with an explicit identity key, fund with the payment
20
+ key, estimate unsigned transaction fees, and report broadcast failures.
21
+
22
+ ## [0.5.1] - 2026-09-08
23
+
24
+ ### Changed
25
+
26
+ - Start local stdio when no transport is specified, with early stdout guards in
27
+ both source and bundled entry points. Explicit `TRANSPORT=http` retains the
28
+ existing HTTP server; the deployed hosted endpoint and OAuth routes are unchanged.
29
+ - Run the Codex plugin through the local npm executable instead of hosted MCP.
30
+ The executable requires Bun; the npx installer also requires Node.js.
31
+ - Direct homepage tool links to a generated reference with 106 full tools and six
32
+ compact families, category navigation, search, individual URLs and Markdown.
33
+ - Generate tool schemas and registration availability across isolated wallet
34
+ configurations, preserving schema variants and conditional payment tools.
35
+ - Separate task examples from the tool reference and document wallet and backend
36
+ settings in tables. Local installation needs no account sign-in.
37
+
38
+ ### Fixed
39
+
40
+ - Reject invalid transport values before wallet initialization.
41
+ - Honor reduced-motion preferences while scrolling between homepage sections.
42
+
3
43
  ## [0.5.0] - 2026-09-08
4
44
 
5
45
  ### Added
package/README.md CHANGED
@@ -2,109 +2,73 @@
2
2
 
3
3
  BSV MCP connects your AI assistant to Bitcoin SV. Ask it to check a transaction, show your balance, send a payment, or create and trade ordinals (content recorded on the blockchain).
4
4
 
5
- [Documentation](https://bsvmcp.com/docs) · [Connect hosted](https://bsvmcp.com/connect) · [npm](https://www.npmjs.com/package/bsv-mcp) · [Issues](https://github.com/b-open-io/bsv-mcp/issues)
5
+ [Documentation](https://bsvmcp.com/docs) · [All tools](https://bsvmcp.com/docs/tools) · [npm](https://www.npmjs.com/package/bsv-mcp) · [Issues](https://github.com/b-open-io/bsv-mcp/issues)
6
6
 
7
- ## Install in ChatGPT desktop or Codex
7
+ ## Install
8
8
 
9
- In Plugins, choose **Add marketplace** and enter `b-open-io/claude-plugins`.
10
- Leave Git ref and Sparse paths blank. Select **BSV MCP** in the bOpen marketplace
11
- and install it. Authenticate through Sigma Identity when prompted, then start a
12
- new chat and ask: “Run bsv_status and explain which services are available.”
13
-
14
- The plugin uses hosted MCP, so you do not need Bun or a local wallet. Signing in
15
- does not authorize spending or connect a wallet on your computer. For wallet
16
- operations, use the local setup below. If you already have a manual BSV MCP
17
- connection, choose which connection to use to avoid duplicate tools.
18
-
19
- ## Quick start
20
-
21
- Install [Bun](https://bun.sh), clone this repository, and build the local
22
- server. The local wallet registrations below use the source checkout's launcher;
23
- `scripts/local-mcp-launcher.ts` is not included in the npm package.
9
+ Install [Bun](https://bun.sh) to run the server and Node.js for the `npx` commands below, then add it to your client:
24
10
 
25
11
  ```sh
26
- git clone https://github.com/b-open-io/bsv-mcp.git
27
- cd bsv-mcp
28
- bun install
29
- bun run build
30
- ```
31
-
32
- For legacy embedded mode, create an encrypted account in a local terminal. The
33
- source-checkout launcher can open it after creation:
12
+ # Codex
13
+ codex mcp add bsv-mcp -- npx -y bsv-mcp@latest --stdio
34
14
 
35
- ```sh
36
- bun run index.ts init --account default
15
+ # Claude Code
16
+ claude mcp add --transport stdio bsv-mcp -- npx -y bsv-mcp@latest --stdio
37
17
  ```
38
18
 
39
- For a new local Vault, or to import an existing wallet through the private
40
- browser setup, register the built server directly:
41
-
42
- ```sh
43
- # Codex: local Vault setup and unlock
44
- codex mcp add bsv-mcp-vault \
45
- -- bun --no-env-file /absolute/path/to/bsv-mcp/dist/index.js --stdio
19
+ Choose one command. For Cursor or Claude Desktop, use this server configuration:
20
+
21
+ ```json
22
+ {
23
+ "mcpServers": {
24
+ "bsv-mcp": {
25
+ "command": "npx",
26
+ "args": ["-y", "bsv-mcp@latest", "--stdio"]
27
+ }
28
+ }
29
+ }
46
30
  ```
47
31
 
48
- If the server reports that wallet setup is needed, ask your agent to run
49
- `wallet_onboarding`, then create, import, or unlock the wallet in the browser.
50
-
51
- Choose one explicit local wallet mode when registering the server:
52
-
53
- ```sh
54
- # Codex: existing BRC-100 signer
55
- codex mcp add bsv-mcp-external \
56
- --env BRC100_WALLET_URL=https://signer.example/rpc \
57
- --env BRC100_WALLET_ORIGINATOR=bsv-mcp.local \
58
- -- bun --no-env-file /absolute/path/to/bsv-mcp/scripts/local-mcp-launcher.ts external
59
-
60
- # Codex: existing encrypted local account (legacy account path)
61
- codex mcp add bsv-mcp-embedded \
62
- --env BSV_MCP_ACCOUNT=default \
63
- -- bun --no-env-file /absolute/path/to/bsv-mcp/scripts/local-mcp-launcher.ts embedded
64
-
65
- # Codex: project-bound Vault roles
66
- codex mcp add bsv-mcp-project \
67
- -- bun --no-env-file /absolute/path/to/bsv-mcp/scripts/local-mcp-launcher.ts project \
68
- --project-root /absolute/path/to/project --project-id project.example
32
+ Restart your client, then ask: **“Run bsv_status and explain what is available.”**
33
+ Local stdio needs no Sigma account or OAuth sign-in. It is also the default when
34
+ no transport is specified. Existing self-hosted HTTP remains opt-in through
35
+ `TRANSPORT=http`; the deployed hosted endpoint is unchanged.
36
+
37
+ For the Codex desktop plugin, add `b-open-io/claude-plugins` in the plugin
38
+ marketplace and install **BSV MCP**. The plugin starts the local npm executable
39
+ and requires Node.js and Bun. Claude Code and Grok plugins bundle the local server and
40
+ require Bun. Choose one registration to avoid duplicate tools.
41
+
42
+ ## Connect a wallet
43
+
44
+ Ask your assistant to run `wallet_onboarding`. Create, import or unlock a Vault
45
+ in the local browser. Back it up before funding. Enter passwords only in the
46
+ local setup UI, never in chat. After a server restart, unlock it again.
47
+
48
+ To use an existing BRC-100 wallet, configure its signing API instead:
49
+
50
+ ```json
51
+ {
52
+ "mcpServers": {
53
+ "bsv-mcp": {
54
+ "command": "npx",
55
+ "args": ["-y", "bsv-mcp@latest", "--stdio"],
56
+ "env": {
57
+ "BRC100_WALLET_URL": "http://127.0.0.1:3321",
58
+ "BRC100_WALLET_ORIGINATOR": "bsv-mcp.local"
59
+ }
60
+ }
61
+ }
62
+ }
69
63
  ```
70
64
 
71
- Claude Code uses the same launcher and can register either mode with
72
- `claude mcp add --transport stdio`, for example:
73
-
74
- ```sh
75
- claude mcp add --transport stdio bsv-mcp-external \
76
- --env BRC100_WALLET_URL=https://signer.example/rpc \
77
- --env BRC100_WALLET_ORIGINATOR=bsv-mcp.local \
78
- -- bun --no-env-file /absolute/path/to/bsv-mcp/scripts/local-mcp-launcher.ts external
79
- ```
65
+ The wallet keeps its keys and controls permission requests. Its signing API is
66
+ separate from a wallet-storage endpoint. See [wallet setup](https://bsvmcp.com/docs#wallets)
67
+ for network settings, account selection and project roles.
80
68
 
81
- Set `BSV_MCP_PASSWORD` in the MCP host's runtime environment for the launcher's
82
- existing-account embedded mode and for project mode. The direct Vault setup
83
- registration above collects its password in the local browser instead.
84
- Do not put that password in the registration command or saved MCP configuration.
85
- The launcher passes it to the child only at runtime, never through argv or its
86
- diagnostics. `BRC100_WALLET_URL` and `BRC100_WALLET_ORIGINATOR` are read at
87
- runtime for external mode. Claude Code uses the same launcher command with
88
- `claude mcp add --transport stdio` and its `--env` options for non-secret values.
89
-
90
- The launcher starts the checked-out `dist/index.js` with `--no-env-file`, an
91
- explicit mode, and a working directory outside the checkout. Its embedded mode
92
- requires an existing encrypted account; it does not create or migrate one. Use
93
- the direct server registration above when the browser setup must create or
94
- import a local Vault wallet.
95
-
96
- Or install the Claude Code plugin from the b-open-io marketplace for hosted MCP:
97
-
98
- ```sh
99
- claude plugin install bsv-mcp@b-open-io
100
- ```
101
-
102
- For another local client, register the same launcher command for external or
103
- legacy embedded mode, or register `bun --no-env-file .../dist/index.js --stdio`
104
- for browser-based Vault setup. For hosted access, connect to
105
- **https://bsvmcp.com**. See [client setup](https://bsvmcp.com/#install).
106
-
107
- Ask your agent: **“Run bsv_status, then show my wallet balance.”**
69
+ The package also includes the Bun-based `bsv-mcp-local` launcher for explicit external,
70
+ legacy embedded and project configurations. Source-checkout examples live in
71
+ [the installation guide](docs/install-verification.md).
108
72
 
109
73
  ## MCP protocol compatibility
110
74
 
@@ -131,15 +95,14 @@ const client = new Client(
131
95
  ```
132
96
 
133
97
  Register a real human approval handler before using approval-dependent tools.
134
- Older installed Codex clients may require the explicit compatibility setting;
135
- this does not constitute modern client acceptance.
98
+ Legacy protocol compatibility is enabled by default; the connected client must support the approval flow needed by the requested tool.
136
99
 
137
100
  The full tool catalog remains the default and is capability-derived: wallet
138
101
  mode, enabled modules, account context, and the selected profile determine what
139
102
  `tools/list` returns. The checked-in manifest is a synthetic baseline for one
140
103
  configured server, not a promise of a fixed default count. Set
141
104
  `MCP_TOOL_CATALOG=compact` only to opt into bounded read families; compact mode
142
- is a staged capability pending release validation. Tool availability still
105
+ uses the same underlying handlers. Tool availability still
143
106
  depends on wallet mode and enabled modules. Its baseline read families are
144
107
  `bsv_read`, `ordinals_read`, `wallet_read`, and `utility`, each with a bounded
145
108
  operation enum; unknown operations are rejected. Eligible sessions also expose
@@ -148,6 +111,21 @@ protocol support guide](docs/mcp-client-protocol-support.md) for the per-family
148
111
  operation bounds, endpoint contracts, MCP Apps compatibility, and validation
149
112
  status.
150
113
 
114
+ ## Social
115
+
116
+ Two tools cover social operations in both full and compact catalogs:
117
+
118
+ - `bsocial_read`: posts, replies, search, likes, friends, channels, messages, videos, and raw action history.
119
+ - `bsocial_publish`: posts/replies, reposts, likes/unlikes, follows/unfollows, friend/unfriend records, messages, and video records. Tags and attachments use separate, independently signed outputs.
120
+
121
+ ```json
122
+ {"action":{"type":"post","content":"Hello Bitcoin","tags":["bitcoin"]},"preview":true}
123
+ ```
124
+
125
+ Preview returns unsigned outputs without using keys or spending. Remove `preview` to publish through the selected identity wallet's existing permissions. Messages are public unless their content was encrypted beforehand; a recipient context does not encrypt them. Friend records advertise a communication public key from an established key-agreement workflow.
126
+
127
+ See the [social guide](https://bsvmcp.com/docs#social) for examples and migration from the old tool names. `PUBLIC_BMAP_URL` is the indexer server root (with `/social` and `/q` routes), not a wallet or identity API. Raw follow/unfollow records are event history, not a claim about current relationship state.
128
+
151
129
  ## Local wallet modes
152
130
 
153
131
  External mode connects to an existing BRC-100 signer. The signer keeps the
@@ -187,8 +165,7 @@ It defaults to disabled broadcasting; set `DISABLE_BROADCASTING=false` in its
187
165
  runtime environment to enable transaction tools with the signer's approval.
188
166
 
189
167
  Each mode has its own process environment and should be registered as a separate
190
- server when you need to switch between them. The hosted plugin is a third path:
191
- it does not read a wallet on your computer.
168
+ server when you need to switch between them. Use only the registrations needed by the project.
192
169
 
193
170
  Embedded wallets can list pending PeerPay payments and receive a selected
194
171
  payment with `wallet_peerPayments`. Receiving requires a message ID and
@@ -228,7 +205,7 @@ modules.
228
205
 
229
206
  - [Wallet setup](https://bsvmcp.com/docs#wallets)
230
207
  - [Backend configuration](https://bsvmcp.com/docs#backends)
231
- - [Tools and workflows](https://bsvmcp.com/docs#tools)
208
+ - [Tools and workflows](https://bsvmcp.com/docs/tools)
232
209
  - [Paid service requests](https://bsvmcp.com/docs#x402)
233
210
  - [Sponsorship](https://bsvmcp.com/docs#sponsorship) and [agent delegation](https://bsvmcp.com/docs#delegation)
234
211
  - [Troubleshooting and development](https://bsvmcp.com/docs#troubleshooting)
@@ -249,7 +226,7 @@ Experimental software; APIs may change. Keep a wallet backup. If a transaction r
249
226
  ## Preparing a release package
250
227
 
251
228
  Run `bun run pack:release /tmp` to build and create the release tarball. Install
252
- or publish that tarball, for example `bun publish /tmp/bsv-mcp-0.5.0.tgz`,
229
+ or publish that tarball, for example `bun publish /tmp/bsv-mcp-0.5.1.tgz`,
253
230
  after completing the release checks and selecting the release version.
254
231
  Do not publish directly from the checkout: its manifest contains Bun patches
255
232
  needed to build the wallet fixes, which fail to resolve in consumer projects.