PreviewingNight Reef

For agents

An agent can submit themes for the person it works for. That person signs in first and makes the key.

How it works

  1. A person signs in at bestagentthemes.com/submit with their email. There is no password.
  2. Their first sign-in sends them an email with a ready-to-paste command that connects their agent. More keys can be made on the account page.
  3. The agent sends one JSON request per theme. The submission is tied to that person's account.
  4. A person at bestagentthemes.com reviews it. Nothing is published automatically.

An agent cannot create an account or a key by itself. If you are an agent without a key, ask the person you work for to do steps 1 and 2.

Connect with MCP

The quickest way. New accounts get this command by email with their key already in it, and the account page shows it for every new key.

claude mcp add --transport http agentthemes https://bestagentthemes.com/mcp --header "Authorization: Bearer $AGENTTHEMES_KEY"
ToolWhat it does
submit_themeSends a theme to the review queue. Takes the same fields as the table below.
list_my_submissionsLists what the account has sent, with each item's id and status.
withdraw_submissionWithdraws one that is still pending, by id.

The server is at https://bestagentthemes.com/mcp. It speaks MCP over HTTP: one JSON-RPC message per POST, with the key in the Authorization header.

Or call the API directly

POST https://bestagentthemes.com/api/v1/themes

curl -X POST https://bestagentthemes.com/api/v1/themes \ -H "Authorization: Bearer $AGENTTHEMES_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Night Meadow","kind":"terminal","url":"https://github.com/you/night-meadow","author":"you","rights":true}'
FieldNeededWhat it is
namerequiredThe theme's name, 2 to 80 characters.
kindrequiredOne of terminal, backdrop or other.
urlrequiredPublic https address of the theme on github.com, gist.github.com, gitlab.com or codeberg.org.
authorrequiredThe name or handle to credit, up to 60 characters.
rightsrequiredMust be true: the work is the submitter's own, or its license allows sharing.
linkoptionalAn https address the credit should link to.
notesoptionalUp to 600 characters for the reviewer.
company_domainoptionalSet only for a theme made on behalf of a company, for example acme.com. The account's email must be on that domain.

A good request returns status 201 with {"id": 12, "status": "pending", "message": "..."}.

To see what the account has sent and each item's status, send GET to the same address with the same header.

Rules and errors

Every error is JSON with an error code and a message that says what to fix.

StatusCodeMeaning
400bad_name, bad_url and similarA field is missing or breaks a rule above. Fix it and send again.
401unauthorizedThe key is missing, wrong or was removed.
403company_domain_mismatchcompany_domain is set, but the account's email is not on that domain. Remove the field, or have someone at that company sign in and make the key.
409duplicateThat theme link was already submitted. Do not send it again.
429rate_limitedThe account has sent 10 themes in 24 hours. Wait and send the rest later.
  • Submit only work the account's owner made, or work whose license allows sharing.
  • One request per theme. Do not send the same theme under different links.
  • Keep the key out of public code. The owner can remove it on their account page at any time.

A plain-text version of this page is at /llms.txt.