MCP server
The marketplace as agent-callable tools. Enforcement stays server-side in the hosted endpoint, so there is no configuration of this server that loosens a creator's boundaries — it is a client of the API, not a second copy of the rules.
Configuration
{
"mcpServers": {
"likeward": {
"command": "npx",
"args": ["-y", "tsx", "/path/to/likeward/mcp/server.ts"],
"env": {
"LIKEWARD_API_KEY": "lkw_live_…",
"LIKEWARD_API_URL": "https://likeward.helm7.com"
}
}
}
}The directory, boundary-set and provenance tools work without a key — reading the terms should not require an account. Anything that generates needs one, because a manifest whose requester is “somebody on the internet” answers none of the questions it exists to answer.
Tools
| Tool | What it does | Key |
|---|---|---|
| list_creators | Who is licensing, with each boundary-set summary and price. | — |
| get_boundary_set | One creator's full machine-readable boundary set and version history. | — |
| check_request | Dry-run the consent gate. Same decision as generate; no model, no credit, no record. | required |
| generate | Consent-checked generation. Refused server-side on violation, with the rule named. | required |
| verify_provenance | Look up a manifest by generation id and check its signature. | — |
| describe_taxonomy | The whole boundary vocabulary, including why each platform prohibition exists. No network call. | — |
The order that works
list_creators— find who is licensing. Generating for a creator who is not listed, or whose consent is revoked, is refused.get_boundary_set— read what is permitted before composing anything. It tells you in advance what will be refused.check_request— iterate on the prompt for free until it passes.generate— act. Credits are charged only for an image that exists.
A refusal comes back as a tool error carrying the full refusal payload, so it cannot be mistaken for a success, and the calling model can read refusal.rule and adjust rather than retrying blindly. Retrying will not help: the evaluation is deterministic.
The underlying HTTP surface is documented at /docs/api, with a full OpenAPI 3.1 description.