Sally MCP Server
AI-Powered Metabolic Health Assistant with Blockchain-Based Payments
Connect to Sally through the Model Context Protocol (MCP) with x402 payment infrastructure
Quick Start · Installation · Usage · API Reference · Deployment
What is Sally MCP Server?
Sally MCP Server is a Model Context Protocol (MCP) server that enables AI assistants like Claude Desktop, Cursor, and other MCP-compatible clients to interact with Sally, an AI-powered metabolic health assistant.
Built with the x402 blockchain-based payment protocol, Sally MCP ensures secure, transparent micropayments for each AI interaction while keeping your private keys and data entirely on your local machine.
Key Features
🏥 Metabolic Health Expertise: Chat with Sally about nutrition, metabolism, and health optimization
💰 x402 Payment Integration: Automatic blockchain-based micropayments for API usage
🚀 Multi-Transport Support: Deploy locally (stdio) or hosted (HTTP/SSE via Smithery)
🔒 Security First: Private keys never leave your device
🔌 MCP Compatible: Works with Claude Desktop, Cursor, and any MCP-compatible client
⚡ Type-Safe: Built with TypeScript and Zod schemas for reliability
🐳 Production Ready: Dockerized and ready for Smithery cloud deployment
Architecture
🚀 Quick Start
Get up and running in 5 minutes:
Prerequisites
Node.js 18+ and pnpm installed
An MCP-compatible client (Claude Desktop, Cursor, etc.)
A dedicated crypto wallet with small funds for x402 transactions
1. Install via Smithery (Recommended)
The easiest way to use Sally MCP is through Smithery:
2. Install Locally
3. Configure Your MCP Client
Add to your MCP client configuration (e.g., claude_desktop_config.json):
4. Test the Connection
Restart your MCP client and try:
🔧 Installation
Option A: Deploy with Smithery (Cloud Hosted)
Smithery provides managed hosting for MCP servers with automatic scaling and updates.
Configure via Smithery dashboard:
Private Key: Your dedicated wallet's private key (with 0x prefix)
The server will be automatically available in your MCP clients
Option B: Local Development Setup
Step 1: Create a Dedicated Wallet
⚠️ Security Critical: Never use your main wallet for MCP integrations.
Create a new wallet using MetaMask, Coinbase Wallet, or similar
Transfer a small amount of funds (e.g., $5-10 worth of crypto)
Export the private key (it should start with
0x)Store it securely
Step 2: Clone and Install
Step 3: Configure Environment
Create a .env file:
Step 4: Build and Run
📱 MCP Client Configuration
Claude Desktop
Open Claude Desktop Settings
Navigate to Developer → Edit Config
Edit
claude_desktop_config.json:
Restart Claude Desktop
The Sally tools should appear automatically
Cursor
Open Cursor Settings
Navigate to Features → MCP Servers
Add server configuration:
Restart Cursor
Other MCP Clients
Refer to your client's documentation for custom MCP server configuration. You'll need:
Command:
nodeArgs:
["/path/to/sally-mcp/dist/index.js"]Environment Variables:
PRIVATE_KEY,TRANSPORT_MODE=stdio
💬 Usage
Basic Interaction
Once configured, interact with Sally naturally through your MCP client:
Available Tools
chat-with-sally
Chat with Sally about metabolic health topics.
Parameters:
message(string, required): Your question or message to Sally
Example:
Response:
Understanding Costs
Each interaction with Sally uses x402 micropayments:
Chat messages: Micropayments per API request
Payments are automatic from your dedicated wallet
All transactions are on-chain and verifiable
Monitor your spending through your wallet or blockchain explorer
🔐 Security
Security Architecture
Best Practices
✅ DO:
Use a dedicated, separate wallet for MCP interactions
Keep only small amounts ($5-20) in your MCP wallet
Store your private key securely (password manager, hardware wallet)
Regularly review your x402 transaction history
Use test/sandbox environments before mainnet
Keep your MCP server and dependencies updated
❌ DON'T:
Use your main wallet's private key
Share your private key with anyone
Store private keys in plain text or version control
Keep large amounts in your MCP wallet
Reuse private keys across different services
Commit
.envfiles to git
Security Features
Local-First: Server runs entirely on your machine (stdio mode)
No Key Upload: Private keys never transmitted to external servers
Encrypted Transactions: All payments use blockchain encryption
Transparent Costs: Every payment is verifiable on-chain
Isolated Wallet: Dedicated wallet limits exposure
🛠️ API Reference
Environment Variables
Variable | Description | Required | Default |
| Your dedicated wallet's private key (with 0x prefix) | Yes* | - |
| Transport mode:
or
| No |
|
| HTTP server port (when
) | No |
|
*Required for STDIO mode. Optional for HTTP mode (Smithery deployment).
MCP Server Capabilities
Tool Schemas
chat-with-sally
🚢 Deployment
Deploy to Smithery
Create Smithery Account: Sign up at smithery.ai
Install via Smithery CLI:
npx @smithery/cli install @sally-labs/sally-ai-mcp --client claudeConfigure:
Add your
PRIVATE_KEYvia Smithery dashboard (optional for browsing)The server will be available at your Smithery URL
Connect MCP Clients:
Smithery automatically configures supported MCP clients
Or manually add the Smithery URL to your client config
Docker Deployment
Build and run locally:
Deploy to Cloud
The Docker image can be deployed to any container platform:
AWS ECS/Fargate: Use task definitions with environment variables
Google Cloud Run: Deploy with secrets for private key
Azure Container Instances: Configure with environment settings
Railway/Render: Direct GitHub integration available
🐛 Troubleshooting
MCP Server Not Appearing
Symptoms: Server doesn't show up in your MCP client's tools list
Solutions:
Verify the configuration file path is correct
Check that Node.js is installed:
node --versionEnsure the server path uses absolute paths:
macOS/Linux:
/Users/name/path/sally-mcp/dist/index.jsWindows:
C:\\Users\\name\\path\\sally-mcp\\dist\\index.js
Build the project first:
pnpm buildRestart your MCP client completely
Check MCP client logs for errors
Connection Errors
Symptoms: "Failed to connect" or timeout errors
Solutions:
Verify internet connection
Check Sally API endpoint is accessible:
curl https://api-x402.asksally.xyz/healthEnsure wallet has sufficient funds
Confirm private key format (should include
0xprefix and be 66 characters)Check server logs for detailed errors
Private Key Issues
Symptoms: Authentication or payment failures
Solutions:
Ensure private key starts with
0xand is exactly 66 charactersCheck for extra spaces or line breaks in environment variable
Verify the wallet has funds on the correct network
Test the private key format:
# Should be: 0x + 64 hex characters = 66 total echo $PRIVATE_KEY | wc -c
Payment Failures
Symptoms: "Insufficient funds" or payment errors (402 status)
Solutions:
Check wallet balance on blockchain explorer
Verify you're on the correct network (mainnet/testnet)
Ensure gas fees are accounted for
Try with a larger initial wallet balance
Review x402 payment logs in server output
Tool Not Triggering
Symptoms: MCP client doesn't recognize tool invocations
Solutions:
Use explicit phrasing: "Use the chat-with-sally tool"
Check that tools are listed: verify server initialized correctly
Restart client after configuration changes
Check client documentation for tool invocation syntax
Verify server is running in stdio mode (not http)
Getting Help
If you're still experiencing issues:
GitHub Issues: github.com/sally-labs/sally-mcp/issues
Email Support: support@asksally.xyz
Community: bento.me/a1c
When reporting issues, please include:
MCP client name and version
Operating system
Error messages from logs
Configuration (with private key redacted)
Server build output
🧪 Development
Setup Development Environment
Project Structure
Building
Testing
Test stdio mode locally:
Test HTTP mode:
🤝 Contributing
We welcome contributions! Here's how to get started:
Ways to Contribute
Bug Reports: Open an issue with reproduction steps
Feature Requests: Describe your use case and proposed solution
Code Contributions: Submit a pull request
Documentation: Improve guides and examples
Testing: Add test coverage
Development Workflow
Fork the repository
Create a feature branch:
git checkout -b feature/my-featureMake your changes
Test thoroughly
Commit with clear messages:
git commit -m "feat: add new capability"Push to your fork:
git push origin feature/my-featureOpen a pull request
Commit Convention
We follow Conventional Commits:
feat:New featuresfix:Bug fixesdocs:Documentation changesrefactor:Code refactoringtest:Test additions or changeschore:Maintenance tasks
Code Review Process
All PRs require review before merging
Ensure TypeScript compiles without errors
Documentation must be updated for new features
Breaking changes require clear migration notes
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Links
GitHub: github.com/sally-labs/sally-mcp
x402 Protocol: x402.org
Model Context Protocol: modelcontextprotocol.io
Support: support@asksally.xyz
Community: bento.me/a1c
🙏 Acknowledgments
Built with:
Model Context Protocol (MCP) - AI integration standard
x402 Protocol - Blockchain payment infrastructure
Smithery - MCP server hosting platform
viem - Ethereum development toolkit
Made with ❤️ by the Sally Labs team
This server cannot be installed