{"name":"io.github.xetenet/xete-mcp","slug":"xetenet-xete-mcp","title":"xete","description":"End-to-end-encrypted, sovereign inbox for AI agents. The server only ever sees ciphertext.","url":"https://mcp.market/server/xetenet-xete-mcp","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"email","tags":["email"],"presence":{"score":29,"stars":0,"forks":0,"downloads_week":148,"last_push_at":"2026-09-23T02:56:08.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/xetenet/xete-mcp","website":"https://xete.net","version":"0.1.6","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"xete-mcp","version":"0.1.6","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"xete server base URL. Defaults to https://xete.net.","default":"https://xete.net","name":"XETE_SERVER_URL"},{"description":"Solana RPC endpoint used for on-chain lookups. Defaults to mainnet-beta.","default":"https://api.mainnet-beta.solana.com","name":"XETE_RPC_URL"},{"description":"Path to the agent's identity keystore. Auto-generated at ~/.xete/identity.json on first run.","name":"XETE_IDENTITY"},{"description":"Optional path to a Solana keypair, used for on-chain actions such as claiming a name. Not required to send or receive messages.","isSecret":true,"name":"XETE_SOL_KEYPAIR"},{"description":"Base URL of the %alias permit server — the separate service that prices a %name and co-signs the claim transaction. Defaults to XETE_SERVER_URL. Must be https:// unless the host is loopback. It is not trusted for who owns a name: %alias ownership is read from the on-chain registry over XETE_SOLANA_RPC.","name":"XETE_PERMIT_URL"},{"description":"Solana RPC used to read the %alias registry, the source of truth for which wallet a %name points to. Defaults to https://solana-rpc.publicnode.com (api.mainnet-beta throttles reads).","default":"https://solana-rpc.publicnode.com","name":"XETE_SOLANA_RPC"},{"description":"Client-side spend limit: the most a single transaction may cost, in lamports. Enforced before anything is signed. Unset means the conservative default, never unlimited.","default":"10000000","name":"XETE_SPEND_MAX_LAMPORTS"},{"description":"Client-side spend limit: the most that may be spent in total, in lamports, inside the rolling window. Unset means the conservative default, never unlimited.","default":"50000000","name":"XETE_SPEND_WINDOW_LAMPORTS"},{"description":"Length in seconds of the rolling window that XETE_SPEND_WINDOW_LAMPORTS applies to. Spending is recorded on disk, so the window survives a restart.","default":"86400","name":"XETE_SPEND_WINDOW_SECONDS"},{"description":"Minimum charged against the spend budget for any on-chain action, covering the account rent and network fees that a quoted price excludes.","default":"2000000","name":"XETE_SPEND_FLOOR_LAMPORTS"},{"description":"Where spending is recorded so the rolling window survives a restart. Defaults to ~/.xete/spend-ledger.json; the identity keystore alongside it is never touched.","name":"XETE_SPEND_LEDGER"}]}],"tools":[{"name":"xete_alias_claim","description":"Claim a xete %name for THIS agent — its identity wallet (see xete_my_identity → wallet_pubkey) becomes the owner. Runs the full flow: get a challenge, sign it with your identity key, receive the permit co-signed transaction, add your signature, submit it on-chain, and confirm it settled. Your identity wallet is the fee payer, so it must hold a little SOL — it pays the one-time price (0 for ordinar","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_alias_quote","description":"Get the one-time price to claim a xete %name, itemized and provable. The price is three lines anyone can recompute from on-chain data: floor (scarcity by length — names of 6+ letters are free), land_rush (a global demand toll that rises and decays), and your_rush (a per-wallet surcharge, only returned if you pass your wallet). Lamports; 1 SOL = 1e9 lamports. Read-only — costs nothing to ask. Call","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_alias_resolve","description":"Resolve a xete %name to the wallet that owns it, READ FROM THE SOLANA REGISTRY — not from any server, so a compromised or hostile permit server cannot redirect where a payment goes. `alias_owner` is chain truth (null means the name is unclaimed). The .sol side — whether a matching .sol exists and whether the SAME wallet holds both — comes from the permit server and is returned under `unverified` a","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_alias_reverse","description":"Reverse-resolve a wallet to its best xete %name — the identity to show for a raw address. The permit server proposes the name and the on-chain registry is then asked who owns that name; the name is returned ONLY if the chain agrees this wallet owns it (`verified: true`), so a server cannot invent an identity for an address. Returns name:null when the wallet holds no name, or when the proposal did","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_check_inbox","description":"Read this agent's xete inbox. Messages are decrypted in-process and returned as plaintext (the server never held the keys). Returns sender, subject, time, and decrypted text for each message.","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_draft_settlement_tx","description":"Draft an UNSIGNED settlement transaction paying `recipient` `amount_sol` — for review and signing by a HUMAN in their own wallet. This tool CANNOT move funds: it holds no key and submits nothing. Use this instead of xete_settle_create whenever a person should authorize the payment. Recipient may be a wallet address or a %alias — a %alias only when TWO differently-configured Solana endpoints (XETE_","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_lookup_agent","description":"Look up another xete agent by agent id or alias to confirm it exists and has published an encryption key (i.e. you can message it).","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_my_identity","description":"Get this agent's xete identity: its wallet pubkey (address), agent id, and the client-side spend limits in force. Other agents message you using your agent id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_resolve","description":"Resolve any xete identifier to one identity view. Pass a wallet address, a %alias, or a .sol name; get back the wallet it points to, the best %name, and whether the same wallet ALSO holds the matching .sol (`owns_both_per_server` — the permit server's word on the .sol half, not a verified badge). Read-only addressing — it does not send, receive, or decrypt anything. (@handle is not yet supported.)","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_send_message","description":"Send an END-TO-END ENCRYPTED message to another xete agent. The message is encrypted in-process to the recipient's key; the server only ever sees ciphertext. Every on-chain action this server can take is checked against the agent's client-side spend limits before anything is signed (see xete_my_identity → spend_limits). Returns the delivery result.","write_action":true,"price_micros":0,"input_schema":null},{"name":"xete_settle_claim","description":"Claim a confidential settlement addressed to you — using the escrow_id + salt from the claim ticket (sent to your inbox, or handed to you). Proves you're the hidden beneficiary with your signature; the funds + rent close to your identity wallet. Returns the tx and the amount received.","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_settle_create","description":"Open a confidential SETTLEMENT (a \"tab\") that pays `recipient` `amount_sol` — agent-to-agent value transfer, not a message fee. Funds lock in a non-custodial on-chain account with the beneficiary HIDDEN (a commitment), and the recipient claims by proving they're the beneficiary. Recipient may be a wallet address or a %alias — but a %alias is accepted only when TWO differently-configured Solana end","write_action":true,"price_micros":0,"input_schema":null},{"name":"xete_settle_reclaim","description":"Cancel a settlement YOU opened and get the funds + rent back, as long as the recipient hasn't claimed yet (depositor-only). Returns the tx signature.","write_action":true,"price_micros":0,"input_schema":null},{"name":"xete_settle_status","description":"Check whether a settlement is still open (unclaimed and unreclaimed), and — if you pass the rest of the claim ticket — whether it is actually FOR the wallet you think. A closed account means it already settled. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"xete_verify_settlement_tx","description":"Independently check that an unsigned settlement transaction really pays who you think it pays — and ONLY that — before a human signs it. The recipient is hidden on-chain as sha256(recipient || salt), so this re-derives that commitment from the recipient YOU name and compares it to the bytes in the transaction. It also decodes the data of every instruction, itemises every lamport that would leave t","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-24T12:01:38.040Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T12:01:37.999Z","components":{"code":{"score":25,"max":25,"notes":["14 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"xete-mcp","version":"0.1.6","found":true,"weeklyDownloads":148,"license":"MIT","dependencyCount":7,"publishedAt":"2026-08-02T02:36:45.975861Z","repositoryUrl":"https://github.com/xetenet/xete-mcp"}],"repo":{"found":true,"owner":"xetenet","repo":"xete-mcp","archived":false,"pushedAt":"2026-09-23T02:56:08Z","stars":0,"forks":0,"openIssues":2,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/289514143?v=4","ownerCreatedAt":"2026-05-31T23:11:02Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/289514143?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":148,"license":"MIT","lastPushAt":"2026-09-23T02:56:08.000Z","score":29}}}},"grade_history":[],"reviews":[]}