Provides comprehensive wallet, token, and smart contract utilities for the Abstract network, enabling users to check balances, transfer tokens, deploy ERC-20 contracts, and manage Abstract Global Wallets (smart contract accounts).
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., "@Society Abstract MCPcheck the USDC balance of vitalik.eth"
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.
Society Abstract MCP
FastMCP TypeScript server providing comprehensive wallet, token and smart contract utilities for Abstract Testnet/Mainnet

๐ ๏ธ Available Tools
1.
Get native ETH or ERC-20 token balance for any address with ENS support.
Parameters:
address(required): Wallet address or ENS name to check balance fortokenAddress(optional): ERC-20 contract address for token balancetokenSymbol(optional): Token symbol (e.g., "USDC") for well-known tokens
Example Usage:
Returns: Human-readable balance as string (e.g., "1.234567")
2.
Transfer native ETH or ERC-20 tokens to another address with ENS support.
Parameters:
to(required): Recipient address or ENS nameamount(required): Amount to transfer in human-readable formattokenAddress(optional): ERC-20 contract address for token transferstokenSymbol(optional): Token symbol for well-known tokens
Example Usage:
Returns: Transaction hash of the successful transfer
3.
Deploy a new ERC-20 BasicToken contract to Abstract network.
Parameters:
name(required): Token name (e.g., "DemoToken")symbol(required): Token symbol/ticker (e.g., "DMT")initialSupply(required): Total supply in wei (18 decimals) as string
Example Usage:
Returns: Deployed contract address and deployment details
4.
Deploy a new Abstract Global Wallet (smart contract account) for a given signer.
Parameters:
signer(optional): EOA signer address or ENS name. If omitted, uses server wallet as initial signer
Example Usage:
Returns: Smart account address and deployment transaction hash
5.
Generate a brand-new Externally Owned Account (EOA) with private key and address.
Parameters:
random_string(required): Any string for entropy (can be anything)
Example Usage:
Returns:
privateKey: 0x-prefixed 32-byte hex stringaddress: Checksummed Ethereum/Abstract address
โ ๏ธ Security Note: Store the private key securely and never log it.
๐ Quick Start
For MCP Client Integration
Using NPX (Recommended)
Using Local Build
For Development
๐ Environment Variables
Required for MCP Client:
ABSTRACT_PRIVATE_KEY: EOA private key that pays gas feesABSTRACT_RPC_URL: Abstract network RPC URLTESTNET: "true" for testnet, "false" for mainnet
Optional for MCP Client:
PORT: HTTP port for the MCP server (default: 3101)MCP_DISABLE_PINGS: "true" to disable ping messages
Note: No .env file needed for production. All variables should be passed by the MCP client.
๐๏ธ Build & Deploy
๐งช Testing
Unit Tests:
npm run test(mocked, no gas required)Integration Tests:
INTEGRATION=1 npm run test:int(requires testnet funds)Balance Checker:
npm run balance(multi-network balance tool)
๐ Technical Details
Framework: FastMCP with TypeScript
Networks: Abstract Testnet/Mainnet
Standards: ERC-20 tokens, Abstract Global Wallets
Dependencies: viem, zksync-ethers, @abstract-foundation/agw-client
Build Target: ES2022 (Node.js โฅ 16.14)
๐ค Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
Issues: GitHub Issues
Documentation: This README and inline code documentation
Community: Join our Telegram