_ registry / mcp streamable-http · checked 1h ago

relm

https://api.relmcrm.com

Registry code: 8bcedb54bbdfc141

api record

Relm - the CRM your agent owns. Call relm_describe_schema first to learn what objects, types and fields exist. On any 'unknown_value' error, read valid_options and either use a listed value or create it (relm_create_enum_value / relm_create_field / relm_create_type).

endpoint
https://api.relmcrm.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is relm live?
Yes — it answered the hub's last check (checked 1h ago). It answered 99% of checks over the last 30 days.
Is relm free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does relm have?
41 tools: relm_list_webhooks, relm_update, relm_log_activity, relm_create_pipeline, relm_create_enum_value, relm_batch, relm_create_automation, relm_create_template, ….
Is relm safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.1%

90 days 99.2%· all time 99.2%

latency
174ms

last good check

priced tools
0

of 41 tools

_ answered our checks, 90 days 364 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • create and update crm contacts and deals
  • search contacts and companies
  • create email drip sequences
  • set up crm automations and webhooks
  • log sales activities
takes → gives
text, data → data
tools
11 reads14 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 41 tools
41 auth-required 41 of 41 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • relm_list_webhooks auth-required 27h ago

    List webhook subscriptions in this workspace/mode.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_update auth-required never probed

    Patch a record. Pass if_match (the record's current version) for optimistic concurrency; a 412 means re-fetch and retry.

    mcp-tool

    {
      "type": "object",
      "required": [
        "object",
        "id",
        "patch"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "patch": {
          "type": "object"
        },
        "object": {
          "enum": [
            "contact",
            "company",
            "deal",
            "activity"
          ],
          "type": "string",
          "description": "Which core object."
        },
        "if_match": {
          "type": "number"
        }
      }
    }
    arguments 29 lines
  • relm_log_activity changes data auth-required never probed

    Log an activity (note/call/email/meeting/task) on a contact and/or deal. Convenience wrapper over create activity.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "body": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "deal_id": {
          "type": "string"
        },
        "contact_id": {
          "type": "string"
        }
      }
    }
    arguments 17 lines
  • relm_create_pipeline auth-required never probed

    Create a pipeline. Optionally provide stages [{key,label}] (defaults to lead/qualified/proposal/won/lost) and is_default.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "stages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "type": {
                "enum": [
                  "open",
                  "won",
                  "lost"
                ],
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            }
          }
        },
        "is_default": {
          "type": "boolean"
        }
      }
    }
    arguments 36 lines
  • relm_create_enum_value auth-required never probed

    Add a value to an enum group (e.g. group 'contact.type' value 'partner'). Idempotent; returns the full value set. Use this when relm_create rejects an unknown type with a valid_options list.

    mcp-tool

    {
      "type": "object",
      "required": [
        "group",
        "value"
      ],
      "properties": {
        "group": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    }
    arguments 18 lines
  • relm_batch changes data auth-required never probed

    Run up to 100 record writes in ONE call (contact/company/deal/activity) - the fast path for imports/migrations. operations: [{object, method:create|update|delete, data|patch, id?}]. Returns a per-op result array (partial success). Every op still counts against your quota (batch saves round-trips, not quota).

    mcp-tool

    {
      "type": "object",
      "required": [
        "operations"
      ],
      "properties": {
        "operations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "data": {
                "type": "object"
              },
              "patch": {
                "type": "object"
              },
              "method": {
                "enum": [
                  "create",
                  "update",
                  "delete"
                ],
                "type": "string"
              },
              "object": {
                "type": "string"
              }
            }
          }
        }
      }
    }
    arguments 36 lines
  • relm_create_automation changes data auth-required never probed

    Create a single-step rule: when <trigger_event> [if <conditions>] then <actions>. conditions=[{field,op,value}] (ANDed), actions=[{type,...}]. Example: trigger_event='deal.stage_changed', conditions=[{field:'stage',op:'eq',value:'won'}], actions=[{type:'create_activity',body:'Deal won!'}]. See relm_automations_capabilities.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name",
        "trigger_event",
        "actions"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "actions": {
          "type": "array"
        },
        "enabled": {
          "type": "boolean"
        },
        "conditions": {
          "type": "array"
        },
        "trigger_event": {
          "type": "string"
        }
      }
    }
    arguments 25 lines
  • relm_create_template changes data auth-required never probed

    Create a reusable email template. name, html (full HTML, {{field}} placeholders ok), optional subject + text (plaintext alt; auto-derived if omitted). Reference it from a rule/sequence step via {"type":"send_email","template":"<key or tmpl_id>"}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name",
        "html"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "html": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      }
    }
    arguments 24 lines
  • relm_create_sequence changes data auth-required never probed

    Create a multi-step drip sequence. trigger={event,filter:[{field,op,value}]} auto-enrolls the matching entity's contact; exit_when=[{field,op,value}] stops it (re-checked before every send); steps=[{wait_days,subject,body}] (first step wait_days:0 sends now). enroll_existing:true also enrolls everything that currently matches. Example: 3 emails to contacts of deals entering stage 'lead', stop if the deal leaves 'lead'.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name",
        "steps"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "steps": {
          "type": "array"
        },
        "channel": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "trigger": {
          "type": "object"
        },
        "exit_when": {
          "type": "array"
        },
        "connection": {
          "type": "string"
        },
        "enroll_existing": {
          "type": "boolean"
        }
      }
    }
    arguments 33 lines
  • relm_create_webhook changes data auth-required never probed

    Subscribe an https endpoint to CRM events. events=['*'] for all, or a subset of ['contact.created','contact.updated','deal.created','deal.updated','deal.stage_changed']. Returns a `secret` ONCE - the subscriber verifies the `Relm-Signature` header (t=<unix>,v1=<hmac-sha256 of "t.body">). Deliveries retry with backoff and dead-letter after 6 attempts.

    mcp-tool

    {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "events": {
          "type": "array"
        },
        "enabled": {
          "type": "boolean"
        },
        "description": {
          "type": "string"
        }
      }
    }
    arguments 20 lines
  • relm_manage_automation auth-required never probed

    Change an existing automation by id. action=disable stops it firing (use this to turn off a misbehaving rule); action=enable resumes it; action=delete removes it. To read one, use relm_get_automation. To change a rule's trigger/conditions/actions, delete and recreate.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id",
        "action"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "action": {
          "enum": [
            "enable",
            "disable",
            "delete"
          ],
          "type": "string"
        }
      }
    }
    arguments 20 lines
  • relm_manage_pipeline changes data auth-required never probed

    Change an existing pipeline by key or pl_ id. action=rename changes its display `name` and/or its key (pass `new_key`) - deals link by internal id, so they follow a re-key automatically; action=set_default makes it the workspace default; action=delete removes it (fails if deals still use it - move them first). To read one, use relm_get_pipeline.

    mcp-tool

    {
      "type": "object",
      "required": [
        "pipeline",
        "action"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "New display name"
        },
        "action": {
          "enum": [
            "rename",
            "set_default",
            "delete"
          ],
          "type": "string"
        },
        "new_key": {
          "type": "string",
          "description": "New pipeline key (slugified); deals follow automatically"
        },
        "pipeline": {
          "type": "string"
        }
      }
    }
    arguments 28 lines
  • relm_list_sequences reads auth-required 34h ago

    List drip sequences with their steps and enrollment counts.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_search reads auth-required 2d ago

    Cross-entity search over contacts, companies and deals by name/email/title.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "limit": {
          "type": "number"
        },
        "query": {
          "type": "string"
        }
      }
    }
    arguments 14 lines
  • relm_list_pipelines auth-required 38h ago

    List pipelines with their ordered stages.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_enroll changes data auth-required never probed

    Manually enroll a contact into a sequence (idempotent per contact+sequence). Optional source={object,id} records what drove the enrollment (e.g. a deal).

    mcp-tool

    {
      "type": "object",
      "required": [
        "sequence_id",
        "contact_id"
      ],
      "properties": {
        "source": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "object": {
              "type": "string"
            }
          }
        },
        "contact_id": {
          "type": "string"
        },
        "sequence_id": {
          "type": "string"
        }
      }
    }
    arguments 26 lines
  • relm_delete_webhook changes data auth-required never probed

    Delete a webhook subscription by id.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • relm_manage_sequence changes data auth-required never probed

    Change an existing drip sequence by id. action=disable stops further sends (use this to halt a bad sequence); action=enable resumes; action=delete removes it. To read one or list its enrollments, use relm_get_sequence.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id",
        "action"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "action": {
          "enum": [
            "enable",
            "disable",
            "delete"
          ],
          "type": "string"
        }
      }
    }
    arguments 20 lines
  • relm_manage_webhook changes data auth-required never probed

    Pause or resume delivery for an existing webhook by id. action=enable/disable. To read one or inspect its delivery attempts, use relm_get_webhook. To remove it, use relm_delete_webhook.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id",
        "action"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "action": {
          "enum": [
            "enable",
            "disable"
          ],
          "type": "string"
        }
      }
    }
    arguments 19 lines
  • relm_set_spend_cap auth-required never probed

    Set (or clear) the hard monthly overage spend cap in USD. overage_cap_usd: a number caps paid overage (requests 429 with spend_cap_reached past it), 0 = never any overage, null = unlimited. This is the recovery for a spend_cap_reached error.

    mcp-tool

    {
      "type": "object",
      "required": [
        "overage_cap_usd"
      ],
      "properties": {
        "overage_cap_usd": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    }
    arguments 14 lines
  • relm_list auth-required 5h ago

    List records of an object with keyset pagination. Optional filters vary by object (e.g. contact: email/company_id/type; deal: pipeline/stage/company_id; activity: contact_id/deal_id/type).

    mcp-tool

    {
      "type": "object",
      "required": [
        "object"
      ],
      "properties": {
        "limit": {
          "type": "number"
        },
        "cursor": {
          "type": "string"
        },
        "filter": {
          "type": "object",
          "description": "object-specific filters"
        },
        "object": {
          "enum": [
            "contact",
            "company",
            "deal",
            "activity"
          ],
          "type": "string",
          "description": "Which core object."
        }
      }
    }
    arguments 28 lines
  • relm_get_usage auth-required 47h ago

    Read this workspace's current billing period: requests used, plan, monthly limit, and any metered overage. Call this to see how close you are to the quota before a big import.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_list_connections reads auth-required 41h ago

    List connected messaging channels (never returns the secret key).

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_restore auth-required never probed

    Restore a soft-deleted record.

    mcp-tool

    {
      "type": "object",
      "required": [
        "object",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "object": {
          "enum": [
            "contact",
            "company",
            "deal",
            "activity"
          ],
          "type": "string",
          "description": "Which core object."
        }
      }
    }
    arguments 22 lines
  • relm_delete_connection auth-required never probed

    Delete a connected messaging channel by id (e.g. to remove a rotated/wrong Resend key).

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • relm_list_automations reads auth-required 44h ago

    List reactive rules (automations).

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_get_pipeline reads auth-required 16h ago

    Read one pipeline by key or pl_ id, with its ordered stages and their semantic types (open/won/lost).

    mcp-tool

    {
      "type": "object",
      "required": [
        "pipeline"
      ],
      "properties": {
        "pipeline": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • relm_create changes data auth-required never probed

    Create a record. `data` is the object's fields (see relm_describe_schema). Custom fields must be registered first (relm_create_field). A contact needs at least one of: a name, an identifier (email/phone/linkedin_url), a company, or a custom field (email is unique per workspace) - don't invent a placeholder email.

    mcp-tool

    {
      "type": "object",
      "required": [
        "object",
        "data"
      ],
      "properties": {
        "data": {
          "type": "object"
        },
        "object": {
          "enum": [
            "contact",
            "company",
            "deal",
            "activity"
          ],
          "type": "string",
          "description": "Which core object."
        }
      }
    }
    arguments 22 lines
  • relm_delete changes data auth-required never probed

    Soft-delete a record (recoverable via relm_restore). Never hard-destroys data.

    mcp-tool

    {
      "type": "object",
      "required": [
        "object",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "object": {
          "enum": [
            "contact",
            "company",
            "deal",
            "activity"
          ],
          "type": "string",
          "description": "Which core object."
        }
      }
    }
    arguments 22 lines
  • relm_manage_stage auth-required never probed

    Add, rename/retype, delete, or reorder stages in a pipeline. action=add: `key` (+optional label, ordinal, type). action=rename: `key` (existing) + any of new_key / label / type - keys are slugified and deals follow automatically (fixes a typo'd key). action=delete: `key` (a stage in use by deals cannot be deleted). action=reorder: `order` = every existing stage key exactly once, in the new order. `type` is the semantic stage type: open | won | lost - so 'is this deal won?' is a flag (stage_type on every deal), not per-pipeline string matching.

    mcp-tool

    {
      "type": "object",
      "required": [
        "pipeline",
        "action"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "type": {
          "enum": [
            "open",
            "won",
            "lost"
          ],
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "order": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "action": {
          "enum": [
            "add",
            "rename",
            "delete",
            "reorder"
          ],
          "type": "string"
        },
        "new_key": {
          "type": "string"
        },
        "ordinal": {
          "type": "number"
        },
        "pipeline": {
          "type": "string"
        }
      }
    }
    arguments 47 lines
  • relm_create_type auth-required never probed

    Register a new object type in the schema (registry). Idempotent on key; returns the full type set.

    mcp-tool

    {
      "type": "object",
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      }
    }
    arguments 14 lines
  • relm_create_field changes data auth-required never probed

    Register a new custom field on an object (contact/company/deal/activity). data_type: text|number|boolean|date|select|multiselect|currency|reference|email|url. Must be created before it can be written to a record.

    mcp-tool

    {
      "type": "object",
      "required": [
        "object",
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "object": {
          "type": "string"
        },
        "required": {
          "type": "boolean"
        },
        "data_type": {
          "type": "string"
        },
        "enum_group": {
          "type": "string"
        }
      }
    }
    arguments 27 lines
  • relm_connect_channel auth-required never probed

    Connect a BYO messaging channel so automations can send. channel='email', provider='resend', api_key=<your Resend key>, from='Team <[email protected]>' (must be a verified Resend sender). The key is encrypted at rest.

    mcp-tool

    {
      "type": "object",
      "required": [
        "api_key"
      ],
      "properties": {
        "from": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "api_key": {
          "type": "string"
        },
        "channel": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        }
      }
    }
    arguments 23 lines
  • relm_get reads auth-required 24h ago

    Fetch one record by id.

    mcp-tool

    {
      "type": "object",
      "required": [
        "object",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "object": {
          "enum": [
            "contact",
            "company",
            "deal",
            "activity"
          ],
          "type": "string",
          "description": "Which core object."
        }
      }
    }
    arguments 22 lines
  • relm_get_webhook reads auth-required 9h ago

    Read one webhook by id. view=webhook (default) returns the subscription; view=deliveries returns recent delivery attempts (status, retries, dead-letter) to debug why an endpoint isn't receiving events.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "view": {
          "enum": [
            "webhook",
            "deliveries"
          ],
          "type": "string"
        }
      }
    }
    arguments 18 lines
  • relm_list_templates reads auth-required 31h ago

    List reusable email templates.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_automations_capabilities reads auth-required 2d ago

    Discover the automation building blocks: valid trigger_events, condition ops, action types, channels/providers, and the shapes of automations/sequences/connections. Call before building a rule or sequence.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • relm_get_sequence reads auth-required 13h ago

    Read one drip sequence by id. view=sequence (default) returns it with its steps; view=enrollments lists who is enrolled and their state.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "view": {
          "enum": [
            "sequence",
            "enrollments"
          ],
          "type": "string"
        }
      }
    }
    arguments 18 lines
  • relm_get_automation auth-required 20h ago

    Read one automation by id, with its trigger, conditions and actions.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • relm_preview_sequence reads auth-required 1h ago

    Dry-run a sequence: how many contacts would enroll now + the send schedule. No side effects.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • relm_describe_schema auth-required 2d ago

    Return the live schema: every object, its fields (built-in + custom), and all enum groups with their current values (contact types, activity types, etc). ALWAYS call this before guessing a type, stage, or field - it is the source of truth for what exists.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 8bcedb54bbdfc141.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/8bcedb54bbdfc141/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/8bcedb54bbdfc141/badge.svg)](https://brick.blue/agent/8bcedb54bbdfc141?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on relmcrm.com 1 entry

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.