Wallos MCP Server
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., "@Wallos MCP ServerList my active subscriptions"
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.
Wallos MCP Server

An MCP (Model Context Protocol) server that enables Claude Desktop to interact with your Wallos subscription management instance.
Overview
This MCP server provides tools for managing subscriptions, categories, currencies, payment methods, and household members in Wallos through Claude Desktop. It acts as a bridge between Claude and your self-hosted Wallos instance.
Related MCP server: Sure MCP Server
Features
📊 View and manage subscriptions
📁 Organize with categories
💱 Handle multiple currencies
💳 Manage payment methods
👥 Configure household members
📈 Access statistics and insights
🔔 Check upcoming payments
Prerequisites
Wallos instance (self-hosted or Docker)
Bun runtime (https://bun.sh)
Claude Desktop
Wallos user credentials
Installation
Clone this repository:
git clone https://github.com/yourusername/wallos-mcp.git
cd wallos-mcpInstall dependencies:
bun installConfigure environment:
cp .env.example .env
# Edit .env with your Wallos instance detailsBuild the project:
bun run buildAdd to Claude Desktop config:
{
"mcpServers": {
"wallos": {
"command": "bun",
"args": ["/path/to/wallos-mcp/dist/index.js"],
"env": {
"WALLOS_URL": "http://localhost:8282",
"WALLOS_USERNAME": "your_username",
"WALLOS_PASSWORD": "your_password"
}
}
}
}Available Tools
create_subscription
Create a new subscription with automatic entity creation. This powerful tool handles all the complexity of creating related entities automatically.
Features:
🌍 Currency by Code: Specify currencies using codes (USD, EUR, GBP, etc.) - automatically creates if doesn't exist
📅 Flexible Frequency: Natural language billing periods ('daily', 'weekly', 'monthly', 'quarterly', 'bi-weekly', '3 months')
🏷️ Smart Entity Creation: Automatically creates missing categories, payment methods, and household members
👥 Payer Management: Specify payer by name with optional email - creates household member if needed
📆 Intelligent Date Handling: Smart calculation of next payment date, always ensuring it's in the future
Parameters:
name(required): Subscription service nameprice(required): Subscription price amountcurrency_code: Currency code (e.g., USD, EUR) - creates if neededcurrency_id: Use existing currency ID (alternative to currency_code)billing_period: Flexible period ('monthly', 'quarterly', '2 weeks', etc.)billing_frequency: Multiplier for billing period (default: 1)category_name: Category name (creates if needed, prioritized over category_id)category_id: Use existing category IDpayment_method_name: Payment method name (creates if needed)payment_method_id: Use existing payment method IDpayer_user_name: Household member name (creates if needed)payer_user_email: Email for new household memberpayer_user_id: Use existing household member IDstart_date: Subscription start date (YYYY-MM-DD)next_payment: Next payment date (auto-calculated if not provided)auto_renew: Whether subscription auto-renews (default: true)notes: Additional notes (supports multiline)url: Service URLnotify: Enable renewal notificationsnotify_days_before: Days before renewal to notify
Example Usage:
{
"name": "Netflix Premium",
"price": 15.99,
"currency_code": "USD",
"billing_period": "monthly",
"category_name": "Entertainment",
"payment_method_name": "Credit Card",
"payer_user_name": "John Smith",
"payer_user_email": "john@family.com",
"start_date": "2024-01-15",
"auto_renew": true,
"notify": true,
"notify_days_before": 3,
"notes": "Premium family plan\n4K streaming\n4 simultaneous screens",
"url": "https://netflix.com"
}list_subscriptions
View all subscriptions with comprehensive filtering options.
Parameters:
member_ids: Comma-separated member IDs (e.g., "1,3,5")category_ids: Comma-separated category IDspayment_method_ids: Comma-separated payment method IDsstate: Filter by state ('active' or 'inactive')sort: Sort field (name, id, next_payment, price, etc.)disabled_to_bottom: Sort inactive subscriptions to bottomconvert_currency: Convert prices to main currency
get_master_data
Retrieve all master data (categories, currencies, payment methods, household members) in a single call.
Category Management Tools
add_category: Create a new categoryupdate_category: Update category namedelete_category: Remove a category (unless it's the default)
Implementation Plan
Phase 1: Core Infrastructure ✅
Repository setup
TypeScript configuration
MCP SDK integration setup
Complete CI/CD pipeline with GitHub Actions
Docker build and security scanning
Comprehensive development tooling (justfile)
Code quality tools (Super Linter, ESLint, Prettier)
Wallos API client with session management
Error handling and logging
Phase 2: Subscription Management
list_subscriptions- View all subscriptions with filterscreate_subscription- Create new subscription with automatic entity creationedit_subscription- Modify existing subscriptiondelete_subscription- Remove subscriptionget_subscription- Detailed subscription infoclone_subscription- Duplicate subscriptiontoggle_subscription- Enable/disable subscription
Phase 3: Master Data Tools
manage_categories- CRUD operations for categoriesmanage_payment_methods- Add/edit/remove payment methodsmanage_currencies- Currency management with exchange ratesmanage_household- Household member operations
Phase 4: Analytics & Insights
get_statistics- Spending statistics and trendsupcoming_payments- Next payment schedulespending_by_category- Category breakdownget_budget_status- Budget vs actual spendingexport_data- Export subscriptions to CSV/JSON
Phase 5: Advanced Features
search_logos- Find logos for subscriptionsbulk_operations- Mass update subscriptionsnotifications_status- Check notification settingscalculate_savings- Identify savings opportunitiessync_exchange_rates- Update currency rates
Architecture
Tech Stack
Language: TypeScript
Runtime: Node.js
MCP SDK: @modelcontextprotocol/sdk
HTTP Client: axios
Session Management: tough-cookie
Environment: dotenv
Project Structure
wallos-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── wallos-client.ts # Wallos API wrapper
│ ├── tools/ # MCP tool implementations
│ │ ├── subscriptions.ts # Subscription management tools
│ │ ├── categories.ts # Category tools
│ │ ├── currencies.ts # Currency tools
│ │ ├── payments.ts # Payment method tools
│ │ ├── household.ts # Household tools
│ │ └── analytics.ts # Statistics and insights
│ ├── types/ # TypeScript type definitions
│ │ ├── index.ts # Main types export
│ │ ├── wallos.ts # Wallos API types
│ │ └── mcp.ts # MCP-specific types
│ └── utils/ # Utility functions
│ ├── session.ts # Session management
│ ├── logger.ts # Logging utilities
│ └── validators.ts # Input validation
├── tests/ # Test files
├── dist/ # Compiled JavaScript
├── .env.example # Environment template
├── .gitignore
├── package.json
├── tsconfig.json
└── README.mdAPI Communication Flow
Authentication:
MCP server starts → Creates session with Wallos
Stores session cookie for subsequent requests
Handles session expiry and renewal
Request Flow:
Claude Desktop → MCP Tool → Wallos Client → Wallos API → SQLite DB ↓ ↓ Response ← JSON Response ← PHP EndpointSession Management:
Persistent session across tool calls
Automatic re-authentication on expiry
Secure credential storage in environment
Security Considerations
Credentials stored in environment variables
Session-based authentication with Wallos
Input validation on all tool parameters
No direct database access (API-only)
Respects Wallos user permissions
CI/CD Pipeline
GitHub Actions Workflows
Code Quality & Linting: TypeScript checking, ESLint, Prettier formatting, security audits
Test & Build: Unit testing and build verification with Node.js compatibility (18, 20, 22)
Docker Build: Multi-platform builds with security scanning
Super Linter: Comprehensive code quality checks with 10+ linters
Automatic Publishing: Docker images to GitHub Container Registry
Quality Assurance
# Local development workflow
just lint # ESLint + TypeScript + Markdown linting
just fmt # Prettier + markdownlint formatting
just superlint # Comprehensive Super Linter (fast)
just superlint-verbose # Detailed debugging outputAll workflows run automatically on pushes and pull requests with smart validation modes.
Development
Quick Start with Just
# Initial setup (installs deps, creates .env)
just setup
# Start development server
just start
# Run all quality checks
just check
# Build and test
just build && just testManual Setup
# Install dependencies
bun install
# Run in development mode
bun run dev
# Run tests
bun test
# Build for production
bun run buildTesting Tools Locally
# Start local MCP server
bun run start:local
# Test with MCP client
bunx @modelcontextprotocol/cli testTool Reference
For detailed information about available tools, see the Available Tools section above.
Currently Implemented Tools
Subscription Management
create_subscription- Create new subscription with auto entity creationlist_subscriptions- List subscriptions with filters
Master Data
get_master_data- Get all categories, currencies, payment methods, household
Category Management
add_category- Add new categoryupdate_category- Update category namedelete_category- Delete category (except default)
Contributing
Fork the repository
Create feature branch (
git checkout -b feature/amazing-feature)Commit changes (
git commit -m 'Add amazing feature')Push to branch (
git push origin feature/amazing-feature)Open a Pull Request
Roadmap
Batch operations support
Caching layer for frequently accessed data
WebSocket support for real-time updates
Multi-user household support
Backup and restore tools
Integration with calendar services
Natural language subscription entry
License
MIT License - See LICENSE file for details
Support
Acknowledgments
Wallos by Ellite
Model Context Protocol by Anthropic
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ilyannn/wallos-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server