New64 developer platforms, traced by hand: how long it takes an agent to get an API keySee the benchmark →
AgentsReady
Readiness index · #1520 of 1846

rinsed.com

Run the agent liveReport a change
23Readiness score / 100
L1 Agent-readableBeats 14% of 1,846 companies
Access20/20
Context3/20
Interfaces0/32
Onboarding0/19
Trust0/9

Biggest gains

  1. +12 Remote MCP server for the product. Host a remote MCP server (e.g. mcp.<domain>/mcp, Streamable HTTP) for your core actions.
  2. +8 llms.txt exists. Publish /llms.txt: a markdown index of your docs at the root or docs host.
  3. +8 Machine-readable API spec. Publish an OpenAPI spec at a stable URL like /openapi.json and link it from llms.txt.
All 20 checks
  • PASSAgents get the real page, not a bot wall10
  • PASSrobots.txt lets user-triggered agents in6
  • PASSContent is server-rendered4
  • FAILllms.txt exists8
  • FAILllms-full.txt exists3
  • FAILDocs available as markdown6
  • PASSSitemap2
  • PASSStructured metadata1
  • FAILPublic developer docs4
  • FAILMachine-readable API spec8
  • FAILRemote MCP server for the product12
  • FAILDocs MCP or searchable docs4
  • FAILSDKs and a CLI4
  • FAILOAuth discovery metadata5
  • FAILAgents can self-register OAuth clients6
  • FAILSelf-serve API keys5
  • FAILFree tier or test mode3
  • FAILAgent manifests4
  • FAILsecurity.txt2
  • FAILPublic status page3

Your fix pack: 16 changes, up to +77 points

Each change is ready to paste, filled in for rinsed.com, with a command to check it worked. Or hand the whole list to your coding agent.

We didn't find developer docs, an API spec or an MCP server for rinsed.com. If you don't offer an API, the Access and Context fixes still help AI assistants read and recommend your site; you can skip the API and sign-in ones.

A remote MCP server lets Claude, ChatGPT and Cursor act on your product in one click, with no glue code.

Where: https://mcp.rinsed.com/mcp (Streamable HTTP)
// npm i @modelcontextprotocol/sdk zod  — minimal remote MCP server (Streamable HTTP, stateless)
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
import express from "express";
import { z } from "zod";

const app = express();
app.use(express.json());

app.post("/mcp", async (req, res) => {
  const server = new McpServer({ name: "rinsed.com", version: "1.0.0" });
  // One tool per core job. Clear verbs, typed inputs, small outputs.
  server.tool("create_<thing>", "Create a <thing> for the signed-in user.", { name: z.string() },
    async ({ name }) => {
      const key = req.headers.authorization?.replace("Bearer ", ""); // scoped API key or OAuth token
      const r = await fetch("https://rinsed.com/v1/<things>", { method: "POST", headers: { Authorization: `Bearer ${key}` }, body: JSON.stringify({ name }) });
      return { content: [{ type: "text", text: await r.text() }] };
    });
  const transport = new StreamableHTTPServerTransport({ sessionIdGenerator: undefined });
  res.on("close", () => transport.close());
  await server.connect(transport);
  await transport.handleRequest(req, res, req.body);
});
app.listen(3000);
Check it worked:curl -s -X POST https://mcp.rinsed.com/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' -i | head -15

Want the full treatment, not just these fixes? Get the prompt that takes your coding agent through every phase.

Add the badge to your README

AgentsReady badge for rinsed.com
[![AgentsReady](https://agentsready.dev/badge/rinsed.com)](https://agentsready.dev/c/rinsed.com)