@one-source/api-mcp 3.1.0 → 5.0.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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 BlockParty
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 BlockParty
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # onesource-api-mcp
2
2
 
3
- MCP server for OneSource blockchain data. 22 named tools for balances, NFTs, transactions, events, and live chain queries via x402 micropayments.
3
+ MCP server for OneSource blockchain data. 22 named tools for balances, NFTs, transactions, events, and live chain queries via API key or x402 micropayments.
4
4
 
5
5
  ```
6
6
  npx onesource-api-mcp
@@ -8,35 +8,21 @@ npx onesource-api-mcp
8
8
 
9
9
  ## Install
10
10
 
11
- ### Claude Code
12
-
13
- ```bash
11
+ ```sh
12
+ # Claude Code
14
13
  claude mcp add onesource-api -- npx onesource-api-mcp
15
14
 
16
- # With x402 payments
17
- claude mcp add onesource-api -e X402_PRIVATE_KEY=0x... -- npx onesource-api-mcp
18
- ```
19
-
20
- ### Claude Desktop / Cursor
21
-
22
- Add to your MCP config (`claude_desktop_config.json` or Cursor settings):
23
-
24
- ```json
15
+ # Claude Desktop / Cursor — add to MCP config:
25
16
  {
26
17
  "mcpServers": {
27
18
  "onesource-api": {
28
19
  "command": "npx",
29
- "args": ["-y", "onesource-api-mcp"],
30
- "env": {
31
- "X402_PRIVATE_KEY": "0x..."
32
- }
20
+ "args": ["-y", "onesource-api-mcp"]
33
21
  }
34
22
  }
35
23
  }
36
24
  ```
37
25
 
38
- Remove the `env` block to run without payments.
39
-
40
26
  ## Tools (22)
41
27
 
42
28
 
@@ -85,39 +71,53 @@ All tools accept an optional `network` parameter:
85
71
  | `avax` | Avalanche C-Chain |
86
72
 
87
73
 
88
- ## Payment (x402)
74
+ ## Authentication
89
75
 
90
- Endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When `X402_PRIVATE_KEY` is set, the server automatically signs and settles USDC payments for each tool call. Without it, paid endpoints return 402 errors with a descriptive message.
76
+ Two auth methods are supported. **API key takes priority** when both are configured.
91
77
 
92
- ### Getting a Private Key
78
+ ### API Key (recommended)
79
+
80
+ Set `ONESOURCE_API_KEY` to your OneSource API key. The server sends it as a Bearer token on every request.
81
+
82
+ ```sh
83
+ ONESOURCE_API_KEY=your-key-here npx onesource-api-mcp
84
+ ```
93
85
 
94
- `X402_PRIVATE_KEY` is an EVM wallet private key — the same kind used by MetaMask, Foundry, or any Ethereum wallet. It must be a hex string starting with `0x`.
86
+ Or in your MCP config:
87
+ ```json
88
+ {
89
+ "mcpServers": {
90
+ "onesource-api": {
91
+ "command": "npx",
92
+ "args": ["-y", "onesource-api-mcp"],
93
+ "env": {
94
+ "ONESOURCE_API_KEY": "your-key-here"
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ```
95
100
 
96
- **Option A — Export from MetaMask:**
97
- 1. Open MetaMask → click the three dots → Account details → Show private key
98
- 2. Copy the key (it starts with `0x`)
101
+ ### x402 Micropayments
99
102
 
100
- **Option B Generate a new wallet:**
101
- ```bash
102
- # Using Foundry (cast)
103
- cast wallet new
103
+ Set `X402_PRIVATE_KEY` to a funded EVM wallet key. The server automatically signs and settles USDC payments on Base via [x402](https://github.com/coinbase/x402).
104
104
 
105
- # Using OpenSSL
106
- openssl rand -hex 32 | sed 's/^/0x/'
105
+ ```sh
106
+ X402_PRIVATE_KEY=your-private-key-hex npx onesource-api-mcp
107
107
  ```
108
108
 
109
- ### Funding the Wallet
109
+ ### No auth
110
110
 
111
- The wallet needs **USDC on Base** to pay for tool calls. Send USDC to your wallet address on the Base network. Typical tool calls cost fractions of a cent.
111
+ Without either variable, tools work for free endpoints. Paid endpoints return 402 errors with a descriptive message.
112
112
 
113
- ### Running with Payments
114
113
 
115
- ```bash
116
- # Inline
117
- X402_PRIVATE_KEY=0x... npx onesource-api-mcp
118
- ```
114
+ ## Configuration
119
115
 
120
- Or configure the key in your MCP client's `env` block (see [Install](#install) above).
116
+ | Variable | Default | Description |
117
+ |----------|---------|-------------|
118
+ | `ONESOURCE_API_KEY` | — | OneSource API key. Sent as `Authorization: Bearer <key>`. Takes priority over x402. |
119
+ | `ONESOURCE_BASE_URL` | `https://skills.onesource.io` | Skills API endpoint |
120
+ | `X402_PRIVATE_KEY` | — | EVM private key (hex, with or without 0x prefix) for automatic x402 USDC payments on Base |
121
121
 
122
122
 
123
123
  ## License
package/README.npm.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # onesource-api-mcp
2
2
 
3
- MCP server for OneSource blockchain data. 22 named tools for balances, NFTs, transactions, events, and live chain queries via x402 micropayments.
3
+ MCP server for OneSource blockchain data. 22 named tools for balances, NFTs, transactions, events, and live chain queries via API key or x402 micropayments.
4
4
 
5
5
  ```
6
6
  npx onesource-api-mcp
@@ -8,35 +8,21 @@ npx onesource-api-mcp
8
8
 
9
9
  ## Install
10
10
 
11
- ### Claude Code
12
-
13
- ```bash
11
+ ```sh
12
+ # Claude Code
14
13
  claude mcp add onesource-api -- npx onesource-api-mcp
15
14
 
16
- # With x402 payments
17
- claude mcp add onesource-api -e X402_PRIVATE_KEY=0x... -- npx onesource-api-mcp
18
- ```
19
-
20
- ### Claude Desktop / Cursor
21
-
22
- Add to your MCP config (`claude_desktop_config.json` or Cursor settings):
23
-
24
- ```json
15
+ # Claude Desktop / Cursor — add to MCP config:
25
16
  {
26
17
  "mcpServers": {
27
18
  "onesource-api": {
28
19
  "command": "npx",
29
- "args": ["-y", "onesource-api-mcp"],
30
- "env": {
31
- "X402_PRIVATE_KEY": "0x..."
32
- }
20
+ "args": ["-y", "onesource-api-mcp"]
33
21
  }
34
22
  }
35
23
  }
36
24
  ```
37
25
 
38
- Remove the `env` block to run without payments.
39
-
40
26
  ## Tools (22)
41
27
 
42
28
 
@@ -85,39 +71,53 @@ All tools accept an optional `network` parameter:
85
71
  | `avax` | Avalanche C-Chain |
86
72
 
87
73
 
88
- ## Payment (x402)
74
+ ## Authentication
89
75
 
90
- Endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When `X402_PRIVATE_KEY` is set, the server automatically signs and settles USDC payments for each tool call. Without it, paid endpoints return 402 errors with a descriptive message.
76
+ Two auth methods are supported. **API key takes priority** when both are configured.
91
77
 
92
- ### Getting a Private Key
78
+ ### API Key (recommended)
79
+
80
+ Set `ONESOURCE_API_KEY` to your OneSource API key. The server sends it as a Bearer token on every request.
81
+
82
+ ```sh
83
+ ONESOURCE_API_KEY=your-key-here npx onesource-api-mcp
84
+ ```
93
85
 
94
- `X402_PRIVATE_KEY` is an EVM wallet private key — the same kind used by MetaMask, Foundry, or any Ethereum wallet. It must be a hex string starting with `0x`.
86
+ Or in your MCP config:
87
+ ```json
88
+ {
89
+ "mcpServers": {
90
+ "onesource-api": {
91
+ "command": "npx",
92
+ "args": ["-y", "onesource-api-mcp"],
93
+ "env": {
94
+ "ONESOURCE_API_KEY": "your-key-here"
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ```
95
100
 
96
- **Option A — Export from MetaMask:**
97
- 1. Open MetaMask → click the three dots → Account details → Show private key
98
- 2. Copy the key (it starts with `0x`)
101
+ ### x402 Micropayments
99
102
 
100
- **Option B Generate a new wallet:**
101
- ```bash
102
- # Using Foundry (cast)
103
- cast wallet new
103
+ Set `X402_PRIVATE_KEY` to a funded EVM wallet key. The server automatically signs and settles USDC payments on Base via [x402](https://github.com/coinbase/x402).
104
104
 
105
- # Using OpenSSL
106
- openssl rand -hex 32 | sed 's/^/0x/'
105
+ ```sh
106
+ X402_PRIVATE_KEY=your-private-key-hex npx onesource-api-mcp
107
107
  ```
108
108
 
109
- ### Funding the Wallet
109
+ ### No auth
110
110
 
111
- The wallet needs **USDC on Base** to pay for tool calls. Send USDC to your wallet address on the Base network. Typical tool calls cost fractions of a cent.
111
+ Without either variable, tools work for free endpoints. Paid endpoints return 402 errors with a descriptive message.
112
112
 
113
- ### Running with Payments
114
113
 
115
- ```bash
116
- # Inline
117
- X402_PRIVATE_KEY=0x... npx onesource-api-mcp
118
- ```
114
+ ## Configuration
119
115
 
120
- Or configure the key in your MCP client's `env` block (see [Install](#install) above).
116
+ | Variable | Default | Description |
117
+ |----------|---------|-------------|
118
+ | `ONESOURCE_API_KEY` | — | OneSource API key. Sent as `Authorization: Bearer <key>`. Takes priority over x402. |
119
+ | `ONESOURCE_BASE_URL` | `https://skills.onesource.io` | Skills API endpoint |
120
+ | `X402_PRIVATE_KEY` | — | EVM private key (hex, with or without 0x prefix) for automatic x402 USDC payments on Base |
121
121
 
122
122
 
123
123
  ## License
package/README.repo.md CHANGED
@@ -1,169 +1,172 @@
1
- # onesource-api-mcp
2
-
3
- MCP server for OneSource blockchain data. 22 named tools for balances, NFTs, transactions, events, and live chain queries via x402 micropayments.
4
-
5
- ```
6
- npx onesource-api-mcp
7
- ```
8
-
9
- ## Install
10
-
11
- ### Claude Code
12
-
13
- ```bash
14
- claude mcp add onesource-api -- npx onesource-api-mcp
15
-
16
- # With x402 payments
17
- claude mcp add onesource-api -e X402_PRIVATE_KEY=0x... -- npx onesource-api-mcp
18
- ```
19
-
20
- ### Claude Desktop / Cursor
21
-
22
- Add to your MCP config (`claude_desktop_config.json` or Cursor settings):
23
-
24
- ```json
25
- {
26
- "mcpServers": {
27
- "onesource-api": {
28
- "command": "npx",
29
- "args": ["-y", "onesource-api-mcp"],
30
- "env": {
31
- "X402_PRIVATE_KEY": "0x..."
32
- }
33
- }
34
- }
35
- }
36
- ```
37
-
38
- Remove the `env` block to run without payments.
39
-
40
- ## Tools (22)
41
-
42
-
43
- ### Live Chain Data (12 tools)
44
-
45
- | Tool | Description |
46
- |------|-------------|
47
- | `1s_allowance_live` | ERC20 allowance check |
48
- | `1s_contract_info_live` | Contract type detection via ERC165 |
49
- | `1s_erc1155_balance_live` | ERC1155 balance via RPC |
50
- | `1s_erc20_balance_live` | ERC20 balance via balanceOf |
51
- | `1s_erc20_transfers_live` | ERC20 Transfer logs via eth_getLogs |
52
- | `1s_erc721_tokens_live` | ERC721 token enumeration |
53
- | `1s_events_live` | Event logs via eth_getLogs |
54
- | `1s_multi_balance_live` | ETH + multiple ERC20 balances |
55
- | `1s_nft_metadata_live` | NFT metadata via tokenURI |
56
- | `1s_nft_owner_live` | NFT owner via ownerOf |
57
- | `1s_total_supply_live` | Token total supply |
58
- | `1s_tx_details_live` | Transaction + receipt via RPC |
59
-
60
-
61
- ### Chain Utilities (10 tools) — RPC only
62
-
63
- | Tool | Description |
64
- |------|-------------|
65
- | `1s_contract_code` | Contract bytecode |
66
- | `1s_ens_resolve` | ENS name/address resolution |
67
- | `1s_estimate_gas` | Gas estimation |
68
- | `1s_network_info` | Chain ID, block number, gas price |
69
- | `1s_nonce` | Transaction count |
70
- | `1s_pending_block` | Pending block from mempool |
71
- | `1s_proxy_detect` | Proxy contract detection |
72
- | `1s_simulate_call` | Simulate eth_call |
73
- | `1s_storage_read` | Read storage slot |
74
- | `1s_tx_receipt` | Transaction receipt |
75
-
76
-
77
- ## Networks
78
-
79
- All tools accept an optional `network` parameter:
80
-
81
- | Network | Description |
82
- |---------|-------------|
83
- | `ethereum` | Ethereum mainnet (default) |
84
- | `sepolia` | Ethereum Sepolia testnet |
85
- | `avax` | Avalanche C-Chain |
86
-
87
-
88
- ## Payment (x402)
89
-
90
- Endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When `X402_PRIVATE_KEY` is set, the server automatically signs and settles USDC payments for each tool call. Without it, paid endpoints return 402 errors with a descriptive message.
91
-
92
- ### Getting a Private Key
93
-
94
- `X402_PRIVATE_KEY` is an EVM wallet private key — the same kind used by MetaMask, Foundry, or any Ethereum wallet. It must be a hex string starting with `0x`.
95
-
96
- **Option A — Export from MetaMask:**
97
- 1. Open MetaMask → click the three dots → Account details → Show private key
98
- 2. Copy the key (it starts with `0x`)
99
-
100
- **Option B — Generate a new wallet:**
101
- ```bash
102
- # Using Foundry (cast)
103
- cast wallet new
104
-
105
- # Using OpenSSL
106
- openssl rand -hex 32 | sed 's/^/0x/'
107
- ```
108
-
109
- ### Funding the Wallet
110
-
111
- The wallet needs **USDC on Base** to pay for tool calls. Send USDC to your wallet address on the Base network. Typical tool calls cost fractions of a cent.
112
-
113
- ### Running with Payments
114
-
115
- ```bash
116
- # Inline
117
- X402_PRIVATE_KEY=0x... npx onesource-api-mcp
118
- ```
119
-
120
- Or configure the key in your MCP client's `env` block (see [Install](#install) above).
121
-
122
- ## Transport Modes
123
-
124
- ```sh
125
- # stdio (default — for MCP clients)
126
- npx onesource-api-mcp
127
-
128
- # HTTP (for testing or remote access)
129
- npx onesource-api-mcp --http
130
- npx onesource-api-mcp --http --port=8080
131
- ```
132
-
133
- HTTP mode binds to `127.0.0.1` by default.
134
-
135
- ## Adding a New Tool
136
-
137
- When a new SKILL.md is added to `skills/OneSource*/`, a corresponding MCP tool file needs to be created here.
138
-
139
- **Step 1:** Create the SKILL.md in the skills repo (see the skills README for format).
140
-
141
- **Step 2:** Scaffold the tool file:
142
-
143
- ```sh
144
- cd mcp/
145
- npm run new-tool
146
- ```
147
-
148
- This prompts for:
149
- - **Tool name** — `1s_` prefix, snake_case (e.g. `1s_token_info`)
150
- - **Category** — `live` (direct RPC) or `chain` (RPC-only utility)
151
- - **Description** — one-liner for the tool
152
- - **Endpoint** — REST API path (e.g. `/api/chain/my-endpoint`)
153
- - **Method** — GET or POST
154
-
155
- It generates a tool file in `src/tools/{category}/` with TODO markers.
156
-
157
- **Step 3:** Edit the generated file — fill in the Zod schema parameters and handler logic. Use the shared params from `src/types.ts` (`addressParam`, `txHashParam`, `tokenIdParam`, `hexDataParam`, `networkParam`, `limitParam`, `blockNumberParam`).
158
-
159
- **Step 4:** Build:
160
-
161
- ```sh
162
- npm run build
163
- ```
164
-
165
- This auto-regenerates the tool index and compiles. The new tool is immediately available in the MCP server.
166
-
167
- ## License
168
-
169
- MIT
1
+ # onesource-api-mcp
2
+
3
+ MCP server for OneSource blockchain data. 22 named tools for balances, NFTs, transactions, events, and live chain queries via API key or x402 micropayments.
4
+
5
+ ```
6
+ npx onesource-api-mcp
7
+ ```
8
+
9
+ ## Install
10
+
11
+ ```sh
12
+ # Claude Code
13
+ claude mcp add onesource-api -- npx onesource-api-mcp
14
+
15
+ # Claude Desktop / Cursor — add to MCP config:
16
+ {
17
+ "mcpServers": {
18
+ "onesource-api": {
19
+ "command": "npx",
20
+ "args": ["-y", "onesource-api-mcp"]
21
+ }
22
+ }
23
+ }
24
+ ```
25
+
26
+ ## Tools (22)
27
+
28
+
29
+ ### Live Chain Data (12 tools)
30
+
31
+ | Tool | Description |
32
+ |------|-------------|
33
+ | `1s_allowance_live` | ERC20 allowance check |
34
+ | `1s_contract_info_live` | Contract type detection via ERC165 |
35
+ | `1s_erc1155_balance_live` | ERC1155 balance via RPC |
36
+ | `1s_erc20_balance_live` | ERC20 balance via balanceOf |
37
+ | `1s_erc20_transfers_live` | ERC20 Transfer logs via eth_getLogs |
38
+ | `1s_erc721_tokens_live` | ERC721 token enumeration |
39
+ | `1s_events_live` | Event logs via eth_getLogs |
40
+ | `1s_multi_balance_live` | ETH + multiple ERC20 balances |
41
+ | `1s_nft_metadata_live` | NFT metadata via tokenURI |
42
+ | `1s_nft_owner_live` | NFT owner via ownerOf |
43
+ | `1s_total_supply_live` | Token total supply |
44
+ | `1s_tx_details_live` | Transaction + receipt via RPC |
45
+
46
+
47
+ ### Chain Utilities (10 tools) RPC only
48
+
49
+ | Tool | Description |
50
+ |------|-------------|
51
+ | `1s_contract_code` | Contract bytecode |
52
+ | `1s_ens_resolve` | ENS name/address resolution |
53
+ | `1s_estimate_gas` | Gas estimation |
54
+ | `1s_network_info` | Chain ID, block number, gas price |
55
+ | `1s_nonce` | Transaction count |
56
+ | `1s_pending_block` | Pending block from mempool |
57
+ | `1s_proxy_detect` | Proxy contract detection |
58
+ | `1s_simulate_call` | Simulate eth_call |
59
+ | `1s_storage_read` | Read storage slot |
60
+ | `1s_tx_receipt` | Transaction receipt |
61
+
62
+
63
+ ## Networks
64
+
65
+ All tools accept an optional `network` parameter:
66
+
67
+ | Network | Description |
68
+ |---------|-------------|
69
+ | `ethereum` | Ethereum mainnet (default) |
70
+ | `sepolia` | Ethereum Sepolia testnet |
71
+ | `avax` | Avalanche C-Chain |
72
+
73
+
74
+ ## Authentication
75
+
76
+ Two auth methods are supported. **API key takes priority** when both are configured.
77
+
78
+ ### API Key (recommended)
79
+
80
+ Set `ONESOURCE_API_KEY` to your OneSource API key. The server sends it as a Bearer token on every request.
81
+
82
+ ```sh
83
+ ONESOURCE_API_KEY=your-key-here npx onesource-api-mcp
84
+ ```
85
+
86
+ Or in your MCP config:
87
+ ```json
88
+ {
89
+ "mcpServers": {
90
+ "onesource-api": {
91
+ "command": "npx",
92
+ "args": ["-y", "onesource-api-mcp"],
93
+ "env": {
94
+ "ONESOURCE_API_KEY": "your-key-here"
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ```
100
+
101
+ ### x402 Micropayments
102
+
103
+ Set `X402_PRIVATE_KEY` to a funded EVM wallet key. The server automatically signs and settles USDC payments on Base via [x402](https://github.com/coinbase/x402).
104
+
105
+ ```sh
106
+ X402_PRIVATE_KEY=your-private-key-hex npx onesource-api-mcp
107
+ ```
108
+
109
+ ### No auth
110
+
111
+ Without either variable, tools work for free endpoints. Paid endpoints return 402 errors with a descriptive message.
112
+
113
+
114
+ ## Configuration
115
+
116
+ | Variable | Default | Description |
117
+ |----------|---------|-------------|
118
+ | `ONESOURCE_API_KEY` | — | OneSource API key. Sent as `Authorization: Bearer <key>`. Takes priority over x402. |
119
+ | `ONESOURCE_BASE_URL` | `https://skills.onesource.io` | Skills API endpoint |
120
+ | `X402_PRIVATE_KEY` | | EVM private key (hex, with or without 0x prefix) for automatic x402 USDC payments on Base |
121
+ | `ONESOURCE_ANALYTICS` | `true` | Set `false` to disable all analytics |
122
+ | `ONESOURCE_ANALYTICS_URL` | `https://1s-analytics.vercel.app` | Dashboard endpoint for event ingestion (baked in by default) |
123
+ | `X402_ANALYTICS_KEY` | `onesource-api-mcp` | Bearer token for the analytics dashboard (baked in by default) |
124
+
125
+ ## Transport Modes
126
+
127
+ ```sh
128
+ # stdio (default for MCP clients)
129
+ npx onesource-api-mcp
130
+
131
+ # HTTP (for testing or remote access)
132
+ npx onesource-api-mcp --http
133
+ npx onesource-api-mcp --http --port=8080
134
+ ```
135
+
136
+ HTTP mode binds to `127.0.0.1` by default.
137
+
138
+ ## Adding a New Tool
139
+
140
+ When a new SKILL.md is added to `skills/OneSource*/`, a corresponding MCP tool file needs to be created here.
141
+
142
+ **Step 1:** Create the SKILL.md in the skills repo (see the skills README for format).
143
+
144
+ **Step 2:** Scaffold the tool file:
145
+
146
+ ```sh
147
+ cd mcp/
148
+ npm run new-tool
149
+ ```
150
+
151
+ This prompts for:
152
+ - **Tool name** — `1s_` prefix, snake_case (e.g. `1s_token_info`)
153
+ - **Category** — `live` (direct RPC) or `chain` (RPC-only utility)
154
+ - **Description** — one-liner for the tool
155
+ - **Endpoint** REST API path (e.g. `/api/chain/my-endpoint`)
156
+ - **Method** — GET or POST
157
+
158
+ It generates a tool file in `src/tools/{category}/` with TODO markers.
159
+
160
+ **Step 3:** Edit the generated file — fill in the Zod schema parameters and handler logic. Use the shared params from `src/types.ts` (`addressParam`, `txHashParam`, `tokenIdParam`, `hexDataParam`, `networkParam`, `limitParam`, `blockNumberParam`).
161
+
162
+ **Step 4:** Build:
163
+
164
+ ```sh
165
+ npm run build
166
+ ```
167
+
168
+ This auto-regenerates the tool index and compiles. The new tool is immediately available in the MCP server.
169
+
170
+ ## License
171
+
172
+ MIT
@@ -6,6 +6,7 @@
6
6
  * - StderrAnalytics: default (structured JSON to stderr)
7
7
  * - DashboardAnalytics: ONESOURCE_ANALYTICS_URL is set (POSTs to dashboard)
8
8
  */
9
+ import type { AuthMethod } from './types.js';
9
10
  export interface ToolCallEvent {
10
11
  type: 'tool_call';
11
12
  service: string;
@@ -19,7 +20,7 @@ export interface ToolCallEvent {
19
20
  input_params: string[];
20
21
  response_size: number;
21
22
  version: string;
22
- auth_method: 'x402' | 'none';
23
+ auth_method: AuthMethod;
23
24
  client_name?: string;
24
25
  client_version?: string;
25
26
  session_id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,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;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,CAAC;CACd;AAkHD,wBAAgB,eAAe,IAAI,SAAS,CAY3C"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,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;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,CAAC;CACd;AAkHD,wBAAgB,eAAe,IAAI,SAAS,CAY3C"}
package/dist/analytics.js CHANGED
@@ -1,11 +1,3 @@
1
- /**
2
- * Analytics instrumentation for the MCP server.
3
- *
4
- * Three modes (selected via env vars):
5
- * - NoopAnalytics: ONESOURCE_ANALYTICS=false
6
- * - StderrAnalytics: default (structured JSON to stderr)
7
- * - DashboardAnalytics: ONESOURCE_ANALYTICS_URL is set (POSTs to dashboard)
8
- */
9
1
  // --- Implementations ---
10
2
  class NoopAnalytics {
11
3
  trackTool() { }
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAwLA,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA2MA,OAAO,EAAE,CAAC"}
package/dist/cli.js CHANGED
@@ -16,9 +16,28 @@ const MAX_BODY_BYTES = 1_048_576; // 1 MB
16
16
  // Users can override via environment; ONESOURCE_ANALYTICS=false disables entirely.
17
17
  process.env.ONESOURCE_ANALYTICS_URL ??= 'https://1s-analytics.vercel.app';
18
18
  process.env.X402_ANALYTICS_KEY ??= 'onesource-api-mcp';
19
- const x402 = setupX402();
20
- if (x402.enabled) {
21
- console.error(`[onesource-api] x402 payments enabled (wallet: ${x402.address})`);
19
+ // --- Auth resolution: API key takes priority over x402 ---
20
+ const apiKey = process.env.ONESOURCE_API_KEY?.trim() || undefined; // || coerces whitespace-only to undefined
21
+ let authMethod;
22
+ let clientFetch;
23
+ if (apiKey) {
24
+ if (process.env.X402_PRIVATE_KEY) {
25
+ console.error('[onesource-api] warning: both ONESOURCE_API_KEY and X402_PRIVATE_KEY are set — X402_PRIVATE_KEY will be ignored');
26
+ }
27
+ authMethod = 'api_key';
28
+ console.error('[onesource-api] auth: api_key');
29
+ }
30
+ else {
31
+ const x402 = setupX402();
32
+ if (x402.enabled) {
33
+ authMethod = 'x402';
34
+ clientFetch = x402.fetch;
35
+ console.error(`[onesource-api] auth: x402 (wallet: ${x402.address})`);
36
+ }
37
+ else {
38
+ authMethod = 'none';
39
+ console.error('[onesource-api] auth: none');
40
+ }
22
41
  }
23
42
  function gracefulShutdown(analytics, cleanup) {
24
43
  const shutdown = async () => {
@@ -61,7 +80,7 @@ if (args.includes('--http')) {
61
80
  const { StreamableHTTPServerTransport } = await import('@modelcontextprotocol/sdk/server/streamableHttp.js');
62
81
  const { createServer } = await import('node:http');
63
82
  // Shared client + analytics — reused across requests
64
- const sharedClient = createClientFromEnv({ fetch: x402.fetch });
83
+ const sharedClient = createClientFromEnv({ fetch: clientFetch, apiKey });
65
84
  const sharedAnalytics = createAnalytics();
66
85
  console.error(`[onesource-api] analytics: ${process.env.ONESOURCE_ANALYTICS === 'false' ? 'disabled' : `dashboard (${process.env.ONESOURCE_ANALYTICS_URL})`}`);
67
86
  const httpServer = createServer(async (req, res) => {
@@ -78,7 +97,7 @@ if (args.includes('--http')) {
78
97
  return;
79
98
  }
80
99
  // Fresh server per request (SDK stateless pattern), shared client + analytics
81
- const { server } = createMcpServer({ client: sharedClient, analytics: sharedAnalytics, transport: 'http', x402Enabled: x402.enabled });
100
+ const { server } = createMcpServer({ client: sharedClient, analytics: sharedAnalytics, transport: 'http', authMethod });
82
101
  const httpTransport = new StreamableHTTPServerTransport({
83
102
  sessionIdGenerator: undefined,
84
103
  });
@@ -138,8 +157,8 @@ if (args.includes('--http')) {
138
157
  }
139
158
  else {
140
159
  const { StdioServerTransport } = await import('@modelcontextprotocol/sdk/server/stdio.js');
141
- const client = createClientFromEnv({ fetch: x402.fetch });
142
- const { server, analytics } = createMcpServer({ client, transport: 'stdio', x402Enabled: x402.enabled });
160
+ const client = createClientFromEnv({ fetch: clientFetch, apiKey });
161
+ const { server, analytics } = createMcpServer({ client, transport: 'stdio', authMethod });
143
162
  const stdioTransport = new StdioServerTransport();
144
163
  await server.connect(stdioTransport);
145
164
  console.error('[onesource-api] Server connected via stdio');
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,OAAO;AAEzC,sEAAsE;AACtE,mFAAmF;AACnF,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,iCAAiC,CAAC;AAC1E,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,mBAAmB,CAAC;AAEvD,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;AACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,kDAAkD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAoB,EAAE,OAA4B;IAC1E,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,SAAS,CAAC,YAAY,CAAC;YACrB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,EAAE;YACJ,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC3D,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5B,6BAA6B;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CACjD,CAAC;IACF,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YAC9D,OAAO,CAAC,KAAK,CACX,wBAAwB,OAAO,IAAI,EAAE,iCAAiC,CACvE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CACpD,oDAAoD,CACrD,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAEnD,qDAAqD;IACrD,MAAM,YAAY,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,eAAe,EAAE,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAE/J,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAChD,+EAA+E;YAC/E,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACzE,IAAI,aAAa,GAAG,cAAc,EAAE,CAAC;gBACnC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACrD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC,CAAC;gBACJ,OAAO;YACT,CAAC;YAED,8EAA8E;YAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACvI,MAAM,aAAa,GAAG,IAAI,6BAA6B,CAAC;gBACtD,kBAAkB,EAAE,SAAS;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACpC,MAAM,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;wBACzD,EAAE,EAAE,IAAI;qBACT,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACnB,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QAEL,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;YACnF,mDAAmD;YACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,sCAAsC,EAAE;gBACxE,EAAE,EAAE,IAAI;aACT,CAAC,CAAC,CAAC;QAEN,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACjC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE7B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yDAAyD;IACzD,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,6DAA6D,IAAI,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,KAAK,CAAC,kDAAkD,IAAI,MAAM,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,YAAY,CAAC;QAC3B,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ,IAAI,EAAE;KACxB,CAAC,CAAC;IAEH,gBAAgB,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AAEL,CAAC;KAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAC3C,2CAA2C,CAC5C,CAAC;IACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzG,MAAM,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAClD,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC5D,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAE/J,SAAS,CAAC,YAAY,CAAC;QACrB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,gBAAgB,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACrC,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -11,6 +11,7 @@ import type { ApiResponse } from './types.js';
11
11
  export interface ClientOptions {
12
12
  baseUrl: string;
13
13
  fetch?: typeof globalThis.fetch;
14
+ apiKey?: string;
14
15
  }
15
16
  export interface HttpEventData {
16
17
  tool: string;
@@ -24,6 +25,7 @@ export interface CallContext {
24
25
  export declare class OneSourceClient {
25
26
  private baseUrl;
26
27
  private _fetch;
28
+ private _apiKey?;
27
29
  private _context;
28
30
  /** Set by create-server.ts to receive HTTP-level metrics. */
29
31
  onHttpEvent?: (event: HttpEventData) => void;
@@ -52,5 +54,6 @@ export declare class OneSourceClient {
52
54
  */
53
55
  export declare function createClientFromEnv(opts?: {
54
56
  fetch?: typeof globalThis.fetch;
57
+ apiKey?: string;
55
58
  }): OneSourceClient;
56
59
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAA6B;IAE7C,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;gBAEjC,IAAI,EAAE,aAAa;IAM/B;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAO9C;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GACnD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAS1B;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GACnD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAUZ,gBAAgB;IAoB9B,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,OAAO;YAID,cAAc;CA6C7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAE,GAAG,eAAe,CAQ/F"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA6B;IAE7C,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;gBAEjC,IAAI,EAAE,aAAa;IAY/B;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAO9C;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GACnD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAS1B;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GACnD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAUZ,gBAAgB;IAoB9B,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,OAAO;YAQD,cAAc;CAyD7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAQhH"}
package/dist/client.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export class OneSourceClient {
2
2
  baseUrl;
3
3
  _fetch;
4
+ _apiKey;
4
5
  _context = { tool: '' };
5
6
  /** Set by create-server.ts to receive HTTP-level metrics. */
6
7
  onHttpEvent;
@@ -8,6 +9,12 @@ export class OneSourceClient {
8
9
  // Strip trailing slash
9
10
  this.baseUrl = opts.baseUrl.replace(/\/+$/, '');
10
11
  this._fetch = opts.fetch ?? globalThis.fetch;
12
+ // Normalise: trim whitespace-only keys to undefined; reject keys with newlines
13
+ const trimmed = opts.apiKey?.trim() || undefined;
14
+ if (trimmed && /[\r\n]/.test(trimmed)) {
15
+ throw new Error('ONESOURCE_API_KEY must not contain newline characters');
16
+ }
17
+ this._apiKey = trimmed;
11
18
  }
12
19
  /**
13
20
  * Create a child client with call context (e.g. tool name).
@@ -15,7 +22,7 @@ export class OneSourceClient {
15
22
  * Safe for concurrent use — each tool call gets its own child.
16
23
  */
17
24
  withContext(ctx) {
18
- const child = new OneSourceClient({ baseUrl: this.baseUrl, fetch: this._fetch });
25
+ const child = new OneSourceClient({ baseUrl: this.baseUrl, fetch: this._fetch, apiKey: this._apiKey });
19
26
  child._context = ctx;
20
27
  child.onHttpEvent = this.onHttpEvent;
21
28
  return child;
@@ -72,7 +79,11 @@ export class OneSourceClient {
72
79
  return url;
73
80
  }
74
81
  headers() {
75
- return { 'User-Agent': 'onesource-api-mcp' };
82
+ const h = { 'User-Agent': 'onesource-api-mcp' };
83
+ if (this._apiKey) {
84
+ h['Authorization'] = `Bearer ${this._apiKey}`;
85
+ }
86
+ return h;
76
87
  }
77
88
  async handleResponse(res, latencyMs) {
78
89
  // Fire HTTP analytics callback
@@ -82,8 +93,19 @@ export class OneSourceClient {
82
93
  backend_latency_ms: latencyMs,
83
94
  x402_required: res.status === 402,
84
95
  });
85
- // x402 payment required return a helpful message instead of crashing
96
+ // Access deniedAPI key present but wrong tier (e.g. sandbox key)
97
+ if (res.status === 403) {
98
+ return {
99
+ error: 'Access denied (403): your API key does not have access to this endpoint. A developer plan is required — upgrade at app.onesource.io',
100
+ };
101
+ }
102
+ // x402 payment required
86
103
  if (res.status === 402) {
104
+ if (this._apiKey) {
105
+ return {
106
+ error: 'Payment required (402): your API key was not accepted. Check that your key is valid and your plan is active at app.onesource.io',
107
+ };
108
+ }
87
109
  const paymentHeader = res.headers.get('Payment-Required');
88
110
  const details = paymentHeader ? ` Details: ${paymentHeader.slice(0, 200)}` : '';
89
111
  return {
@@ -125,6 +147,6 @@ export function createClientFromEnv(opts) {
125
147
  if (!['https:', 'http:'].includes(parsed.protocol)) {
126
148
  throw new Error('ONESOURCE_BASE_URL must use http or https');
127
149
  }
128
- return new OneSourceClient({ baseUrl, fetch: opts?.fetch });
150
+ return new OneSourceClient({ baseUrl, fetch: opts?.fetch, apiKey: opts?.apiKey });
129
151
  }
130
152
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
8
8
  import { OneSourceClient } from './client.js';
9
9
  import { type Analytics } from './analytics.js';
10
+ import type { AuthMethod } from './types.js';
10
11
  export declare const VERSION: string;
11
12
  export interface CreateServerOptions {
12
13
  /** Override the default client (useful for testing). */
@@ -15,7 +16,9 @@ export interface CreateServerOptions {
15
16
  analytics?: Analytics;
16
17
  /** Transport mode — passed through to analytics events. */
17
18
  transport?: 'stdio' | 'http';
18
- /** Whether x402 payment wrapper is active on the client. */
19
+ /** Authentication method: 'api_key', 'x402', or 'none'. */
20
+ authMethod?: AuthMethod;
21
+ /** @deprecated Use authMethod instead. */
19
22
  x402Enabled?: boolean;
20
23
  }
21
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAuB,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGjE,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAOD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CA0GvG"}
1
+ {"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAuB,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAOD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CA2GvG"}
@@ -24,7 +24,8 @@ export function createMcpServer(opts) {
24
24
  const client = opts?.client ?? createClientFromEnv();
25
25
  const analytics = opts?.analytics ?? createAnalytics();
26
26
  const transport = opts?.transport;
27
- const x402Active = opts?.x402Enabled ?? false;
27
+ // x402Enabled is a deprecated alias — authMethod takes precedence
28
+ const authMethod = opts?.authMethod ?? (opts?.x402Enabled ? 'x402' : 'none');
28
29
  const server = new McpServer({
29
30
  name: 'onesource-api',
30
31
  version: VERSION,
@@ -70,7 +71,7 @@ export function createMcpServer(opts) {
70
71
  input_params: inputKeys,
71
72
  response_size: text.length,
72
73
  version: VERSION,
73
- auth_method: x402Active ? 'x402' : 'none',
74
+ auth_method: authMethod,
74
75
  client_name: clientInfo?.name,
75
76
  client_version: clientInfo?.version,
76
77
  session_id: sessionHash,
@@ -96,7 +97,7 @@ export function createMcpServer(opts) {
96
97
  input_params: inputKeys,
97
98
  response_size: 0,
98
99
  version: VERSION,
99
- auth_method: x402Active ? 'x402' : 'none',
100
+ auth_method: authMethod,
100
101
  client_name: clientInfo?.name,
101
102
  client_version: clientInfo?.version,
102
103
  session_id: sessionHash,
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -3,6 +3,8 @@
3
3
  */
4
4
  import { z } from 'zod';
5
5
  import type { OneSourceClient } from './client.js';
6
+ /** Authentication method used for a session. */
7
+ export type AuthMethod = 'api_key' | 'x402' | 'none';
6
8
  /**
7
9
  * API response envelope — discriminated union on the `error` field.
8
10
  * Moved here from client.ts to avoid circular imports with formatResponse.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAC/B;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC9D;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvF;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,2DAKtB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY,aAGc,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,oBAAoB,4BAA0B,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,WAAW,aAGe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY,aAGe,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,aAGc,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,gBAAgB,4BAA0B,CAAC;AAExD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAoB5D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAC/B;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC9D;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvF;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,2DAKtB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY,aAGc,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,oBAAoB,4BAA0B,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,WAAW,aAGe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY,aAGe,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,aAGc,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,gBAAgB,4BAA0B,CAAC;AAExD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAoB5D"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KACrC,QAAQ,EAAE;KACV,QAAQ,CACP,6DAA6D,CAC9D,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;KACzE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAC/E,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;KAC1C,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;KACzD,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAqB;IAClD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI;QAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;QAC9C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;IAE/C,IAAI,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,OAAO,EAAE,6IAA6I;YACtJ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KACrC,QAAQ,EAAE;KACV,QAAQ,CACP,6DAA6D,CAC9D,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;KACzE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAC/E,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;KAC1C,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;KACzD,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAqB;IAClD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI;QAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;QAC9C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;IAE/C,IAAI,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,OAAO,EAAE,6IAA6I;YACtJ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAKD,wBAAgB,SAAS,IAAI,eAAe,CAiB3C"}
1
+ {"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAKD,wBAAgB,SAAS,IAAI,eAAe,CAkB3C"}
package/dist/x402.js CHANGED
@@ -15,14 +15,15 @@ import { privateKeyToAccount } from 'viem/accounts';
15
15
  let _applied = false;
16
16
  let _cachedResult;
17
17
  export function setupX402() {
18
- const privateKey = process.env.X402_PRIVATE_KEY;
19
- if (!privateKey)
18
+ const rawKey = process.env.X402_PRIVATE_KEY;
19
+ if (!rawKey)
20
20
  return { enabled: false };
21
21
  if (_applied && _cachedResult)
22
22
  return _cachedResult;
23
- if (!privateKey.startsWith('0x')) {
24
- throw new Error('X402_PRIVATE_KEY must be a hex string starting with 0x');
25
- }
23
+ // Auto-prepend 0x — viem requires it but private keys are not typically stored with it
24
+ const privateKey = rawKey.startsWith('0x')
25
+ ? rawKey
26
+ : `0x${rawKey}`;
26
27
  const signer = privateKeyToAccount(privateKey);
27
28
  const client = new x402Client();
28
29
  registerExactEvmScheme(client, { signer });
package/dist/x402.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQpD,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,aAA0C,CAAC;AAE/C,MAAM,UAAU,SAAS;IACvB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAChD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3C,IAAI,QAAQ,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAEpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAA2B,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,sBAAsB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzD,QAAQ,GAAG,IAAI,CAAC;IAChB,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAChF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,SAAS;IACvB,QAAQ,GAAG,KAAK,CAAC;IACjB,aAAa,GAAG,SAAS,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQpD,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,aAA0C,CAAC;AAE/C,MAAM,UAAU,SAAS;IACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvC,IAAI,QAAQ,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAEpD,uFAAuF;IACvF,MAAM,UAAU,GAAkB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACvD,CAAC,CAAE,MAAwB;QAC3B,CAAC,CAAE,KAAK,MAAM,EAAoB,CAAC;IAErC,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,sBAAsB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzD,QAAQ,GAAG,IAAI,CAAC;IAChB,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAChF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,SAAS;IACvB,QAAQ,GAAG,KAAK,CAAC;IACjB,aAAa,GAAG,SAAS,CAAC;AAC5B,CAAC"}
package/package.json CHANGED
@@ -1,89 +1,89 @@
1
- {
2
- "name": "@one-source/api-mcp",
3
- "version": "3.1.0",
4
- "type": "module",
5
- "description": "MCP server for OneSource blockchain data — 22 named tools for balances, NFTs, transactions, events, and live chain queries via x402",
6
- "bin": {
7
- "onesource-api-mcp": "./dist/cli.js"
8
- },
9
- "main": "./dist/create-server.js",
10
- "types": "./dist/create-server.d.ts",
11
- "exports": {
12
- ".": {
13
- "types": "./dist/create-server.d.ts",
14
- "default": "./dist/create-server.js"
15
- },
16
- "./tools": {
17
- "types": "./dist/tools/index.d.ts",
18
- "default": "./dist/tools/index.js"
19
- },
20
- "./client": {
21
- "types": "./dist/client.d.ts",
22
- "default": "./dist/client.js"
23
- },
24
- "./analytics": {
25
- "types": "./dist/analytics.d.ts",
26
- "default": "./dist/analytics.js"
27
- },
28
- "./x402": {
29
- "types": "./dist/x402.d.ts",
30
- "default": "./dist/x402.js"
31
- },
32
- "./types": {
33
- "types": "./dist/types.d.ts",
34
- "default": "./dist/types.js"
35
- }
36
- },
37
- "files": [
38
- "dist/",
39
- "README.md",
40
- "LICENSE"
41
- ],
42
- "keywords": [
43
- "mcp",
44
- "model-context-protocol",
45
- "onesource",
46
- "web3",
47
- "blockchain",
48
- "ethereum",
49
- "x402",
50
- "nft",
51
- "erc20",
52
- "transactions"
53
- ],
54
- "scripts": {
55
- "gen": "node scripts/gen-tools-index.mjs",
56
- "new-tool": "node scripts/new-tool.mjs",
57
- "prebuild": "npm run gen",
58
- "build": "tsc",
59
- "prepack": "node -e \"fs=require('fs');fs.copyFileSync('README.md','README.repo.md');fs.copyFileSync('README.npm.md','README.md')\"",
60
- "postpack": "node -e \"fs=require('fs');fs.renameSync('README.repo.md','README.md')\"",
61
- "prepublishOnly": "npm run build",
62
- "dev": "tsc --watch",
63
- "test": "vitest run",
64
- "test:watch": "vitest"
65
- },
66
- "dependencies": {
67
- "@modelcontextprotocol/sdk": "^1.27.1",
68
- "@x402/evm": "^2.0.0",
69
- "@x402/fetch": "^2.0.0",
70
- "viem": "^2.0.0",
71
- "zod": "^3.24.0"
72
- },
73
- "devDependencies": {
74
- "@types/node": "^22.0.0",
75
- "typescript": "^5.7.0",
76
- "vitest": "^2.0.0"
77
- },
78
- "engines": {
79
- "node": ">=18"
80
- },
81
- "author": "BlockParty",
82
- "license": "MIT",
83
- "homepage": "https://docs.onesource.io",
84
- "repository": {
85
- "type": "git",
86
- "url": "https://github.com/AnonDev-BlockParty/sre-services.git",
87
- "directory": "skills/mcp"
88
- }
89
- }
1
+ {
2
+ "name": "@one-source/api-mcp",
3
+ "version": "5.0.0",
4
+ "type": "module",
5
+ "description": "MCP server for OneSource blockchain data — 22 named tools for balances, NFTs, transactions, events, and live chain queries via x402",
6
+ "bin": {
7
+ "onesource-api-mcp": "./dist/cli.js"
8
+ },
9
+ "main": "./dist/create-server.js",
10
+ "types": "./dist/create-server.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/create-server.d.ts",
14
+ "default": "./dist/create-server.js"
15
+ },
16
+ "./tools": {
17
+ "types": "./dist/tools/index.d.ts",
18
+ "default": "./dist/tools/index.js"
19
+ },
20
+ "./client": {
21
+ "types": "./dist/client.d.ts",
22
+ "default": "./dist/client.js"
23
+ },
24
+ "./analytics": {
25
+ "types": "./dist/analytics.d.ts",
26
+ "default": "./dist/analytics.js"
27
+ },
28
+ "./x402": {
29
+ "types": "./dist/x402.d.ts",
30
+ "default": "./dist/x402.js"
31
+ },
32
+ "./types": {
33
+ "types": "./dist/types.d.ts",
34
+ "default": "./dist/types.js"
35
+ }
36
+ },
37
+ "files": [
38
+ "dist/",
39
+ "README.md",
40
+ "LICENSE"
41
+ ],
42
+ "keywords": [
43
+ "mcp",
44
+ "model-context-protocol",
45
+ "onesource",
46
+ "web3",
47
+ "blockchain",
48
+ "ethereum",
49
+ "x402",
50
+ "nft",
51
+ "erc20",
52
+ "transactions"
53
+ ],
54
+ "scripts": {
55
+ "gen": "node scripts/gen-tools-index.mjs",
56
+ "new-tool": "node scripts/new-tool.mjs",
57
+ "prebuild": "npm run gen",
58
+ "build": "tsc",
59
+ "prepack": "node -e \"fs=require('fs');fs.copyFileSync('README.md','README.repo.md');fs.copyFileSync('README.npm.md','README.md')\"",
60
+ "postpack": "node -e \"fs=require('fs');fs.renameSync('README.repo.md','README.md')\"",
61
+ "prepublishOnly": "npm run build",
62
+ "dev": "tsc --watch",
63
+ "test": "vitest run",
64
+ "test:watch": "vitest"
65
+ },
66
+ "dependencies": {
67
+ "@modelcontextprotocol/sdk": "^1.27.1",
68
+ "@x402/evm": "^2.0.0",
69
+ "@x402/fetch": "^2.0.0",
70
+ "viem": "^2.0.0",
71
+ "zod": "^3.24.0"
72
+ },
73
+ "devDependencies": {
74
+ "@types/node": "^22.0.0",
75
+ "typescript": "^5.7.0",
76
+ "vitest": "^2.0.0"
77
+ },
78
+ "engines": {
79
+ "node": ">=18"
80
+ },
81
+ "author": "BlockParty",
82
+ "license": "MIT",
83
+ "homepage": "https://docs.onesource.io",
84
+ "repository": {
85
+ "type": "git",
86
+ "url": "https://github.com/AnonDev-BlockParty/sre-services.git",
87
+ "directory": "skills/mcp"
88
+ }
89
+ }