# SolKnife (remote · solknife.xyz)

Non-custodial Solana toolkit: rug-checks, swaps, portfolios, token minting, multisig, Arweave.

- Trust score: 67/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `solknife.xyz`: 67/100 (this document), [markdown](https://verifymcp.io/servers/xyz-solknife-toolkit/api-mcp.md), [page](https://verifymcp.io/servers/xyz-solknife-toolkit/api-mcp)

## Channel facts

- Endpoint: `https://solknife.xyz/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 55 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5917 tokens (~107/item across 55 items; 55 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 95/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 85% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http xyz-solknife-toolkit https://solknife.xyz/api/mcp
```

### Codex

```toml
[mcp_servers.xyz-solknife-toolkit]
url = "https://solknife.xyz/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "xyz-solknife-toolkit": {
      "type": "remote",
      "url": "https://solknife.xyz/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add xyz-solknife-toolkit --url https://solknife.xyz/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  xyz-solknife-toolkit:
    url: "https://solknife.xyz/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "xyz-solknife-toolkit": {
      "type": "http",
      "url": "https://solknife.xyz/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 65, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 64, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 61)

First indexed and scored.

## MCP tools (55)

### `solknife_check_scan` (~59 tokens)

Rug-check a Solana token: freeze authority, sellability, holders, liquidity. Returns the same ReportResult shape as GET /api/check.

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_token_meta` (~46 tokens)

Fetch token metadata (name, symbol, decimals, image) for a mint.

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_portfolio_holdings` (~40 tokens)

List a wallet's priced token holdings.

Input parameters:

- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_portfolio_compose_plan` (~93 tokens)

Plan a USD-valued portfolio rebalance from target mint percentages. `targets[].bps` must total 10000.

Input parameters:

- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `slippageBps` (integer)
- `targets` (array, required): The desired portfolio: each mint and its share in basis points, summing to 10000.

### `solknife_pool_check` (~49 tokens)

Read one Meteora DLMM pool: depth, volume, fee yield, token safety summary.

Input parameters:

- `address` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_pool_compare` (~44 tokens)

Compare every Meteora DLMM pool for a token side by side.

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_positions_list` (~45 tokens)

List a wallet's open Meteora DLMM positions with PnL.

Input parameters:

- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_mint_supply_read` (~75 tokens)

Read a mint's authority state plus whether `owner` is its mint authority (prerequisite for mint-to).

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_revoke_authority_read` (~70 tokens)

Read a mint's current mint + freeze authorities and whether `owner` holds either.

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_change_authority_read` (~73 tokens)

Read a mint's current mint + freeze authorities and whether `owner` holds either (before transferring one).

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_token_metadata_read` (~71 tokens)

Read a mint's current on-chain Metaplex metadata and whether `owner` can update it.

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_burn_nft_list` (~43 tokens)

List a wallet's NFT assets (DAS).

Input parameters:

- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_reclaim_rent_list` (~43 tokens)

List a wallet's reclaimable empty token accounts.

Input parameters:

- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_ct_state` (~70 tokens)

Read confidential-transfer state for owner + mint (mint extension flags, account configured, balance ciphertexts).

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_ct_orphans_list` (~53 tokens)

List a wallet's orphan ZK Proof context-state accounts (left by partial Withdraw or Transfer sagas).

Input parameters:

- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_create_mint_build` (~156 tokens)

Build an unsigned create-mint tx. Returns the base64 v0 transaction + lastValidBlockHeight + derived mint address.

Input parameters:

- `decimals` (integer, required): Decimal places for the new mint. 9 matches SOL, 6 matches USDC.
- `extensions` (object): Token-2022 extensions to enable. Omit entirely for program: spl-token.
- `freezeAuthority` (boolean, required): Whether the new mint gets a freeze authority. False makes accounts unfreezable forever.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `payer` (string, required): A Solana address in base58, 32-44 chars.
- `program` (string, required)

### `solknife_mint_supply_build` (~125 tokens)

Build an unsigned mint-to tx. `amount` is a whole-token decimal string; the builder parses it against the mint's decimals.

Input parameters:

- `amount` (string, required): Amount to mint, in base units (not decimal). Multiply by 10^decimals yourself.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `payer` (string, required): A Solana address in base58, 32-44 chars.
- `recipient` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_revoke_authority_build` (~120 tokens)

Build an unsigned revoke-authority tx (mint and/or freeze). Permanent on-chain.

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `payer` (string, required): A Solana address in base58, 32-44 chars.
- `revokeFreeze` (boolean, required): Permanently revoke the freeze authority. Irreversible: accounts can never be frozen.
- `revokeMint` (boolean, required): Permanently revoke the mint authority. Irreversible: no new supply can ever be minted.

### `solknife_change_authority_build` (~136 tokens)

Build an unsigned change-authority tx: transfer the mint and/or freeze authority to newAuthority. The new authority is pinned in the tx the client verifies before signing.

Input parameters:

- `changeFreeze` (boolean, required): Transfer the freeze authority to newAuthority.
- `changeMint` (boolean, required): Transfer the mint authority to newAuthority.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `newAuthority` (string, required): A Solana address in base58, 32-44 chars.
- `payer` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_token_metadata_build` (~155 tokens)

Build an unsigned set/update Metaplex metadata tx. `lock` makes the metadata immutable (irreversible).

Input parameters:

- `lock` (boolean, required): Permanently freeze the metadata after this update. Irreversible.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `name` (string, required): On-chain token name, e.g. "Wrapped SOL".
- `payer` (string, required): A Solana address in base58, 32-44 chars.
- `symbol` (string, required): On-chain ticker, e.g. "WSOL".
- `uri` (string, required): URL of the off-chain metadata JSON (image, description). Often an Arweave or IPFS link.

### `solknife_create_account_build` (~77 tokens)

Build an unsigned ATA-create tx (idempotent) for one or more mints.

Input parameters:

- `mints` (array, required)
- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `payer` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_reclaim_rent_build` (~68 tokens)

Build chunked close-batch tx(s) for the wallet's empty token accounts. Up to MAX_RECLAIM_ACCOUNTS addresses.

Input parameters:

- `accounts` (array, required)
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_burn_nft_build` (~57 tokens)

Build chunked burn tx(s) for selected NFTs (pNFTs supported).

Input parameters:

- `mints` (array, required)
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_swap_order` (~150 tokens)

Jupiter quote + unsigned swap tx. `amount` in input-mint base units. Returns the unsigned tx + lastValidBlockHeight + quote details.

Input parameters:

- `amount` (string, required): Amount in base units as a decimal string (not a float). For a 6-decimal mint, "1000000" is 1 token.
- `inputMint` (string, required): A Solana address in base58, 32-44 chars.
- `outputMint` (string, required): A Solana address in base58, 32-44 chars.
- `slippageBps` (integer)
- `taker` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_portfolio_compose_build` (~98 tokens)

Build a best-effort single auto-compose transaction for a target portfolio. Charges the configured compose fee when SOLKNIFE_FEE_ACCOUNT is set.

Input parameters:

- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `slippageBps` (integer)
- `targets` (array, required): The desired portfolio: each mint and its share in basis points, summing to 10000.

### `solknife_ct_configure_build` (~135 tokens)

Build the Configure tx. Needs an agent-generated PubkeyValidity proof (96 B base64) + decryptable-zero AES ciphertext (36 B base64).

Input parameters:

- `decryptableZeroBalance` (string, required): Base64 of the 36-byte AES-encrypted zero balance your worker computed.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `pubkeyValidityProof` (string, required): Base64 of the 96-byte pubkey-validity proof from your ZK worker.

### `solknife_ct_deposit_build` (~133 tokens)

Build the Deposit tx (public → confidential pending). `amount` in base units (u64 string).

Input parameters:

- `amount` (string, required): Amount in base units as a decimal string (not a float). For a 6-decimal mint, "1000000" is 1 token.
- `decimals` (integer, required): The mint's decimals. Must match the mint exactly or the transfer fails on-chain.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_ct_apply_pending_build` (~117 tokens)

Build the ApplyPending tx. The agent-supplied `newDecryptableAvailable` (36 B AES base64) is what the worker computed.

Input parameters:

- `expectedPendingCounter` (string, required)
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `newDecryptableAvailable` (string, required): Base64 of the 36-byte AES-encrypted new available balance your worker computed.
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_ct_empty_and_close_build` (~104 tokens)

Build the combined EmptyAccount + CloseAccount tx. Agent provides the 96 B base64 zero-ciphertext proof.

Input parameters:

- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `zeroCiphertextProof` (string, required): Base64 of the 96-byte zero-ciphertext proof from your ZK worker.

### `solknife_ct_withdraw_build` (~261 tokens)

Build the 5-tx Withdraw saga. Agent supplies equality (320 B) + range U64 (936 B) proofs + new AES decryptable (36 B), plus the two ephemeral ctx-state pubkeys.

Input parameters:

- `amount` (string, required): Amount in base units as a decimal string (not a float). For a 6-decimal mint, "1000000" is 1 token.
- `decimals` (integer, required): The mint's decimals. Must match the mint exactly.
- `equalityContextAccount` (string, required): A Solana address in base58, 32-44 chars.
- `equalityProof` (string, required): Base64 of the ciphertext-commitment equality proof from your ZK worker.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `newDecryptableAvailable` (string, required): Base64 of the 36-byte AES-encrypted new available balance your worker computed.
- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `rangeContextAccount` (string, required): A Solana address in base58, 32-44 chars.
- `rangeProof` (string, required): Base64 of the range proof from your ZK worker.

### `solknife_ct_transfer_build` (~347 tokens)

Build the 5-tx Transfer saga. Agent supplies equality (320 B) + validity-3H (544 B) + range U128 (1000 B) proofs + auditor lo/hi ciphertexts (64 B each) + new AES decryptable (36 B), plus the three ephemeral ctx-state pubkeys.

Input parameters:

- `auditorCiphertextHi` (string, required): Base64 of the high 32 bytes of the auditor ElGamal ciphertext.
- `auditorCiphertextLo` (string, required): Base64 of the low 32 bytes of the auditor ElGamal ciphertext.
- `destinationTokenAccount` (string, required): A Solana address in base58, 32-44 chars.
- `equalityContextAccount` (string, required): A Solana address in base58, 32-44 chars.
- `equalityProof` (string, required): Base64 of the ciphertext-commitment equality proof from your ZK worker.
- `mint` (string, required): A Solana address in base58, 32-44 chars.
- `newSourceDecryptableAvailable` (string, required): Base64 of the 36-byte AES-encrypted post-transfer source balance your worker computed.
- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `rangeContextAccount` (string, required): A Solana address in base58, 32-44 chars.
- `rangeProof` (string, required): Base64 of the range proof from your ZK worker.
- `validityContextAccount` (string, required): A Solana address in base58, 32-44 chars.
- `validityProof` (string, required): Base64 of the batched ciphertext-validity proof from your ZK worker.

### `solknife_ct_orphans_build` (~56 tokens)

Build chunked CloseContextState tx(s) to reclaim orphan ZK ctx rent.

Input parameters:

- `addresses` (array, required)
- `owner` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_swap_execute` (~104 tokens)

Submit a wallet-signed swap transaction. Returns the ExecuteOutcome (confirmed/failed/expired/unknown).

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_portfolio_compose_execute` (~122 tokens)

Submit a wallet-signed portfolio compose transaction after top-level program allowlist verification.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_create_mint_execute` (~107 tokens)

Submit a wallet-signed create-mint tx. Structural re-verifier pins the mint creation ix + fee.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_mint_supply_execute` (~106 tokens)

Submit a wallet-signed mint-to tx. Structural re-verifier pins the mint-to ix + fee.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_create_account_execute` (~108 tokens)

Submit a wallet-signed ATA-create tx. Structural re-verifier pins the ATA creation ix(s) + allowlist.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_revoke_authority_execute` (~109 tokens)

Submit a wallet-signed revoke-authority tx. Structural re-verifier pins the revoke ix(s) + fee.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_change_authority_execute` (~109 tokens)

Submit a wallet-signed change-authority tx. Structural re-verifier pins the reassign ix(s) + fee.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_token_metadata_execute` (~106 tokens)

Submit a wallet-signed Metaplex metadata tx. Structural re-verifier pins the metadata ix + fee.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_reclaim_rent_execute` (~130 tokens)

Submit reclaim-rent close-batch tx(s) (signed). Each is re-verified against fresh on-chain state for the wallet's reclaimable accounts. Returns per-tx outcomes.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `owner` (string, required): A Solana address in base58, 32-44 chars.
- `signedTransactions` (array, required): The signed base64 transactions from /build, in the order /build returned them.

### `solknife_burn_nft_execute` (~103 tokens)

Submit burn-nft tx(s) (signed). Structural re-verifier pins the burn ixs + fee per tx. Returns per-tx outcomes.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransactions` (array, required): The signed base64 transactions from /build, in the order /build returned them.

### `solknife_ct_submit` (~182 tokens)

Submit a CT signed tx (single-tx ops) or saga (multi-tx ops). `op` discriminates. For saga ops (withdraw, transfer, reclaim-orphans) supply `signedTransactions` (an array); otherwise supply `signedTransaction`. The server re-verifies the saga shape + fee per op before relaying.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `op` (string, required)
- `signedTransaction` (string): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.
- `signedTransactions` (array): The signed base64 transactions from /build, in the order /build returned them.

### `solknife_arweave_upload_relay` (~117 tokens)

Upload a base64-encoded file to Arweave via SolKnife's funded Irys account. JSON-only — for agents without a wallet-adapter integration. Allowed contentType: image/png, image/jpeg, image/gif, image/webp, application/json. Max 2 MiB. Returns { arweaveTxId, arweaveUrl }.

Input parameters:

- `contentType` (string, required)
- `fileBase64` (string, required): Base64 of the file bytes. Max 2 MiB decoded.

### `solknife_multisig_create_build` (~161 tokens)

Build an unsigned create-multisig tx. createKey is a fresh random pubkey the agent generates; it must co-sign the tx (two signers: creator + createKey). Returns the derived multisig + vault addresses, base64 v0 tx, and lastValidBlockHeight.

Input parameters:

- `createKey` (string, required): A Solana address in base58, 32-44 chars.
- `creator` (string, required): A Solana address in base58, 32-44 chars.
- `members` (array, required): The multisig members. Omit permissions to grant all three.
- `threshold` (integer, required): Approvals required to execute a proposal. Must not exceed the member count.
- `timeLock` (integer)

### `solknife_multisig_create_execute` (~107 tokens)

Submit the signed create-multisig tx (signed by both the creator wallet and the createKey).

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_multisig_propose_build` (~202 tokens)

Build an unsigned propose tx. kind=sol-transfer needs recipient+lamports; token-transfer needs mint+recipient+amount (base units); instructions takes raw inner instructions ({programId, accounts, data:base64}) whose payer is the vault PDA. The proposer auto-approves if they can vote.

Input parameters:

- `amount` (string)
- `ephemeralSigners` (integer)
- `instructions` (array)
- `kind` (string, required)
- `lamports` (integer)
- `memo` (string)
- `mint` (string): A Solana address in base58, 32-44 chars.
- `multisig` (string, required): A Solana address in base58, 32-44 chars.
- `proposer` (string, required): A Solana address in base58, 32-44 chars.
- `recipient` (string): A Solana address in base58, 32-44 chars.

### `solknife_multisig_propose_execute` (~95 tokens)

Submit the signed propose-transaction tx.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_multisig_config_build` (~156 tokens)

Build an unsigned config-change proposal. op=add-member needs member (+optional permissions); remove-member needs member; change-threshold needs threshold. Only works on m-of-n multisigs (no single config authority).

Input parameters:

- `member` (string): A Solana address in base58, 32-44 chars.
- `memo` (string)
- `multisig` (string, required): A Solana address in base58, 32-44 chars.
- `op` (string, required)
- `permissions` (object): What this member is allowed to do. All three are independent.
- `proposer` (string, required): A Solana address in base58, 32-44 chars.
- `threshold` (integer)

### `solknife_multisig_config_execute` (~94 tokens)

Submit the signed config-change proposal tx.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

### `solknife_multisig_state` (~81 tokens)

Read a Squads v4 multisig by address: members + permissions, threshold, vault balance, and pending proposals (vote tallies, who has voted, whether it can be executed). Returns null if the address is not a multisig.

Input parameters:

- `address` (string, required): A Solana address in base58, 32-44 chars.

### `solknife_multisig_approve_build` (~99 tokens)

Build an unsigned vote tx: approve or reject the proposal at transactionIndex.

Input parameters:

- `member` (string, required): A Solana address in base58, 32-44 chars.
- `multisig` (string, required): A Solana address in base58, 32-44 chars.
- `transactionIndex` (integer, required): The proposal index, as returned by /api/multisig/state.
- `vote` (string, required)

### `solknife_multisig_approve_execute` (~110 tokens)

Submit the signed vote tx. Pass the same vote value used in the build.

Input parameters:

- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.
- `vote` (string, required)

### `solknife_multisig_execute_build` (~129 tokens)

Build an unsigned execute tx for an APPROVED proposal at transactionIndex. The server detects vault vs config and returns executeKind; pass it to execute.execute. computeUnitLimit optionally raises the CU cap for heavy inner transactions.

Input parameters:

- `computeUnitLimit` (integer)
- `member` (string, required): A Solana address in base58, 32-44 chars.
- `multisig` (string, required): A Solana address in base58, 32-44 chars.
- `transactionIndex` (integer, required): The proposal index, as returned by /api/multisig/state.

### `solknife_multisig_execute_execute` (~111 tokens)

Submit the signed execute-proposal tx. Pass the executeKind returned by execute.build.

Input parameters:

- `executeKind` (string, required)
- `lastValidBlockHeight` (integer, required): The `lastValidBlockHeight` returned alongside the unsigned tx by /build. Past this block height the tx can no longer land.
- `signedTransaction` (string, required): The base64 VersionedTransaction returned by the matching /build call, signed with your key. Do not submit it yourself; this endpoint submits it.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/xyz-solknife-toolkit/api-mcp#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 66
- 2026-08-01: 66
- 2026-07-31: 65
- 2026-07-30: 64
- 2026-07-29: 63
- 2026-07-28: 62
- 2026-07-27: 62
- 2026-07-26: 61

## Links

- Remote endpoint: https://solknife.xyz/api/mcp
- Website: https://solknife.xyz/agents
- Changelog RSS feed: https://verifymcp.io/servers/xyz-solknife-toolkit/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/xyz-solknife-toolkit/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/xyz-solknife-toolkit/api-mcp
