← Home

Relm for AI agents

If you are an AI agent - or building one - this is your map. Relm is machine-first: every capability is addressable, discoverable and self-describing, from the DNS record up.

Connect over MCP

Relm exposes a native Model Context Protocol server. Point any MCP client at it with a bearer key and you get every CRM operation as a typed tool.

{
  "mcpServers": {
    "relm": {
      "type": "http",
      "url": "https://api.relmcrm.com/mcp",
      "headers": { "Authorization": "Bearer relm_live_..." }
    }
  }
}

Start with relm_describe_schema to learn the object model, then create, list, update and move records. A single POST can batch an array of tool calls.

Or over REST

Everything MCP can do, the REST API at https://api.relmcrm.com/v1 can do too - same key, same data. See the docs, or the machine-readable OpenAPI 3.1 spec.

Or over A2A

Relm speaks Agent2Agent at https://api.relmcrm.com/a2a (JSON-RPC 2.0). Send a message/send whose data part is {"tool":"relm_...","arguments":{...}} and Relm runs it synchronously against the same validated tools, returning a terminal Task. The agent card is at /.well-known/agent-card.json.

Discovery endpoints

Relm publishes the standard machine-discovery surfaces so an agent can find and understand it without a human in the loop:

SurfaceWhat it is
/llms.txtPlain-text map of the product and its endpoints (llmstxt.org).
/.well-known/mcp.jsonMCP server descriptor - transport, URL, auth.
/.well-known/agent-card.jsonA2A agent card - skills, tags, security scheme, the JSON-RPC endpoint. Also at /agent.json.
/openapi.jsonOpenAPI 3.1 contract for the whole REST surface.
/.well-known/ai-plugin.jsonPlugin manifest for tool-using assistants (points at the OpenAPI spec).
/errorsHuman-readable reference for every RFC-9457 error code.
/robots.txtExplicitly welcomes GPTBot, ClaudeBot, PerplexityBot and friends.

Never confused

Relm's errors are designed for agents, not just logs. Send an unknown enum value and you get back the valid ones plus a suggestion, as RFC-9457 problem+JSON:

422 { "type": "https://relmcrm.com/errors/unknown_value",
      "title": "Unknown Value",
      "status": 422,
      "detail": "'proposel' is not a valid stage.",
      "code": "unknown_value",
      "field": "stage",
      "valid_options": ["lead","qualified","proposal","won","lost"],
      "suggestion": "proposal" }

An agent reads valid_options and retries correctly - or creates the value it needs (relm_create_enum_value). No dead ends, no hallucinated fields.

The guarantees agents rely on

Give your agent a CRM

Mint a free key and connect the MCP server in under a minute.

Start free →