@one-source/mcp 2.6.0 → 3.1.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
@@ -106,9 +106,49 @@ All blockchain API tools accept an optional `network` parameter:
106
106
 
107
107
  ## Payment (x402)
108
108
 
109
- Blockchain API endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When the backend has payments enabled, tool calls return a 402 with payment details. Agents using [`@x402/fetch`](https://www.npmjs.com/package/@x402/fetch) handle this automatically.
109
+ Blockchain API endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When you set `X402_PRIVATE_KEY`, the server automatically handles payments tool calls that return HTTP 402 are paid and retried without any extra work from the agent.
110
110
 
111
- Documentation tools are always free — no API key or authentication needed.
111
+ Documentation tools are always free — no key or payment needed.
112
+
113
+ ### Setup
114
+
115
+ 1. **Get an EVM private key** — export one from MetaMask, Coinbase Wallet, or any EVM wallet. The key is a hex string starting with `0x`.
116
+ 2. **Fund the wallet with USDC on Base** — the wallet address derived from the key must hold USDC on the [Base](https://base.org) network. Bridge or transfer USDC to it.
117
+ 3. **Pass the key to the server** using one of the methods below.
118
+
119
+ ### Claude Code
120
+
121
+ ```bash
122
+ claude mcp add onesource -e X402_PRIVATE_KEY=0x... -- npx @one-source/mcp
123
+ ```
124
+
125
+ ### Claude Desktop / Cursor
126
+
127
+ Add the `env` block to your MCP config:
128
+
129
+ ```json
130
+ {
131
+ "mcpServers": {
132
+ "onesource": {
133
+ "command": "npx",
134
+ "args": ["-y", "@one-source/mcp"],
135
+ "env": {
136
+ "X402_PRIVATE_KEY": "0x..."
137
+ }
138
+ }
139
+ }
140
+ }
141
+ ```
142
+
143
+ ### Any MCP Client (stdio)
144
+
145
+ ```bash
146
+ X402_PRIVATE_KEY=0x... npx @one-source/mcp
147
+ ```
148
+
149
+ ### Security
150
+
151
+ Never commit your private key to source control. Use environment variables, a `.env` file (excluded from git), or a secrets manager.
112
152
 
113
153
  ## License
114
154
 
package/README.npm.md CHANGED
@@ -106,9 +106,49 @@ All blockchain API tools accept an optional `network` parameter:
106
106
 
107
107
  ## Payment (x402)
108
108
 
109
- Blockchain API endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When the backend has payments enabled, tool calls return a 402 with payment details. Agents using [`@x402/fetch`](https://www.npmjs.com/package/@x402/fetch) handle this automatically.
109
+ Blockchain API endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When you set `X402_PRIVATE_KEY`, the server automatically handles payments tool calls that return HTTP 402 are paid and retried without any extra work from the agent.
110
110
 
111
- Documentation tools are always free — no API key or authentication needed.
111
+ Documentation tools are always free — no key or payment needed.
112
+
113
+ ### Setup
114
+
115
+ 1. **Get an EVM private key** — export one from MetaMask, Coinbase Wallet, or any EVM wallet. The key is a hex string starting with `0x`.
116
+ 2. **Fund the wallet with USDC on Base** — the wallet address derived from the key must hold USDC on the [Base](https://base.org) network. Bridge or transfer USDC to it.
117
+ 3. **Pass the key to the server** using one of the methods below.
118
+
119
+ ### Claude Code
120
+
121
+ ```bash
122
+ claude mcp add onesource -e X402_PRIVATE_KEY=0x... -- npx @one-source/mcp
123
+ ```
124
+
125
+ ### Claude Desktop / Cursor
126
+
127
+ Add the `env` block to your MCP config:
128
+
129
+ ```json
130
+ {
131
+ "mcpServers": {
132
+ "onesource": {
133
+ "command": "npx",
134
+ "args": ["-y", "@one-source/mcp"],
135
+ "env": {
136
+ "X402_PRIVATE_KEY": "0x..."
137
+ }
138
+ }
139
+ }
140
+ }
141
+ ```
142
+
143
+ ### Any MCP Client (stdio)
144
+
145
+ ```bash
146
+ X402_PRIVATE_KEY=0x... npx @one-source/mcp
147
+ ```
148
+
149
+ ### Security
150
+
151
+ Never commit your private key to source control. Use environment variables, a `.env` file (excluded from git), or a secrets manager.
112
152
 
113
153
  ## License
114
154
 
package/README.repo.md CHANGED
@@ -1,255 +1,295 @@
1
- # @one-source/mcp
2
-
3
- Unified MCP server for [OneSource](https://docs.onesource.io) — 31 tools for blockchain data, live chain queries, and API documentation in a single server.
4
-
5
- Combines [`@one-source/api-mcp`](https://www.npmjs.com/package/@one-source/api-mcp) (22 tools) and [`@one-source/docs-mcp`](https://www.npmjs.com/package/@one-source/docs-mcp) (9 tools) so your AI assistant gets full access to OneSource with one MCP connection.
6
-
7
- > **What is MCP?** The [Model Context Protocol](https://modelcontextprotocol.io) lets AI assistants call tools and access data sources. This server exposes both the OneSource blockchain API and its documentation as tools.
8
-
9
- ## Quick Start
10
-
11
- ### Claude Code
12
-
13
- ```bash
14
- claude mcp add onesource -- npx @one-source/mcp
15
- ```
16
-
17
- ### Claude Desktop / Cursor
18
-
19
- Add to your MCP config:
20
-
21
- ```json
22
- {
23
- "mcpServers": {
24
- "onesource": {
25
- "command": "npx",
26
- "args": ["-y", "@one-source/mcp"]
27
- }
28
- }
29
- }
30
- ```
31
-
32
- ### Any MCP Client (stdio)
33
-
34
- ```bash
35
- npx @one-source/mcp
36
- ```
37
-
38
- ### HTTP Server (self-hosted)
39
-
40
- ```bash
41
- npx @one-source/mcp --http
42
- npx @one-source/mcp --http --port=8080
43
- ```
44
-
45
- Then connect your MCP client to `http://localhost:3000/`.
46
-
47
- Health check: `GET http://localhost:3000/health`
48
-
49
- ## Tools (31)
50
-
51
- ### Blockchain API — Live Chain (12 tools)
52
-
53
- | Tool | Description |
54
- |------|-------------|
55
- | `1s_allowance_live` | ERC20 allowance check |
56
- | `1s_contract_info_live` | Contract type detection via ERC165 |
57
- | `1s_erc1155_balance_live` | ERC1155 balance via RPC |
58
- | `1s_erc20_balance_live` | ERC20 balance via balanceOf |
59
- | `1s_erc20_transfers_live` | ERC20 Transfer logs via eth_getLogs |
60
- | `1s_erc721_tokens_live` | ERC721 token enumeration |
61
- | `1s_events_live` | Event logs via eth_getLogs |
62
- | `1s_multi_balance_live` | ETH + multiple ERC20 balances |
63
- | `1s_nft_metadata_live` | NFT metadata via tokenURI |
64
- | `1s_nft_owner_live` | NFT owner via ownerOf |
65
- | `1s_total_supply_live` | Token total supply |
66
- | `1s_tx_details_live` | Transaction + receipt via RPC |
67
-
68
- ### Blockchain API — Chain Utilities (10 tools)
69
-
70
- RPC only.
71
-
72
- | Tool | Description |
73
- |------|-------------|
74
- | `1s_contract_code` | Contract bytecode |
75
- | `1s_ens_resolve` | ENS name/address resolution |
76
- | `1s_estimate_gas` | Gas estimation |
77
- | `1s_network_info` | Chain ID, block number, gas price |
78
- | `1s_nonce` | Transaction count |
79
- | `1s_pending_block` | Pending block from mempool |
80
- | `1s_proxy_detect` | Proxy contract detection |
81
- | `1s_simulate_call` | Simulate eth_call |
82
- | `1s_storage_read` | Read storage slot |
83
- | `1s_tx_receipt` | Transaction receipt |
84
-
85
- ### Documentation (9 tools)
86
-
87
- Read-only, no API key required.
88
-
89
- | Tool | Purpose | When to use |
90
- |------|---------|-------------|
91
- | `search_docs` | Keyword search across all documentation | Finding guides, concepts, or API patterns |
92
- | `get_query_reference` | Full reference for a root GraphQL query | Building a specific query with correct args/filters |
93
- | `get_type_definition` | Schema definition for any type/enum/input | Understanding field shapes and return types |
94
- | `list_examples` | Browse or search working GraphQL examples | Finding ready-to-use query patterns |
95
- | `list_supported_chains` | All supported blockchain networks + endpoints | First question: "What chains are supported?" |
96
- | `get_filter_reference` | Filter fields and operators for a list query | Building filtered queries with correct syntax |
97
- | `get_pagination_guide` | Cursor-based pagination pattern with examples | Implementing pagination for list queries |
98
- | `get_schema_overview` | High-level summary of the entire schema | Exploring the API surface before diving in |
99
- | `get_authentication_guide` | API key format, headers, and endpoints | Setting up authentication for the first time |
100
-
101
- ## Networks
102
-
103
- All blockchain API tools accept an optional `network` parameter:
104
-
105
- | Network | Description |
106
- |---------|-------------|
107
- | `ethereum` | Ethereum mainnet (default) |
108
- | `sepolia` | Ethereum Sepolia testnet |
109
- | `avax` | Avalanche C-Chain |
110
-
111
- ## Payment (x402)
112
-
113
- Blockchain API endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When the backend has payments enabled, tool calls return a 402 with payment details. Agents using [`@x402/fetch`](https://www.npmjs.com/package/@x402/fetch) handle this automatically.
114
-
115
- Documentation tools are always free — no API key or authentication needed.
116
-
117
- ## Environment Variables
118
-
119
- | Variable | Default | Description |
120
- |----------|---------|-------------|
121
- | `ONESOURCE_BASE_URL` | `https://skills.onesource.io` | API base URL |
122
- | `ONESOURCE_ANALYTICS` | — | Set to `false` to disable analytics |
123
- | `ONESOURCE_ANALYTICS_URL` | — | Dashboard endpoint for analytics |
124
- | `X402_ANALYTICS_KEY` | — | API key for dashboard analytics |
125
- | `X402_PRIVATE_KEY` | — | EVM private key (hex, 0x-prefixed) for automatic x402 USDC payments on Base |
126
-
127
- ## Troubleshooting
128
-
129
- **`npx` hangs with no output**
130
- That's normal — stdio mode waits for JSON-RPC input on stdin. Use `--http` if you want an HTTP server you can curl.
131
-
132
- **Port already in use**
133
- Specify a different port: `npx @one-source/mcp --http --port=8080`
134
-
135
- **Tools return "Data files may be missing"**
136
- Try reinstalling: `npm install @one-source/mcp`
137
-
138
- **"Type not found" even though it exists**
139
- Type names are case-insensitive but must match the GraphQL name (e.g. `Transaction`, not `transaction_type`). The tool will suggest close matches.
140
-
141
- ## Registry Publishing
142
-
143
- This package is listed on the [official MCP Registry](https://registry.modelcontextprotocol.io) under the verified namespace `io.onesource/mcp` and on [Glama](https://glama.ai/mcp/servers). When releasing a new version, update both registries.
144
-
145
- ### MCP Registry
146
-
147
- #### First-Time Setup
148
-
149
- ##### 1. Install Go
150
-
151
- Download the installer for your platform from [go.dev/dl](https://go.dev/dl/) and run it. Verify:
152
-
153
- ```bash
154
- go version
155
- ```
156
-
157
- ##### 2. Install mcp-publisher
158
-
159
- ```bash
160
- go install github.com/modelcontextprotocol/registry/cmd/mcp-publisher@latest
161
- ```
162
-
163
- If the Go module path has changed and the command fails, download the binary directly from the [mcp-publisher GitHub releases](https://github.com/modelcontextprotocol/registry/releases) page instead.
164
-
165
- On Windows, add Go's bin directory to your PATH if the command isn't recognized:
166
-
167
- ```powershell
168
- $env:PATH += ";$env:USERPROFILE\go\bin"
169
- ```
170
-
171
- Verify:
172
-
173
- ```bash
174
- mcp-publisher --help
175
- ```
176
-
177
- ##### 3. DNS Authentication (already done)
178
-
179
- The `onesource.io` domain has a DNS TXT record that proves ownership of the `io.onesource` namespace. This is already configured you don't need to redo it.
180
-
181
- The record is on the root domain (`onesource.io`, not `_mcp-registry.onesource.io`):
182
-
183
- ```
184
- v=MCPv1; k=ed25519; p=7D3U5rufgNXb/lH2MthTRZdDzEGeE7/Jvg8YkiArQc8=
185
- ```
186
-
187
- You can verify it resolves:
188
-
189
- ```bash
190
- nslookup -type=TXT onesource.io 8.8.8.8
191
- ```
192
-
193
- ##### 4. Get the Private Key
194
-
195
- Authentication requires the ed25519 private key in **hex format** that corresponds to the public key in the DNS record. Ask the team lead for this key — it's stored in the team's password manager / vault.
196
-
197
- If you need to regenerate the keypair (this invalidates the current DNS record and requires updating it):
198
-
199
- 1. Generate a new ed25519 keypair (e.g., `openssl genpkey -algorithm Ed25519 -out key.pem`)
200
- 2. Extract the raw 32-byte private key seed and convert to hex:
201
- ```bash
202
- openssl pkey -in key.pem -outform DER | tail -c 32 | xxd -p -c 32
203
- ```
204
- 3. Extract the public key in base64 for the DNS TXT record:
205
- ```bash
206
- openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64
207
- ```
208
- 4. Update the DNS TXT record on `onesource.io` with the new public key:
209
- ```
210
- v=MCPv1; k=ed25519; p=<base64-public-key>
211
- ```
212
- 5. Wait for DNS propagation before attempting to log in.
213
-
214
- #### Publishing a New Version
215
-
216
- Every time you release a new npm version, update the MCP Registry:
217
-
218
- 1. **Publish to npm** (the registry validates the package exists, so this must happen first):
219
- ```bash
220
- npm run build
221
- npm publish --access public
222
- ```
223
-
224
- 2. **Update `server.json`** — set both `version` fields to match the new npm version:
225
- ```json
226
- {
227
- "version": "x.y.z",
228
- ...
229
- "packages": [{ "version": "x.y.z", ... }]
230
- }
231
- ```
232
- The `mcpName` field in `package.json` must be `"io.onesource/mcp"` and must match the `name` field in `server.json`. This is already set — don't remove it.
233
-
234
- 3. **Authenticate** (tokens expire, so do this each time):
235
- ```bash
236
- mcp-publisher login dns --domain onesource.io --private-key <ed25519-hex-private-key>
237
- ```
238
-
239
- 4. **Publish to the registry:**
240
- ```bash
241
- mcp-publisher publish
242
- ```
243
-
244
- 5. **Verify:**
245
- ```bash
246
- curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=onesource"
247
- ```
248
-
249
- ### Glama
250
-
251
- Glama auto-syncs from the GitHub repo daily. No manual steps needed after a release — just make sure changes are pushed to `main`. The `glama.json` file in the repo root controls ownership. Manual re-sync is available from the [Glama admin panel](https://glama.ai/mcp/servers) after claiming the server.
252
-
253
- ## License
254
-
255
- Apache 2.0 — see [LICENSE](LICENSE) for details.
1
+ # @one-source/mcp
2
+
3
+ Unified MCP server for [OneSource](https://docs.onesource.io) — 31 tools for blockchain data, live chain queries, and API documentation in a single server.
4
+
5
+ Combines [`@one-source/api-mcp`](https://www.npmjs.com/package/@one-source/api-mcp) (22 tools) and [`@one-source/docs-mcp`](https://www.npmjs.com/package/@one-source/docs-mcp) (9 tools) so your AI assistant gets full access to OneSource with one MCP connection.
6
+
7
+ > **What is MCP?** The [Model Context Protocol](https://modelcontextprotocol.io) lets AI assistants call tools and access data sources. This server exposes both the OneSource blockchain API and its documentation as tools.
8
+
9
+ ## Quick Start
10
+
11
+ ### Claude Code
12
+
13
+ ```bash
14
+ claude mcp add onesource -- npx @one-source/mcp
15
+ ```
16
+
17
+ ### Claude Desktop / Cursor
18
+
19
+ Add to your MCP config:
20
+
21
+ ```json
22
+ {
23
+ "mcpServers": {
24
+ "onesource": {
25
+ "command": "npx",
26
+ "args": ["-y", "@one-source/mcp"]
27
+ }
28
+ }
29
+ }
30
+ ```
31
+
32
+ ### Any MCP Client (stdio)
33
+
34
+ ```bash
35
+ npx @one-source/mcp
36
+ ```
37
+
38
+ ### HTTP Server (self-hosted)
39
+
40
+ ```bash
41
+ npx @one-source/mcp --http
42
+ npx @one-source/mcp --http --port=8080
43
+ ```
44
+
45
+ Then connect your MCP client to `http://localhost:3000/`.
46
+
47
+ Health check: `GET http://localhost:3000/health`
48
+
49
+ ## Tools (31)
50
+
51
+ ### Blockchain API — Live Chain (12 tools)
52
+
53
+ | Tool | Description |
54
+ |------|-------------|
55
+ | `1s_allowance_live` | ERC20 allowance check |
56
+ | `1s_contract_info_live` | Contract type detection via ERC165 |
57
+ | `1s_erc1155_balance_live` | ERC1155 balance via RPC |
58
+ | `1s_erc20_balance_live` | ERC20 balance via balanceOf |
59
+ | `1s_erc20_transfers_live` | ERC20 Transfer logs via eth_getLogs |
60
+ | `1s_erc721_tokens_live` | ERC721 token enumeration |
61
+ | `1s_events_live` | Event logs via eth_getLogs |
62
+ | `1s_multi_balance_live` | ETH + multiple ERC20 balances |
63
+ | `1s_nft_metadata_live` | NFT metadata via tokenURI |
64
+ | `1s_nft_owner_live` | NFT owner via ownerOf |
65
+ | `1s_total_supply_live` | Token total supply |
66
+ | `1s_tx_details_live` | Transaction + receipt via RPC |
67
+
68
+ ### Blockchain API — Chain Utilities (10 tools)
69
+
70
+ RPC only.
71
+
72
+ | Tool | Description |
73
+ |------|-------------|
74
+ | `1s_contract_code` | Contract bytecode |
75
+ | `1s_ens_resolve` | ENS name/address resolution |
76
+ | `1s_estimate_gas` | Gas estimation |
77
+ | `1s_network_info` | Chain ID, block number, gas price |
78
+ | `1s_nonce` | Transaction count |
79
+ | `1s_pending_block` | Pending block from mempool |
80
+ | `1s_proxy_detect` | Proxy contract detection |
81
+ | `1s_simulate_call` | Simulate eth_call |
82
+ | `1s_storage_read` | Read storage slot |
83
+ | `1s_tx_receipt` | Transaction receipt |
84
+
85
+ ### Documentation (9 tools)
86
+
87
+ Read-only, no API key required.
88
+
89
+ | Tool | Purpose | When to use |
90
+ |------|---------|-------------|
91
+ | `search_docs` | Keyword search across all documentation | Finding guides, concepts, or API patterns |
92
+ | `get_query_reference` | Full reference for a root GraphQL query | Building a specific query with correct args/filters |
93
+ | `get_type_definition` | Schema definition for any type/enum/input | Understanding field shapes and return types |
94
+ | `list_examples` | Browse or search working GraphQL examples | Finding ready-to-use query patterns |
95
+ | `list_supported_chains` | All supported blockchain networks + endpoints | First question: "What chains are supported?" |
96
+ | `get_filter_reference` | Filter fields and operators for a list query | Building filtered queries with correct syntax |
97
+ | `get_pagination_guide` | Cursor-based pagination pattern with examples | Implementing pagination for list queries |
98
+ | `get_schema_overview` | High-level summary of the entire schema | Exploring the API surface before diving in |
99
+ | `get_authentication_guide` | API key format, headers, and endpoints | Setting up authentication for the first time |
100
+
101
+ ## Networks
102
+
103
+ All blockchain API tools accept an optional `network` parameter:
104
+
105
+ | Network | Description |
106
+ |---------|-------------|
107
+ | `ethereum` | Ethereum mainnet (default) |
108
+ | `sepolia` | Ethereum Sepolia testnet |
109
+ | `avax` | Avalanche C-Chain |
110
+
111
+ ## Payment (x402)
112
+
113
+ Blockchain API endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When you set `X402_PRIVATE_KEY`, the server automatically handles payments tool calls that return HTTP 402 are paid and retried without any extra work from the agent.
114
+
115
+ Documentation tools are always free — no key or payment needed.
116
+
117
+ ### Setup
118
+
119
+ 1. **Get an EVM private key** — export one from MetaMask, Coinbase Wallet, or any EVM wallet. The key is a hex string starting with `0x`.
120
+ 2. **Fund the wallet with USDC on Base** — the wallet address derived from the key must hold USDC on the [Base](https://base.org) network. Bridge or transfer USDC to it.
121
+ 3. **Pass the key to the server** using one of the methods below.
122
+
123
+ ### Claude Code
124
+
125
+ ```bash
126
+ claude mcp add onesource -e X402_PRIVATE_KEY=0x... -- npx @one-source/mcp
127
+ ```
128
+
129
+ ### Claude Desktop / Cursor
130
+
131
+ Add the `env` block to your MCP config:
132
+
133
+ ```json
134
+ {
135
+ "mcpServers": {
136
+ "onesource": {
137
+ "command": "npx",
138
+ "args": ["-y", "@one-source/mcp"],
139
+ "env": {
140
+ "X402_PRIVATE_KEY": "0x..."
141
+ }
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### Any MCP Client (stdio)
148
+
149
+ ```bash
150
+ X402_PRIVATE_KEY=0x... npx @one-source/mcp
151
+ ```
152
+
153
+ ### Security
154
+
155
+ Never commit your private key to source control. Use environment variables, a `.env` file (excluded from git), or a secrets manager.
156
+
157
+ ## Environment Variables
158
+
159
+ | Variable | Default | Description |
160
+ |----------|---------|-------------|
161
+ | `ONESOURCE_BASE_URL` | `https://skills.onesource.io` | API base URL |
162
+ | `ONESOURCE_ANALYTICS` | — | Set to `false` to disable analytics |
163
+ | `ONESOURCE_ANALYTICS_URL` | | Dashboard endpoint for analytics |
164
+ | `X402_ANALYTICS_KEY` | — | API key for dashboard analytics |
165
+ | `X402_PRIVATE_KEY` | | EVM private key (hex, 0x-prefixed) for automatic x402 USDC payments on Base |
166
+
167
+ ## Troubleshooting
168
+
169
+ **`npx` hangs with no output**
170
+ That's normal — stdio mode waits for JSON-RPC input on stdin. Use `--http` if you want an HTTP server you can curl.
171
+
172
+ **Port already in use**
173
+ Specify a different port: `npx @one-source/mcp --http --port=8080`
174
+
175
+ **Tools return "Data files may be missing"**
176
+ Try reinstalling: `npm install @one-source/mcp`
177
+
178
+ **"Type not found" even though it exists**
179
+ Type names are case-insensitive but must match the GraphQL name (e.g. `Transaction`, not `transaction_type`). The tool will suggest close matches.
180
+
181
+ ## Registry Publishing
182
+
183
+ This package is listed on the [official MCP Registry](https://registry.modelcontextprotocol.io) under the verified namespace `io.onesource/mcp` and on [Glama](https://glama.ai/mcp/servers). When releasing a new version, update both registries.
184
+
185
+ ### MCP Registry
186
+
187
+ #### First-Time Setup
188
+
189
+ ##### 1. Install Go
190
+
191
+ Download the installer for your platform from [go.dev/dl](https://go.dev/dl/) and run it. Verify:
192
+
193
+ ```bash
194
+ go version
195
+ ```
196
+
197
+ ##### 2. Install mcp-publisher
198
+
199
+ ```bash
200
+ go install github.com/modelcontextprotocol/registry/cmd/mcp-publisher@latest
201
+ ```
202
+
203
+ If the Go module path has changed and the command fails, download the binary directly from the [mcp-publisher GitHub releases](https://github.com/modelcontextprotocol/registry/releases) page instead.
204
+
205
+ On Windows, add Go's bin directory to your PATH if the command isn't recognized:
206
+
207
+ ```powershell
208
+ $env:PATH += ";$env:USERPROFILE\go\bin"
209
+ ```
210
+
211
+ Verify:
212
+
213
+ ```bash
214
+ mcp-publisher --help
215
+ ```
216
+
217
+ ##### 3. DNS Authentication (already done)
218
+
219
+ The `onesource.io` domain has a DNS TXT record that proves ownership of the `io.onesource` namespace. This is already configured — you don't need to redo it.
220
+
221
+ The record is on the root domain (`onesource.io`, not `_mcp-registry.onesource.io`):
222
+
223
+ ```
224
+ v=MCPv1; k=ed25519; p=7D3U5rufgNXb/lH2MthTRZdDzEGeE7/Jvg8YkiArQc8=
225
+ ```
226
+
227
+ You can verify it resolves:
228
+
229
+ ```bash
230
+ nslookup -type=TXT onesource.io 8.8.8.8
231
+ ```
232
+
233
+ ##### 4. Get the Private Key
234
+
235
+ Authentication requires the ed25519 private key in **hex format** that corresponds to the public key in the DNS record. Ask the team lead for this key — it's stored in the team's password manager / vault.
236
+
237
+ If you need to regenerate the keypair (this invalidates the current DNS record and requires updating it):
238
+
239
+ 1. Generate a new ed25519 keypair (e.g., `openssl genpkey -algorithm Ed25519 -out key.pem`)
240
+ 2. Extract the raw 32-byte private key seed and convert to hex:
241
+ ```bash
242
+ openssl pkey -in key.pem -outform DER | tail -c 32 | xxd -p -c 32
243
+ ```
244
+ 3. Extract the public key in base64 for the DNS TXT record:
245
+ ```bash
246
+ openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64
247
+ ```
248
+ 4. Update the DNS TXT record on `onesource.io` with the new public key:
249
+ ```
250
+ v=MCPv1; k=ed25519; p=<base64-public-key>
251
+ ```
252
+ 5. Wait for DNS propagation before attempting to log in.
253
+
254
+ #### Publishing a New Version
255
+
256
+ Every time you release a new npm version, update the MCP Registry:
257
+
258
+ 1. **Publish to npm** (the registry validates the package exists, so this must happen first):
259
+ ```bash
260
+ npm run build
261
+ npm publish --access public
262
+ ```
263
+
264
+ 2. **Update `server.json`** — set both `version` fields to match the new npm version:
265
+ ```json
266
+ {
267
+ "version": "x.y.z",
268
+ ...
269
+ "packages": [{ "version": "x.y.z", ... }]
270
+ }
271
+ ```
272
+ The `mcpName` field in `package.json` must be `"io.onesource/mcp"` and must match the `name` field in `server.json`. This is already set — don't remove it.
273
+
274
+ 3. **Authenticate** (tokens expire, so do this each time):
275
+ ```bash
276
+ mcp-publisher login dns --domain onesource.io --private-key <ed25519-hex-private-key>
277
+ ```
278
+
279
+ 4. **Publish to the registry:**
280
+ ```bash
281
+ mcp-publisher publish
282
+ ```
283
+
284
+ 5. **Verify:**
285
+ ```bash
286
+ curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=onesource"
287
+ ```
288
+
289
+ ### Glama
290
+
291
+ Glama auto-syncs from the GitHub repo daily. No manual steps needed after a release — just make sure changes are pushed to `main`. The `glama.json` file in the repo root controls ownership. Manual re-sync is available from the [Glama admin panel](https://glama.ai/mcp/servers) after claiming the server.
292
+
293
+ ## License
294
+
295
+ Apache 2.0 — see [LICENSE](LICENSE) for details.
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,aAAa,IAAI,cAAc,EACpC,KAAK,aAAa,IAAI,cAAc,EACpC,KAAK,YAAY,IAAI,aAAa,EACnC,MAAM,+BAA+B,CAAC;AAEvC,iEAAiE;AACjE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC7D,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,0EAA0E;AAC1E,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;IAC7F,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CACzC;AAED,mFAAmF;AACnF,wBAAgB,eAAe,IAAI,SAAS,CAE3C"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,aAAa,IAAI,cAAc,EACpC,KAAK,aAAa,IAAI,cAAc,EACpC,KAAK,YAAY,IAAI,aAAa,EACnC,MAAM,+BAA+B,CAAC;AAEvC,iEAAiE;AACjE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC7D,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,0EAA0E;AAC1E,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;IAC7F,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CACzC;AAED,mFAAmF;AACnF,wBAAgB,eAAe,IAAI,SAAS,CAK3C"}
package/dist/analytics.js CHANGED
@@ -9,6 +9,9 @@
9
9
  import { createAnalytics as _createAnalytics, } from '@one-source/api-mcp/analytics';
10
10
  /** Create an analytics instance (Noop, Stderr, or Dashboard based on env vars). */
11
11
  export function createAnalytics() {
12
+ // Default to dashboard analytics — users can override with env vars or disable with ONESOURCE_ANALYTICS=false
13
+ process.env.ONESOURCE_ANALYTICS_URL ??= 'https://1s-analytics.vercel.app';
14
+ process.env.X402_ANALYTICS_KEY ??= 'onesource-mcp';
12
15
  return _createAnalytics();
13
16
  }
14
17
  //# sourceMappingURL=analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,eAAe,IAAI,gBAAgB,GAKpC,MAAM,+BAA+B,CAAC;AAkBvC,mFAAmF;AACnF,MAAM,UAAU,eAAe;IAC7B,OAAO,gBAAgB,EAAe,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,eAAe,IAAI,gBAAgB,GAKpC,MAAM,+BAA+B,CAAC;AAkBvC,mFAAmF;AACnF,MAAM,UAAU,eAAe;IAC7B,8GAA8G;IAC9G,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,iCAAiC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,eAAe,CAAC;IACnD,OAAO,gBAAgB,EAAe,CAAC;AACzC,CAAC"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAyOH,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AA2OH,OAAO,EAAE,CAAC"}
package/dist/cli.js CHANGED
@@ -54,6 +54,7 @@ if (args.includes('--http')) {
54
54
  const docsData = loadData();
55
55
  // Shared singletons — reused across stateless per-request servers
56
56
  const sharedAnalytics = createAnalytics();
57
+ console.error(`[onesource] analytics: ${process.env.ONESOURCE_ANALYTICS === 'false' ? 'disabled' : `dashboard (${process.env.ONESOURCE_ANALYTICS_URL})`}`);
57
58
  const sharedClient = createClientFromEnv({ fetch: x402Fetch });
58
59
  // Compute tool count once at startup (server object is discarded)
59
60
  const { toolCount } = createMcpServer({
@@ -181,6 +182,7 @@ else {
181
182
  const stdioTransport = new StdioServerTransport();
182
183
  await server.connect(stdioTransport);
183
184
  console.error('[onesource] Server connected via stdio');
185
+ console.error(`[onesource] analytics: ${process.env.ONESOURCE_ANALYTICS === 'false' ? 'disabled' : `dashboard (${process.env.ONESOURCE_ANALYTICS_URL})`}`);
184
186
  analytics.trackService({
185
187
  type: 'service_start',
186
188
  service: 'onesource',
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@one-source/mcp",
3
3
  "mcpName": "io.onesource/mcp",
4
- "version": "2.6.0",
4
+ "version": "3.1.0",
5
5
  "type": "module",
6
6
  "description": "Unified MCP server for OneSource — 31 tools for blockchain data and API documentation",
7
7
  "bin": {
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@modelcontextprotocol/sdk": "^1.27.1",
31
- "@one-source/api-mcp": "^2.5.0",
32
- "@one-source/docs-mcp": "^2.4.0",
31
+ "@one-source/api-mcp": "^3.1.0",
32
+ "@one-source/docs-mcp": "^3.1.0",
33
33
  "zod": "^3.24.0"
34
34
  },
35
35
  "devDependencies": {