Full list of MCP tools by category. Quick start: MCP_QUICKSTART.md. Overview and API: MCP_OVERVIEW.md.
Quick user authentication.
Parameters:
email(string) - User emailpassword(string) - Password
Returns: Access token and user info
Create a new user.
Parameters:
email(string)password(string)display_name(string, optional)
Assign a role to a user.
Parameters:
user_id(int)role(string)project_id(int, optional)
Get user profile.
Update user profile.
Create a logic rule.
Update a logic rule.
Delete a logic rule.
Get rule info.
List all project rules.
Execute a logic rule.
Get list of available processors.
Get list of available commands.
Flush the rules batch queue.
Create a payment.
Parameters:
amount(float)currency(string)payment_method(string)description(string, optional)
Get payment status.
Parameters:
payment_id(string)
Refund a payment.
Parameters:
payment_id(string)amount(float, optional) - partial refund
List transactions.
Parameters:
limit(int, optional)offset(int, optional)
Get balance.
Get list of projects.
Parameters:
is_active(bool, optional)limit(int, optional)offset(int, optional)
Get project by ID.
Parameters:
project_id(int)
Create a project (requires auth).
Parameters:
name(string) - Requireddescription(string, optional)config(dict, optional)data(dict, optional)preset_id(string, optional)settings(dict, optional)
⭐ NEW: Create a project without auth (for AI agents).
Parameters:
name(string) - Requireddescription(string, optional)config(dict, optional)data(dict, optional)preset_id(string, optional)settings(dict, optional)
Returns:
{
"project_id": 1025,
"user_id": 1037,
"user_api_key": "anon_ask_...",
"project_api_key": "ask_...",
"session_token": "...",
"project": {...},
"_auth_info": {...}
}Details:
- No auth required
- Creates an anonymous user with
is_anonymous: true - Generates API key with prefix
anon_ask_(ANONYMOUS tier) - Returns
user_api_key,project_api_key,session_token,user_id - User is immediately authenticated and ready to use
- 1 project max - Cannot create more projects
- 1 API key - Cannot create more keys
- 1,000 Logic Engine calls/month (vs 10,000 on FREE)
- 20 MB JSON storage (vs 100 MB on FREE)
- 20 triggers (vs 50 on FREE)
- Payments disabled - Cannot process payments
Convert to full account:
- Use
auth.convert_anonymous_userto convert to FREE tier - After conversion all limits increase to FREE tier
- User can sign in with email/password
- Can create additional projects and API keys
Update a project.
Parameters:
project_id(int)name(string, optional)description(string, optional)config(dict, optional)data(dict, optional)is_active(bool, optional)
Delete a project.
Parameters:
project_id(int)
Get project stats.
Parameters:
project_id(int)
Returns: Project stats (users, activity, usage)
Get list of project users.
Parameters:
project_id(int)is_active(bool, optional)role(string, optional)limit(int, optional)offset(int, optional)
⭐ REQUIRES Professional subscription
Add a user to the project.
Parameters:
project_id(int)user_id(int, optional)email(string, optional)role(string) - Default "member"
Limits:
- Professional subscription required (pro, professional, enterprise)
- Check at API endpoint level
- 403 when subscription is missing
⭐ REQUIRES Professional subscription
Remove a user from the project.
Parameters:
project_id(int)user_id(int)
Update a user's role in the project.
Parameters:
project_id(int)user_id(int)role(string)
⭐ NEW: Attach an anonymous project to a user.
Parameters:
project_id(int)auth_key(string) - Key from anonymous creationuser_id(int, optional)email(string, optional)
Process:
- Validates
auth_keyagainst project API keys - Updates
project.user_idto the new owner - Creates records in
data_projects_user - Removes old anonymous key
- Creates new API key for the owner
Returns:
{
"success": true,
"project_id": 1025,
"new_api_key": "ask_...",
"message": "Project successfully attached to user"
}Get list of project API keys.
Parameters:
project_id(int)
Uses: GET /api/apikeys/keys?project_id={project_id}
Create an API key for the project.
Parameters:
project_id(int)name(string)scopes(array, optional)expires_at(string, optional)
Uses: POST /api/apikeys/keys with project_id in body
Delete a project API key.
Parameters:
project_id(int)key_id(string)
Uses: DELETE /api/apikeys/keys/{key_id}?project_id={project_id}
Get project settings (reads config).
Parameters:
project_id(int)
Update project settings (updates config).
Parameters:
project_id(int)settings(dict)
Get project activity (logs).
Parameters:
project_id(int)limit(int, optional)offset(int, optional)
Uses: GET /api/projects/{project_id}/logs
Schedule a task.
Parameters:
project_id(int)run_at(string) - ISO datetimetool(string)payload(dict)
Cancel a task.
Parameters:
task_id(string)
Get task info.
Parameters:
task_id(string)
List tasks.
Parameters:
project_id(int, optional)
Update a task.
Parameters:
task_id(string)task_data(dict)
Get usage stats.
Parameters:
project_id(int, optional)start_date(string, optional)end_date(string, optional)
Set budget.
Parameters:
project_id(int)budget(float)period(string) - "monthly", "yearly"
Get metrics.
Parameters:
project_id(int, optional)metric_type(string, optional)
Export analytics data.
Parameters:
project_id(int)format(string) - "json", "csv"start_date(string, optional)end_date(string, optional)
Get dashboard data.
Parameters:
project_id(int, optional)
Create an API key.
Parameters:
project_id(int)name(string)scopes(array, optional)
Revoke an API key.
Parameters:
key_id(string)
List API keys.
Parameters:
project_id(int, optional)
Update an API key.
Parameters:
key_id(string)key_data(dict)
Get API key usage.
Parameters:
key_id(string)
Create rules.
Parameters:
project_id(int)json_rules(dict)name(string, optional)description(string, optional)
Test rules.
Parameters:
rule_id(string)test_data(dict)
Activate rules.
Parameters:
rule_id(string)
List rules.
Parameters:
project_id(int, optional)
Update rules.
Parameters:
rule_id(string)rule_data(dict)
Delete rules.
Parameters:
rule_id(string)
Create a webhook endpoint.
Parameters:
project_id(int)url(string)events(array)secret(string, optional)
List webhook endpoints.
Parameters:
project_id(int, optional)
Update a webhook endpoint.
Parameters:
endpoint_id(string)endpoint_data(dict)
Delete a webhook endpoint.
Parameters:
endpoint_id(string)
Test a webhook endpoint.
Parameters:
endpoint_id(string)test_data(dict, optional)
Send a notification.
Parameters:
project_id(int)user_id(int, optional)type(string)message(string)data(dict, optional)
List notifications.
Parameters:
project_id(int)user_id(int, optional)limit(int, optional)
Create a notification template.
Parameters:
project_id(int)name(string)template(string)variables(array, optional)
Update a notification template.
Parameters:
template_id(string)template_data(dict)
Get wallet balance.
Parameters:
project_id(int)wallet_id(int, optional)
List wallet transactions.
Parameters:
project_id(int)wallet_id(int, optional)limit(int, optional)
Create a wallet.
Parameters:
project_id(int)name(string)type(string) - "business", "personal"currency(string)
Update a wallet.
Parameters:
wallet_id(int)wallet_data(dict)
What are buffs? Buffs are a system of temporary and persistent effects that change limits, features, and resources for users and projects.
Temporary effects (expire and revert automatically):
- Trial periods (7-30 days) — free trials of features
- Promos and events — time-limited offers
- Temporary bonuses — extra resources for a short time
Persistent effects (do not expire, require manual management):
- Subscriptions — monthly/yearly plans with renewal
- One-time purchases — single upgrades (e.g. higher limits)
- Upgrade packs — cumulative persistent bonuses
The buff system is ideal for managing trials, promos, subscriptions, and one-time purchases in your SaaS, game, or app.
Create a buff template in PENDING state.
Parameters:
entity_id(int, required) - Entity ID (user or project)entity_kind(string, required) - Entity kind: "user" or "project"name(string, required) - Buff nametype(string, required) - Buff type (trial, promo, subscription, purchase)category(string, required) - Category for filteringduration_days(int, optional, default: 30) - Duration in dayspriority(int, optional, default: 100) - Priority (0-3000)effects(object, optional) - Effects as {"data.limits.api_calls": 10000}config(object, optional) - Config (persistent, revert_on_expire, etc.)project_id(int, optional) - Project ID (for user buffs)
Example:
{
"tool": "buffs.create_buff",
"params": {
"entity_id": 1,
"entity_kind": "user",
"name": "7-Day Premium Trial",
"type": "trial",
"category": "subscription",
"duration_days": 7,
"effects": {
"data.limits.api_calls": 10000
}
}
}Apply a buff to an entity (activate a PENDING buff).
Parameters:
buff_id(string, required) - Buff UUIDentity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindproject_id(int, optional) - Project ID
Example:
{
"tool": "buffs.apply_buff",
"params": {
"buff_id": "uuid-here",
"entity_id": 123,
"entity_kind": "user",
"project_id": 1
}
}Extend an active buff.
Parameters:
buff_id(string, required) - Buff UUIDentity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindadditional_days(int, optional) - Extra days (if omitted, extends by original duration)project_id(int, optional) - Project ID
Example:
{
"tool": "buffs.extend_buff",
"params": {
"buff_id": "uuid-here",
"entity_id": 123,
"entity_kind": "user",
"additional_days": 30
}
}Revert an active buff with success validation.
Parameters:
buff_id(string, required) - Buff UUIDentity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindproject_id(int, optional) - Project ID
Important: Revert checks that resources can be restored. If the buff added 100 gold, revert must subtract 100 gold. If revert is impossible (insufficient resources), an error is thrown.
Example:
{
"tool": "buffs.revert_buff",
"params": {
"buff_id": "uuid-here",
"entity_id": 123,
"entity_kind": "user",
"project_id": 1
}
}Force-cancel a buff in any state.
Parameters:
buff_id(string, required) - Buff UUIDentity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindproject_id(int, optional) - Project ID
Important:
- For PENDING buffs — normal permissions
- For ACTIVE buffs — admin/owner required
- For ACTIVE buffs revert runs first, then deletion
Example:
{
"tool": "buffs.cancel_buff",
"params": {
"buff_id": "uuid-here",
"entity_id": 123,
"entity_kind": "user"
}
}Get info for a specific buff.
Parameters:
buff_id(string, required) - Buff UUIDentity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindproject_id(int, optional) - Project ID
Returns: Full buff info including state, effects, config, expiry.
List active buffs for an entity.
Parameters:
entity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindcategory(string, optional) - Filter by categoryproject_id(int, optional) - Project IDinclude_ecosystem(bool, optional) - Include ecosystem buffs (for projects)
Example:
{
"tool": "buffs.list_active_buffs",
"params": {
"entity_id": 123,
"entity_kind": "user",
"category": "subscription",
"project_id": 1
}
}Get effective limits taking all active buffs into account.
Parameters:
entity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindproject_id(int, optional) - Project ID
Returns: Effective limits after applying all active buffs.
Example:
{
"tool": "buffs.get_effective_limits",
"params": {
"entity_id": 123,
"entity_kind": "user",
"project_id": 1
}
}Quick-apply a temporary effect (create and apply in one step).
Parameters:
entity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindname(string, required) - Effect nameduration_days(int, required) - Duration in dayseffects(object, required) - Effectspriority(int, optional, default: 100) - Priorityproject_id(int, optional) - Project ID
Example:
{
"tool": "buffs.apply_temporary_effect",
"params": {
"entity_id": 123,
"entity_kind": "user",
"name": "Weekend Bonus",
"duration_days": 2,
"effects": {
"data.limits.api_calls": 5000
}
}
}Quick-apply a persistent effect (create and apply in one step).
Parameters:
entity_id(int, required) - Entity IDentity_kind(string, required) - Entity kindname(string, required) - Effect nameeffects(object, required) - Effectspriority(int, optional, default: 300) - Priorityproject_id(int, optional) - Project ID
Example:
{
"tool": "buffs.apply_persistent_effect",
"params": {
"entity_id": 123,
"entity_kind": "user",
"name": "Lifetime Premium",
"effects": {
"data.features.premium": true,
"data.limits.api_calls": 1000000
}
}
}Workflow 1: Full trial cycle
[
{"tool": "buffs.create_buff", "params": {...}},
{"tool": "buffs.apply_buff", "params": {"buff_id": "<from previous>"}},
{"tool": "buffs.list_active_buffs", "params": {...}}
]Workflow 2: Subscription renewal
[
{"tool": "buffs.list_active_buffs", "params": {"category": "subscription"}},
{"tool": "buffs.extend_buff", "params": {"buff_id": "<subscription_buff_id>"}},
{"tool": "buffs.get_buff", "params": {"buff_id": "<subscription_buff_id>"}}
]Workflow 3: Cancel a wrong buff
[
{"tool": "buffs.get_buff", "params": {...}},
{"tool": "buffs.revert_buff", "params": {...}},
{"tool": "buffs.cancel_buff", "params": {...}}
]What are buffs? Buffs are a system of temporary and persistent effects that change limits, features, and resources for users and projects. Ideal for managing trials, promos, subscriptions, and one-time purchases.
Temporary effects (expire and revert automatically):
- Trial periods (7-30 days) — free trials of features for new users
- Promos and events — time-limited offers (e.g. Black Friday)
- Temporary bonuses — extra resources for a short time (e.g. double XP on weekends)
- Seasonal offers — holiday and special events
Persistent effects (do not expire, require manual management):
- Subscriptions (with renewal) — monthly/yearly plans with optional auto-renewal
- One-time purchases — single upgrades (e.g. higher API call limits)
- Upgrade packs — cumulative persistent bonuses (can buy multiple times)
- Lifetime upgrades — permanent upgrades with no expiry
Synergy with other systems:
- Buffs + Logic Engine — auto-apply trials on user registration
- Buffs + Payments — sell subscriptions and one-time purchases via payments
- Buffs + Scheduler — auto-renew subscriptions on a schedule
- Buffs + Analytics — track promo effectiveness and trial conversion
- Buffs + Notifications — notify about new buffs, trial expiry, and promos
Detailed complex project examples: See examples/mcp_complex_projects.md, examples/mcp_buffs_workflows.md, examples/mcp_buffs_temporary.md, examples/mcp_buffs_persistent.md.