Server definition
- Hash
- sha256:0efddcdf792787f186f0269c45878e41d00f43ab3fab45fff1c100a81901ddc9
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": " ModelsLab Agent Control Plane provides full account management capabilities for AI agents:\n\n ## Authentication\n - `agent-auth`: Signup, login, logout, password reset, email verification\n - `agent-tokens`: List, revoke, and manage access tokens; switch account context\n\n ## Profile & Account\n - `agent-profile`: View and update profile, password, social links, preferences\n\n ## API Keys\n - `agent-api-keys`: Create, list, update, and delete API keys for generation endpoints\n\n ## Usage & Analytics\n - `agent-usage`: View usage summary, per-product breakdown, and generation history\n\n ## Model Discovery\n - `agent-models`: Search and browse 10,000+ AI models with filters for feature, provider, tags, etc.\n\n ## Billing & Payments\n - `agent-billing`: Manage payment methods, billing info, and view invoices\n\n ## Wallet\n - `agent-wallet`: Fund wallet, configure auto-recharge, validate/redeem coupons, withdraw (resellers)\n\n ## Subscriptions\n - `agent-subscriptions`: List available plans (subscription + pay-as-you-go), create, update, cancel, pause, resume subscriptions; manage billing cycles\n\n ## Teams\n - `agent-teams`: Invite members, manage team, accept invites, control permissions\n\n ## Auth Flow\n 1. Use `agent-auth` with action `login` to get a bearer token\n 2. Pass the token in subsequent requests via `Authorization: Bearer <token>` header\n 3. Use `agent-api-keys` to get or create API keys for generation endpoints (/api/v7)\n 4. Unauthenticated actions (signup, login, forgot-password, etc.) work without a token",
"tools": [
{
"description": " Manage API keys for the authenticated user.\n Actions: list, create, get, update, delete.\n API keys are used for generation endpoints (/api/v6, /api/v7, /api/v8).\n All actions require authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The API key action: list, create, get, update, delete",
"type": "string"
},
"key_id": {
"description": "API key ID (required for get, update, delete)",
"type": "integer"
},
"name": {
"description": "API key name (required for create, optional for update)",
"type": "string"
},
"notes": {
"description": "Notes about the API key (optional for create, update)",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-api-keys",
"outputSchema": null
},
{
"description": " Manage authentication for the ModelsLab agent control plane.\n Actions: signup, login, logout, logout-all, forgot-password, reset-password, resend-verification, verify.\n Login returns a bearer token for subsequent authenticated requests.\n Signup, login, forgot-password, reset-password, resend-verification, and verify do not require authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The auth action to perform: signup, login, logout, logout-all, forgot-password, reset-password, resend-verification, verify",
"type": "string"
},
"device_name": {
"description": "Device name for the token (optional for login, default: \"agent-control-plane\")",
"type": "string"
},
"email": {
"description": "Email address (required for signup, login, forgot-password, reset-password, resend-verification)",
"type": "string"
},
"name": {
"description": "User name (optional for signup)",
"type": "string"
},
"password": {
"description": "Password (required for signup, login, reset-password)",
"type": "string"
},
"password_confirmation": {
"description": "Password confirmation (required for reset-password)",
"type": "string"
},
"token": {
"description": "Reset token (required for reset-password)",
"type": "string"
},
"token_expiry": {
"description": "Token expiry: 1_week, 1_month (default), 3_months, never (optional for login)",
"type": "string"
},
"verification_code": {
"description": "Email verification code (required for verify)",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-auth",
"outputSchema": null
},
{
"description": " Manage billing for the authenticated user.\n Actions: stripe-config (get Stripe publishable key for headless card tokenization),\n create-setup-intent (create SetupIntent for 3DS-safe card saving),\n create-payment-link (generate Stripe-hosted payment URL to forward to human — supports\n card, Google Pay, Amazon Pay, Link, etc.),\n overview, payment-methods, add-payment-method, set-default-payment-method,\n remove-payment-method, billing-info, update-billing-info, invoices, invoice-detail, invoice-pdf.\n Three payment paths: (1) Headless: stripe-config → tokenize → payment_method_id,\n (2) Human-assisted: create-payment-link → forward URL → poll confirm-checkout,\n (3) SetupIntent: create-setup-intent → confirm via Stripe → reuse payment method.\n All actions require authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The billing action: stripe-config, create-setup-intent, create-payment-link, overview, payment-methods, add-payment-method, set-default-payment-method, remove-payment-method, billing-info, update-billing-info, invoices, invoice-detail, invoice-pdf",
"type": "string"
},
"address_city": {
"description": "City (for update-billing-info)",
"type": "string"
},
"address_country": {
"description": "Country code (for update-billing-info)",
"type": "string"
},
"address_line1": {
"description": "Address line 1 (for update-billing-info)",
"type": "string"
},
"address_line2": {
"description": "Address line 2 (for update-billing-info)",
"type": "string"
},
"address_postal_code": {
"description": "Postal/zip code (for update-billing-info)",
"type": "string"
},
"address_state": {
"description": "State/province (for update-billing-info)",
"type": "string"
},
"amount": {
"description": "Amount in USD, minimum $15 (required for create-payment-link with purpose=fund)",
"type": "number"
},
"email": {
"description": "Billing email (for update-billing-info)",
"type": "string"
},
"idempotency_key": {
"description": "Idempotency key for mutation actions (optional — auto-generated if omitted for add-payment-method, update-billing-info)",
"type": "string"
},
"invoice_id": {
"description": "Invoice ID (for invoice-detail, invoice-pdf)",
"type": "string"
},
"make_default": {
"description": "Make the new payment method the default (for add-payment-method, default: true)",
"type": "boolean"
},
"name": {
"description": "Billing name (for update-billing-info)",
"type": "string"
},
"payment_method_id": {
"description": "Stripe payment method ID (for add/set-default/remove-payment-method)",
"type": "string"
},
"plan_id": {
"description": "Plan ID (required for create-payment-link with purpose=subscribe)",
"type": "integer"
},
"purpose": {
"description": "Payment link purpose: \"fund\" (wallet) or \"subscribe\" (subscription). Required for create-payment-link.",
"type": "string"
},
"tax_id": {
"description": "Tax ID value (for update-billing-info)",
"type": "string"
},
"tax_id_type": {
"description": "Tax ID type e.g. eu_vat, us_ein (required with tax_id)",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-billing",
"outputSchema": null
},
{
"description": " Search and discover AI models available on ModelsLab.\n Actions: search (browse/filter models), filters (available filter options),\n tags (model tags), providers (model providers), detail (get model details by ID).\n The detail action returns endpoint configurations with a `parameters` JSON Schema\n object describing each endpoint's accepted parameters (types, constraints, defaults)\n alongside the raw UI `config` array.\n Requires authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The models action: search, filters, tags, providers, detail",
"type": "string"
},
"base_model": {
"description": "Filter by base model (for search)",
"type": "string"
},
"feature": {
"description": "Filter by feature: imagen, video_fusion, audio_gen, llmaster, etc. (for search, tags)",
"type": "string"
},
"model_id": {
"description": "Model ID (required for detail action)",
"type": "string"
},
"model_subcategory": {
"description": "Filter by model subcategory (for search)",
"type": "string"
},
"model_type": {
"description": "Filter by model type (for search)",
"type": "string"
},
"per_page": {
"description": "Results per page (for search, default: 20)",
"type": "integer"
},
"provider": {
"description": "Filter by provider name (for search)",
"type": "string"
},
"search": {
"description": "Search query for model name/description (for search)",
"type": "string"
},
"sort": {
"description": "Sort order: recommended, newest, popular (for search, default: recommended)",
"type": "string"
},
"tags": {
"description": "Comma-separated tags to filter by (for search)",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-models",
"outputSchema": null
},
{
"description": " Manage the authenticated user's profile.\n Actions: get (view profile), update (update name/username/about),\n update-password, update-socials, update-preferences.\n All actions require authentication.",
"inputSchema": {
"properties": {
"about_me": {
"description": "Bio/about text (for update)",
"type": "string"
},
"action": {
"description": "The profile action: get, update, update-password, update-socials, update-preferences",
"type": "string"
},
"current_password": {
"description": "Current password (required for update-password)",
"type": "string"
},
"discord": {
"description": "Discord handle (for update-socials)",
"type": "string"
},
"facebook": {
"description": "Facebook URL (for update-socials)",
"type": "string"
},
"github": {
"description": "GitHub URL (for update-socials)",
"type": "string"
},
"instagram": {
"description": "Instagram URL (for update-socials)",
"type": "string"
},
"name": {
"description": "Display name (for update)",
"type": "string"
},
"nsfw_content": {
"description": "Enable NSFW content (for update-preferences)",
"type": "boolean"
},
"password": {
"description": "New password (required for update-password)",
"type": "string"
},
"password_confirmation": {
"description": "New password confirmation (required for update-password)",
"type": "string"
},
"twitter": {
"description": "Twitter/X URL (for update-socials)",
"type": "string"
},
"username": {
"description": "Username (for update)",
"type": "string"
},
"wallet_notification_enabled": {
"description": "Enable wallet notifications (for update-preferences)",
"type": "boolean"
},
"wallet_notification_threshold": {
"description": "Wallet notification threshold amount (for update-preferences)",
"type": "number"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-profile",
"outputSchema": null
},
{
"description": " Manage subscriptions for the authenticated user.\n Actions: list-plans (view available subscription plans + pay-as-you-go options),\n list, create (headless with payment_method_id, or checkout URL without it),\n confirm-checkout (confirm Stripe checkout session), status (check subscription status),\n update (change plan), pause, resume, reset-cycle,\n charge-amount (set paid model charge amount), fix-payment.\n Headless flow: get publishable key via agent-billing stripe-config → tokenize card via Stripe API\n → pass payment_method_id to create. All actions require authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The subscription action: list-plans, list, create, confirm-checkout, status, update, pause, resume, reset-cycle, charge-amount, fix-payment",
"type": "string"
},
"amount": {
"description": "Charge amount in USD, $5-$10000 (required for charge-amount)",
"type": "number"
},
"idempotency_key": {
"description": "Idempotency key for mutation actions (optional — auto-generated if omitted for create)",
"type": "string"
},
"new_plan_id": {
"description": "New plan ID to switch to (required for update)",
"type": "integer"
},
"payment_method_id": {
"description": "Stripe payment method ID for headless subscription (optional for create — if provided, charges immediately without checkout redirect)",
"type": "string"
},
"plan_category": {
"description": "Plan category: \"enterprise\", or \"imagen\" for the standard ModelsLab subscription (optional for fix-payment; defaults to the subscription's own category)",
"type": "string"
},
"plan_id": {
"description": "Plan ID to subscribe to (required for create)",
"type": "integer"
},
"session_id": {
"description": "Stripe checkout session ID (required for confirm-checkout)",
"type": "string"
},
"stripe_subscription_id": {
"description": "Stripe subscription ID (optional override for fix-payment)",
"type": "string"
},
"subscription_id": {
"description": "Subscription ID (required for update, pause, resume, reset-cycle, fix-payment)",
"type": "integer"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-subscriptions",
"outputSchema": null
},
{
"description": " Manage teams for the authenticated user.\n Actions: list (view team members and pending invites), create (invite by email),\n get (view a team member), update (modify member role/permissions),\n delete (remove member), resend-invite, accept-invite.\n All actions require authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The teams action: list, create, get, update, delete, resend-invite, accept-invite",
"type": "string"
},
"email": {
"description": "Email address to invite (required for create)",
"type": "string"
},
"invite_id": {
"description": "Invite UUID (required for accept-invite)",
"type": "string"
},
"invite_status": {
"description": "Invite status: pending, accepted (for update)",
"type": "string"
},
"member_id": {
"description": "Team member ID (required for get, update, delete, resend-invite)",
"type": "integer"
},
"permissions": {
"description": "Permissions array (for update)",
"type": "array"
},
"role": {
"description": "Member role (for update)",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-teams",
"outputSchema": null
},
{
"description": " Manage Sanctum access tokens for the authenticated user.\n Actions: list (view all tokens), revoke (revoke a specific token by ID),\n revoke-others (revoke all tokens except current), switch-account (get a token for a team account).\n All actions require authentication.",
"inputSchema": {
"properties": {
"account_username": {
"description": "Username of the team account to switch to (required for switch-account)",
"type": "string"
},
"action": {
"description": "The token action: list, revoke, revoke-others, switch-account",
"type": "string"
},
"device_name": {
"description": "Device name for new token (optional for switch-account)",
"type": "string"
},
"token_expiry": {
"description": "Token expiry: 1_week, 1_month, 3_months, never (optional for switch-account)",
"type": "string"
},
"token_id": {
"description": "Token ID to revoke (required for revoke action)",
"type": "integer"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-tokens",
"outputSchema": null
},
{
"description": " View API usage analytics for the authenticated user.\n Actions: summary (usage overview with plan limits), products (per-product usage breakdown),\n history (recent generation request timeline with optional date filters).\n All actions require authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The usage action: summary, products, history",
"type": "string"
},
"from": {
"description": "Start date for history filter (YYYY-MM-DD format, optional for history)",
"type": "string"
},
"limit": {
"description": "Max number of history items to return (1-200, default 100, optional for history)",
"type": "integer"
},
"to": {
"description": "End date for history filter (YYYY-MM-DD format, optional for history)",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-usage",
"outputSchema": null
},
{
"description": " Manage the wallet for the authenticated user.\n Actions: balance (view wallet balance), fund (add funds via Stripe payment),\n confirm-checkout (confirm a Stripe checkout session), payment-status (check payment intent status),\n auto-funding (configure auto-recharge), disable-auto-funding, withdraw (reseller only),\n validate-coupon, redeem-coupon.\n Fund with payment_method_id charges immediately; without it creates a Stripe checkout session.\n All actions require authentication.",
"inputSchema": {
"properties": {
"action": {
"description": "The wallet action: balance, fund, confirm-checkout, payment-status, auto-funding, disable-auto-funding, withdraw, validate-coupon, redeem-coupon",
"type": "string"
},
"amount": {
"description": "Amount in USD, minimum $15 for fund (required for fund, withdraw)",
"type": "number"
},
"auto_charge_amount": {
"description": "Auto charge amount, min $5 (required for auto-funding)",
"type": "number"
},
"auto_recharge_amount": {
"description": "Auto recharge amount (optional for fund)",
"type": "number"
},
"auto_recharge_threshold": {
"description": "Auto recharge threshold (optional for fund)",
"type": "number"
},
"charge_threshold": {
"description": "Balance threshold to trigger auto charge, min $1 (required for auto-funding)",
"type": "number"
},
"coupon_code": {
"description": "Coupon code (required for validate-coupon, redeem-coupon)",
"type": "string"
},
"idempotency_key": {
"description": "Idempotency key for mutation actions (optional — auto-generated if omitted for fund, auto-funding, redeem-coupon)",
"type": "string"
},
"payment_intent_id": {
"description": "Stripe payment intent ID (required for payment-status)",
"type": "string"
},
"payment_method_id": {
"description": "Stripe payment method ID (optional for fund — charges immediately if provided, otherwise creates checkout session; required for bonus coupon redeem)",
"type": "string"
},
"purchase_amount": {
"description": "Purchase amount for bonus coupons (optional for validate-coupon, required for bonus coupon redeem)",
"type": "number"
},
"session_id": {
"description": "Stripe checkout session ID (required for confirm-checkout)",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "agent-wallet",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:0efddcdf792787f186f0269c45878e41d00f43ab3fab45fff1c100a81901ddc9 | sha256sum