# ModelsLab Agent Control Plane

> Account, billing, team, API key and model discovery tools for agents that use ModelsLab.

- name: io.github.ModelsLab/modelslab-agents
- version: 1.0.0
- connection class: R1 (autonomous)
- trust: 93/100 flags: duplicate-repo
- quality: 82/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.ModelsLab%2Fmodelslab-agents
- tools: https://api.protogrid.dev/v1/servers/io.github.ModelsLab%2Fmodelslab-agents/tools

**An agent can connect on its own if it already holds `api_key`.** Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "modelslab-agents": {
      "type": "http",
      "url": "https://modelslab.com/mcp/agents",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
```

Placeholders to fill: `${api_key}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% +updated-17d-ago -duplicate-repo(3 names)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 82/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 79 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- warn `tools.annotations`: only 2 of 10 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: agent-api-keys (readOnlyHint, destructiveHint, idempotentHint); agent-wallet (readOnlyHint, destructiveHint, idempotentHint); agent-subscriptions (readOnlyHint, destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 3,850 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 10, about 3,850 tokens to load them all
- tool set hash: 6fd7a37c7e009d70468c7d74860d32a4
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.ModelsLab/modelslab-agents.svg)](https://protogrid.dev/servers/io.github.ModelsLab/modelslab-agents)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://modelslab.com/mcp/agents (streamable-http, auth api_key ${api_key}, reachable true, uptime30d 1)

## Packages

_none_

## Tools (10)

- `agent-api-keys`:     Manage API keys for the authenticated user.
    Actions: list, create, get, update, delete.
    API keys are used for generation endpoints (/api/v6, /api/v7, /api/v8).
    All actions require authentication.
- `agent-auth`:     Manage authentication for the ModelsLab agent control plane.
    Actions: signup, login, logout, logout-all, forgot-password, reset-password, resend-verification, verify.
    Login returns a bearer token for subsequent authenticated requests.
    Signup, login, forgot-password, reset-password, resend-verification, and verify do not require authentication.
- `agent-billing`:     Manage billing for the authenticated user.
    Actions: stripe-config (get Stripe publishable key for headless card tokenization),
    create-setup-intent (create SetupIntent for 3DS-safe card saving),
    create-payment-link (generate Stripe-hosted payment URL to forward to human — supports
    card, Google Pay, Amazon Pay, Link, etc.),
    overview, payment-methods, add-payment-method, set-default-payment-method,
    remove-payment-method, billing-info, update-billing-info, invoices, invoice-detail, invoice-pdf.
    Three payment paths: (1) Headless: stripe-config → tokenize → payment_method_id,
    (2) Human-assisted: create-payment-link → forward URL → poll confirm-checkout,
    (3) SetupIntent: create-setup-intent → confirm via Stripe → reuse payment method.
    All actions require authentication.
- `agent-models`:     Search and discover AI models available on ModelsLab.
    Actions: search (browse/filter models), filters (available filter options),
    tags (model tags), providers (model providers), detail (get model details by ID).
    The detail action returns endpoint configurations with a `parameters` JSON Schema
    object describing each endpoint's accepted parameters (types, constraints, defaults)
    alongside the raw UI `config` array.
    Requires authentication.
- `agent-profile`:     Manage the authenticated user's profile.
    Actions: get (view profile), update (update name/username/about),
    update-password, update-socials, update-preferences.
    All actions require authentication.
- `agent-subscriptions`:     Manage subscriptions for the authenticated user.
    Actions: list-plans (view available subscription plans + pay-as-you-go options),
    list, create (headless with payment_method_id, or checkout URL without it),
    confirm-checkout (confirm Stripe checkout session), status (check subscription status),
    update (change plan), pause, resume, reset-cycle,
    charge-amount (set paid model charge amount), fix-payment.
    Headless flow: get publishable key via agent-billing stripe-config → tokenize card via Stripe API
    → pass payment_method_id to create. All actions require authentication.
- `agent-teams`:     Manage teams for the authenticated user.
    Actions: list (view team members and pending invites), create (invite by email),
    get (view a team member), update (modify member role/permissions),
    delete (remove member), resend-invite, accept-invite.
    All actions require authentication.
- `agent-tokens`:     Manage Sanctum access tokens for the authenticated user.
    Actions: list (view all tokens), revoke (revoke a specific token by ID),
    revoke-others (revoke all tokens except current), switch-account (get a token for a team account).
    All actions require authentication.
- `agent-usage`:     View API usage analytics for the authenticated user.
    Actions: summary (usage overview with plan limits), products (per-product usage breakdown),
    history (recent generation request timeline with optional date filters).
    All actions require authentication.
- `agent-wallet`:     Manage the wallet for the authenticated user.
    Actions: balance (view wallet balance), fund (add funds via Stripe payment),
    confirm-checkout (confirm a Stripe checkout session), payment-status (check payment intent status),
    auto-funding (configure auto-recharge), disable-auto-funding, withdraw (reseller only),
    validate-coupon, redeem-coupon.
    Fund with payment_method_id charges immediately; without it creates a Stripe checkout session.
    All actions require authentication.
