Enables creation and management of Multi-Party Computation (MPC) wallets on the Solana blockchain, including capabilities to sign raw hex data and check wallet status.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Para Wallet MCP ServerCreate a new EVM wallet for user@example.com and give me the address"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Para Wallet MCP Server
An MCP (Model Context Protocol) server that wraps Para's REST API, giving AI agents wallet creation and signing capabilities via MPC (Multi-Party Computation).
Tools
Tool | Purpose |
| Create an MPC wallet (EVM, Solana, Cosmos) |
| Get wallet status and address |
| Sign 0x-hex data via MPC |
| Batch-fetch multiple wallets by ID |
| Poll until wallet is ready after creation |
Setup
Get a Para API key at developer.getpara.com
Allowlist your server IP in the Para dashboard
Clone and install:
git clone https://github.com/adeets-22/para-wallet-mcp.git
cd para-wallet-mcp
npm install
npm run buildCopy
.env.exampleto.envand add your API key:
cp .env.example .envMCP Client Configuration
Add to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"para-wallet": {
"command": "node",
"args": ["/path/to/para-wallet-mcp/dist/index.js"],
"env": {
"PARA_API_KEY": "your_api_key_here"
}
}
}
}Or for development with tsx:
{
"mcpServers": {
"para-wallet": {
"command": "npx",
"args": ["tsx", "/path/to/para-wallet-mcp/src/index.ts"],
"env": {
"PARA_API_KEY": "your_api_key_here"
}
}
}
}Development
npm run dev # Watch mode with tsx
npm run build # Compile TypeScript
npm start # Run compiled serverExample Workflow
create_wallet(type: "EVM", userIdentifier: "alice@example.com", userIdentifierType: "EMAIL")
→ wallet.id = "abc-123", status = "creating"
wait_for_wallet_ready(walletId: "abc-123")
→ status = "ready", address = "0x742d..."
sign_raw(walletId: "abc-123", data: "0x48656c6c6f")
→ signature = "a1b2c3..."License
MIT