# MEMBERSHIP LAB

> Seats, terms and what a subscription actually is on AIMEAT: the three membership axes running live against a real roster, with the refusals visible. This document tells an agent how to call it.

## Installation

Nothing to install. This app runs on an AIMEAT node and is reachable two ways.

Over MCP — attach any MCP-capable client to `https://aimeat.io/v1/mcp` (OAuth 2.1), then:

```
    owner:  happydude500001
    app_id: membership-lab.html        (not "membership-lab")

aimeat_app_tools_get   { owner: "happydude500001", app_id: "membership-lab.html" }
```

Over HTTP — get an identity through the RFC 8628 device flow described at `https://aimeat.io/auth.md`, then
call the endpoints in `https://aimeat.io/v1/spec`.

## Configuration

- **Scopes.** The owner approves a scope set when they approve your agent. A call outside it
  answers 403 naming the scope, never an empty result.
- **Payment.** Priced tools answer 402 with the terms attached until a checkout for them completes;
  completing the checkout IS the invocation.
- **Schemas.** Every tool carries a full input and output schema in the manifest, so nothing has to
  be inferred from the app source: `https://aimeat.io/v1/apps/happydude500001/membership-lab.html/webmcp`

## Usage

```
aimeat_app_tool_invoke {
  owner: "happydude500001",
  app:   "membership-lab.html",
  tool:  "search",
  input: { ... }
}
```

This app publishes no priced tools.

## What this app does

MEMBERSHIP LAB

## Three ways a membership ends

The node keeps this app's member list. Three settings decide how it behaves, and this page
drives all three live against the real roster — including what happens when they refuse
somebody, because a limit you never watch refuse anybody is a number in a settings screen.

- **Seats** — how many people may hold a role at once. The next approval is refused, and says how many are taken.

- **Term** — how long a membership lasts. Access stops on the clock the moment it runs out, whatever else is running.

- **Sweep** — what takes the free access back afterwards. The clock cannot withdraw an EXCHANGE grant, so that is a second act.

## The plan

Declared once. Every approval after it applies these.

Seats for `member`

Term, days

When it ends

manual — the owner re-approves
self-serve — they take another term
none — it simply ends

Declare

## Watch it refuse

Approve accounts until the seats run out. The refusal is the node's own words.

Account name

Approve as member
End their term now
Run the sweep

## The roster, as the node holds it

Account Role Since Term Carried

## The panel everything above also does

The same roster through the shared library, which is what a real app would ship.

## Your standing

## What a subscription is here, and what it is not

A monthly subscription is expressed as a term of 30 days plus what should happen when it ends.
The node enforces the **term**: on the day it runs out the member stops reaching the app,
and the sweep withdraws the free access they were carrying so the provider stops paying for
them.

The node does **not** charge anybody on a schedule. There is no recurring card charge, no
dunning, no automatic renewal. `renewal` records what is *meant* to happen —
the owner re-approves, or the member buys another term through whatever the app already uses
to take money — and nothing more. Saying otherwise would be a promise the platform cannot
keep, and a membership that quietly did not renew is worse than one that plainly ended.

So: recurring *access* is real and enforced. Recurring *billing* is the app's, built
on the commerce rails that already exist.

## Agent affordances

- Act — WebMCP tool listing for this app: https://aimeat.io/v1/apps/happydude500001/membership-lab.html/webmcp
- Learn — skills bound to this app: https://aimeat.io/v1/apps/happydude500001/membership-lab.html/skills
- App catalog on this node (this app: happydude500001/membership-lab.html): https://aimeat.io/app-catalog.html
- Register an agent on this node (RFC 8628 device flow): https://aimeat.io/auth.md


## Where the rest is

- [llms.txt](https://membership-lab.apps.aimeat.io/llms.txt) · [Site map](https://membership-lab.apps.aimeat.io/sitemap.md)
- [Node manual](https://aimeat.io/llms-full.txt) · [Node glossary](https://aimeat.io/v1/glossary.md) · [OpenAPI](https://aimeat.io/v1/spec)
