This is a Model Context Protocol (MCP) server implementation for Recall operations. It allows Cursor, Claude Desktop, and other MCP-compatible clients to interact with Recall services for blockchain storage operations.
This MCP server provides the following operations:
Account Operations
Bucket Operations
Object Operations
IMPORTANT: PRIVATE KEY PROTECTION
This MCP server requires a private key for Recall operations. To protect this sensitive information:
cat .env
)chmod 600 .env
This server implements several layers of security to keep your private key safe:
The MCP server is designed to hide your private key from the LLM, but you must follow these safety practices:
Clone the repository
Install dependencies:
npm install
Choose one of these configuration methods:
The recommended approach is to provide environment variables directly in your Cursor or Claude Desktop configuration. This is more secure and eliminates the need for a .env file.
If you prefer to use a .env file, or are running the server directly without Cursor/Claude, you can create one:
Copy the example environment file:
cp .env.example .env
Edit the .env
file with your private key:
RECALL_PRIVATE_KEY=your_private_key_here
RECALL_NETWORK=testnet
Secure your .env file:
chmod 600 .env
Note: The private key can be provided with or without the "0x" prefix - both formats work.
The server will only attempt to load from the .env file if the required environment variables (RECALL_PRIVATE_KEY) are not already present in the environment.
The Recall MCP server uses the following order of precedence for environment variables:
npm run build
npm run start
npm run dev
When developing the MCP server, use console.error()
instead of console.log()
for all debugging and logging. The Claude Desktop app communicates with the server via stdout, so any console.log()
statements will interfere with this communication and cause JSON parsing errors.
To add this MCP server to Cursor:
npm run build
Recall MCP
(or any name you prefer)command
node
/path/to/recall-mcp/dist/index.js
(replace with your actual path)RECALL_PRIVATE_KEY
: Your private key (with or without "0x" prefix)RECALL_NETWORK
: testnet
(or mainnet
if needed)DEBUG
: true
(optional, for additional logging)For more security, you can configure Cursor via the .cursor/mcp.json
file in your home directory:
{
"mcpServers": {
"recall-mcp": {
"name": "Recall MCP",
"type": "command",
"command": "node",
"args": ["/path/to/recall-mcp/dist/index.js"],
"env": {
"RECALL_PRIVATE_KEY": "your-private-key-here",
"RECALL_NETWORK": "testnet",
"DEBUG": "true"
}
}
}
}
This approach eliminates the need for a .env file.
To add this MCP server to Claude Desktop:
Build the project first with npm run build
Locate your Claude Desktop configuration file at:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
Create or edit the claude_desktop_config.json
file with the following content:
{
"mcpServers": {
"recall-mcp-server": {
"name": "Recall MCP",
"type": "command",
"command": "node",
"args": [
"/path/to/recall-mcp/dist/index.js"
],
"env": {
"RECALL_PRIVATE_KEY": "your-private-key-here",
"RECALL_NETWORK": "testnet",
"DEBUG": "true"
}
}
}
}
Replace /path/to/recall-mcp/dist/index.js
with the full path to your compiled server file
/Users/username/recall-mcp/dist/index.js
For the RECALL_PRIVATE_KEY
, you can provide it with or without the "0x" prefix - both formats work
Save the configuration file and restart Claude Desktop
If you encounter issues with Claude Desktop, check the logs at:
~/Library/Logs/Claude/
%USERPROFILE%\AppData\Local\Claude\Logs\
~/.local/share/Claude/logs/
For detailed instructions and examples of how to use the Recall MCP tools within Cursor or Claude Desktop, see the Usage Guide.
The server exposes the following MCP tools:
Tool Name | Description | Parameters |
---|---|---|
get_account | Get Recall account information | None |
get_balance | Get Recall account balance information | None |
buy_credit | Buy credit for Recall account | amount : String (Recall Network token amount) |
list_buckets | List all buckets in Recall | None |
create_bucket | Create a new bucket in Recall | alias : String |
list_bucket_objects | List all objects in a Recall bucket | bucket : String (Address) |
get_object | Get an object from a Recall bucket | bucket : String (Address), key : String |
add_object | Add an object to a Recall bucket | bucket : String (Address), key : String, data : String, overwrite? : Boolean |
security_guidance | Get security guidance without exposing sensitive data | query : String |
This project is licensed under the MIT License - see the LICENSE file for details.
Seamless access to top MCP servers powering the future of AI integration.