helius-mcp 1.2.0 → 2.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/CHANGELOG.md +27 -0
- package/README.md +42 -30
- package/dist/http.d.ts +1 -1
- package/dist/index.js +2 -56
- package/dist/results/store.d.ts +8 -0
- package/dist/results/store.js +72 -0
- package/dist/results/types.d.ts +47 -0
- package/dist/results/types.js +1 -0
- package/dist/router/action-groups.d.ts +6 -0
- package/dist/router/action-groups.js +32 -0
- package/dist/router/action-handlers.d.ts +20 -0
- package/dist/router/action-handlers.js +125 -0
- package/dist/router/actions.d.ts +12 -0
- package/dist/router/actions.js +123 -0
- package/dist/router/catalog.d.ts +6 -0
- package/dist/router/catalog.js +388 -0
- package/dist/router/context.d.ts +5 -0
- package/dist/router/context.js +10 -0
- package/dist/router/dispatch.d.ts +4 -0
- package/dist/router/dispatch.js +276 -0
- package/dist/router/instructions.d.ts +1 -0
- package/dist/router/instructions.js +25 -0
- package/dist/router/register.d.ts +2 -0
- package/dist/router/register.js +15 -0
- package/dist/router/required-params.d.ts +9 -0
- package/dist/router/required-params.js +66 -0
- package/dist/router/responses.d.ts +29 -0
- package/dist/router/responses.js +186 -0
- package/dist/router/schemas.d.ts +216 -0
- package/dist/router/schemas.js +195 -0
- package/dist/router/telemetry.d.ts +27 -0
- package/dist/router/telemetry.js +52 -0
- package/dist/router/types.d.ts +46 -0
- package/dist/router/types.js +1 -0
- package/dist/scripts/validate-catalog.d.ts +2 -2
- package/dist/scripts/validate-catalog.js +10 -10
- package/dist/tools/accounts.js +5 -5
- package/dist/tools/assets.js +5 -5
- package/dist/tools/auth.js +392 -288
- package/dist/tools/config.js +3 -3
- package/dist/tools/das-extras.js +6 -6
- package/dist/tools/docs.js +55 -41
- package/dist/tools/enhanced-websockets.js +13 -13
- package/dist/tools/fees.js +3 -3
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +2 -80
- package/dist/tools/laserstream.js +20 -23
- package/dist/tools/network.js +41 -2
- package/dist/tools/plans.d.ts +0 -5
- package/dist/tools/plans.js +167 -12
- package/dist/tools/product-catalog.d.ts +1 -0
- package/dist/tools/product-catalog.js +51 -16
- package/dist/tools/recommend.d.ts +0 -1
- package/dist/tools/recommend.js +9 -28
- package/dist/tools/shared.d.ts +1 -0
- package/dist/tools/shared.js +10 -2
- package/dist/tools/solana-knowledge.js +23 -7
- package/dist/tools/staking.d.ts +2 -0
- package/dist/tools/staking.js +268 -0
- package/dist/tools/transactions.js +167 -3
- package/dist/tools/transfers.js +38 -43
- package/dist/tools/wallet.js +27 -16
- package/dist/tools/webhooks.js +3 -3
- package/dist/tools/zk-compression.d.ts +2 -0
- package/dist/tools/zk-compression.js +781 -0
- package/dist/utils/config.d.ts +2 -2
- package/dist/utils/config.js +68 -6
- package/dist/utils/errors.d.ts +10 -1
- package/dist/utils/errors.js +46 -12
- package/dist/utils/feedback.js +1 -4
- package/dist/utils/helius.js +2 -1
- package/dist/utils/ows.d.ts +74 -0
- package/dist/utils/ows.js +155 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/system-prompts/helius/claude.system.md +56 -25
- package/system-prompts/helius/full.md +474 -130
- package/system-prompts/helius/openai.developer.md +56 -25
- package/system-prompts/helius-dflow/claude.system.md +41 -6
- package/system-prompts/helius-dflow/full.md +581 -92
- package/system-prompts/helius-dflow/openai.developer.md +41 -6
- package/system-prompts/helius-jupiter/claude.system.md +333 -0
- package/system-prompts/helius-jupiter/full.md +5109 -0
- package/system-prompts/helius-jupiter/openai.developer.md +333 -0
- package/system-prompts/helius-okx/claude.system.md +182 -0
- package/system-prompts/helius-okx/full.md +584 -0
- package/system-prompts/helius-okx/openai.developer.md +182 -0
- package/system-prompts/helius-phantom/claude.system.md +15 -2
- package/system-prompts/helius-phantom/full.md +254 -101
- package/system-prompts/helius-phantom/openai.developer.md +15 -2
- package/system-prompts/svm/claude.system.md +1 -0
- package/system-prompts/svm/full.md +1 -0
- package/system-prompts/svm/openai.developer.md +1 -0
package/dist/tools/assets.js
CHANGED
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { getHeliusClient, hasApiKey } from '../utils/helius.js';
|
|
3
3
|
import { formatAddress } from '../utils/formatters.js';
|
|
4
4
|
import { noApiKeyResponse } from './shared.js';
|
|
5
|
-
import { mcpText, handleToolError, addressError, paginationError, notFoundError } from '../utils/errors.js';
|
|
5
|
+
import { mcpText, mcpError, handleToolError, addressError, paginationError, notFoundError, missingParamError, exclusiveParamError, batchLimitError } from '../utils/errors.js';
|
|
6
6
|
export function registerAssetTools(server) {
|
|
7
7
|
// Get Assets by Owner (NFTs and tokens via DAS)
|
|
8
8
|
server.tool('getAssetsByOwner', 'BEST FOR: listing NFTs/digital assets owned by a wallet. PREFER getTokenBalances for fungible tokens, getAsset for a specific mint. Get all NFTs and digital assets owned by a wallet. Returns asset names, types, and mint addresses. Supports regular NFTs and cNFTs. Credit cost: 10 credits (DAS API).', {
|
|
@@ -69,15 +69,15 @@ export function registerAssetTools(server) {
|
|
|
69
69
|
const helius = getHeliusClient();
|
|
70
70
|
// Validate: must provide exactly one of id or ids
|
|
71
71
|
if (!id && (!ids || ids.length === 0)) {
|
|
72
|
-
return
|
|
72
|
+
return missingParamError('getAsset', 'Provide either `id` (single asset) or `ids` (batch of up to 1000).');
|
|
73
73
|
}
|
|
74
74
|
if (id && ids && ids.length > 0) {
|
|
75
|
-
return
|
|
75
|
+
return exclusiveParamError('getAsset', 'id', 'ids');
|
|
76
76
|
}
|
|
77
77
|
// --- Batch mode ---
|
|
78
78
|
if (ids && ids.length > 0) {
|
|
79
79
|
if (ids.length > 1000) {
|
|
80
|
-
return
|
|
80
|
+
return batchLimitError('getAsset', 1000, ids.length);
|
|
81
81
|
}
|
|
82
82
|
let assets;
|
|
83
83
|
try {
|
|
@@ -254,7 +254,7 @@ export function registerAssetTools(server) {
|
|
|
254
254
|
// General search → searchAssets
|
|
255
255
|
else {
|
|
256
256
|
if (name && !ownerAddress) {
|
|
257
|
-
return
|
|
257
|
+
return mcpError(`**Search Error:** Searching by name requires an owner address. Please also provide \`ownerAddress\` to search for assets named "${name}".`, { type: 'VALIDATION', code: 'MISSING_PARAM', retryable: false, recovery: 'Provide `ownerAddress` when searching by name.' });
|
|
258
258
|
}
|
|
259
259
|
const params = { page, limit };
|
|
260
260
|
if (ownerAddress)
|