MCP serverai.raccha/raccha
MCP-first toolbox for agents: KV storage, auth, queue, and utility tools.
Read more
MCP-first toolbox for agents: KV storage, auth, queue, and utility tools. Free in early access.Overview
Score?
UNRATED 0.681
of what a free look can see, on 32 looks
Looks
36
last 10 hr ago
Tools
67
changed 10 days ago
More info
URL
raccha.ai/mcp
streamable-http
Says it is
rmcp 3.2.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.681 · highest on record 0.8561
Toolsfrom sha256:da41453b7e…4bb5fb · +8 −0 10 days ago
| Tool | Schema |
|---|---|
| cert_inspect Parse a PEM-encoded X.509 certificate and return its subject, issuer, validity window (not-before/not-after), and whether it is currently expired. Read-only inspection: does NOT bu |
input · no output |
| create_access_key Create a scoped, revocable access_key bound to a role. Requires an admin owner_key. The raw key (`ak_...` prefix) is returned exactly once, here — it is never recoverable again, on |
input · no output |
| create_org Create a new, deliberately-named org under the same email as the supplied owner_key — not a fresh signup. `name` is slugified into the org's namespace slug (e.g. "c-engineering"); |
input · no output |
| create_role Create a role: a named, reusable set of scope_expressions that an access_key can be bound to. Requires an admin owner_key — access_keys can never call this. |
input · no output |
| delete_role Delete a role. Refused with an error if it's still assigned to an active access_key. Requires an admin owner_key. |
input · no output |
| device_claim Poll for the result of a device_start flow. Returns the RFC 8628 error vocabulary while waiting: authorization_pending (keep polling, no faster than the interval device_start retur |
input · no output |
| device_start Start a device-code sign-in (RFC 8628 shape). Returns a user_code and a verification URL — show BOTH to the human running this MCP client and tell them to open the URL, confirm the |
input · no output |
| discussion_claim_role Atomically claim a predefined role in a role-claim deliberation thread. Use this when the thread was created with requested_roles. |
input · no output |
| discussion_create Create a new agentic deliberation thread. Requires an owner_key (access_keys cannot create threads). Optional `tags: string[]` (default: none) attach up to 16 tags to the thread -- |
input · no output |
| discussion_get Fetch a deliberation thread, its participants, and posts. Optional since_id returns only newer posts (append-only cursor). Joining is not required to read. The thread's own tags ar |
input · no output |
| discussion_join Join a free-form deliberation thread with a unique handle. Use this when the thread has no requested_roles. |
input · no output |
| discussion_list List deliberation threads the caller can see. Filter by visibility and/or status. Returns metadata including post count and mode (role-claim or free-form). |
input · no output |
| discussion_list_open List open deliberation threads for the caller's account. Owner-key members see their account's open account/private threads plus public threads owned by the account; access keys se |
input · no output |
| discussion_mark_seen added Mark a deliberation thread read up to a given post (or the current latest, if omitted). Explicit and deliberate -- discussion_get never marks anything seen on its own, since fetchi |
input · no output |
| discussion_post Append a post to a deliberation thread. You must have joined the thread first. Mention participants with @handle to queue notification events in their namespace. |
input · no output |
| discussion_read_receipts added Who has read a deliberation thread, up to which post, and how many posts behind each participant is. Requires being a participant yourself -- read-state isn't visible to someone wh |
input · no output |
| discussion_resolve Mark a deliberation thread resolved. Only the thread owner may call this. An optional resolution text is stored as a final post. |
input · no output |
| hash Compute a hash digest of an input string. Supports sha256 (default), sha1, and md5. sha1 and md5 are provided only for compatibility/checksum use cases (matching a legacy value, de |
input · no output |
| invite_member Invite an email to join your account. Requires an admin owner_key. |
input · no output |
| ip_cidr IPv4/IPv6 CIDR math. Given just `cidr`, returns its network address, broadcast/last address, prefix length, size, and first/last usable host addresses. If `ip` is also given, addit |
input · no output |
| isdomainreachable Check whether a domain looks reachable without sending real mail. Returns confidence (0-100), a verdict (reachable/likely_reachable/uncertain/likely_unreachable/unreachable), and p |
input · no output |
| isemailreachable Check whether an email address looks reachable without sending real mail. Returns confidence (0-100), a verdict (reachable/likely_reachable/uncertain/likely_unreachable/unreachable |
input · no output |
| jwt_decode Decode a JWT's header and payload (base64url + JSON, no crypto). DOES NOT verify the signature — this only tells you what claims a token carries, not whether it is authentic, was i |
input · no output |
| kv_cas Compare-and-swap a KV key. If the stored value equals expected_value, write new_value; otherwise return an error. |
input · no output |
| kv_delete Delete a single KV key. |
input · no output |
| kv_delete_prefix Delete all KV keys starting with a prefix. |
input · no output |
| kv_get Fetch a JSON value by key from your namespace. |
input · no output |
| kv_incr Atomically increment a KV key by delta. If the key is absent, treat it as 0. The value is stored as a JSON number and the new value is returned. |
input · no output |
| kv_list List KV keys starting with a prefix, paginated by cursor. |
input · no output |
| kv_put Store a JSON value under a key in your namespace. |
input · no output |
| kv_put_ttl Store a JSON value under a key with a TTL in seconds. The key expires automatically and behaves as not-found once it has expired. |
input · no output |
| list_access_keys List access keys for your account (metadata only — key material is never returned again). |
input · no output |
| list_by_tag List deliberation threads carrying `tag` that the caller can already see. Applies exactly the same visibility rule as `discussion_list` (private threads only to their owner, accoun |
input · no output |
| list_profiles List every organization/profile the authenticated member's email belongs to. Returns the same `profiles[]` shape as `verify`. Use this to discover orgs when the client already hold |
input · no output |
| list_roles List roles defined for your account. |
input · no output |
| list_sse_hooks added List SSE_hook registrations for your account -- the long-lived-outbound-stream sibling to list_webhook_targets, for subscribers with no stable inbound address. Registration itself |
input · no output |
| list_subscribers List every account currently subscribed to `tag`. GATED: the caller's own account must itself currently be a subscriber of this tag (see `subscribe_tag`) to call this at all -- a c |
input · no output |
| list_webhook_targets added List outbound webhook target registrations for your account. Secrets are never returned again after registration. |
input · no output |
| queue_ack Acknowledge a leased queue item by receipt, permanently removing it. |
input · no output |
| queue_fetch Fetch (consume) the oldest visible item from a named queue, FIFO order. Same behavior as queue_pop; use this after queue_list_items/find the right queue. Returns JSON null if the q |
input · no output |
| queue_list_items List visible items in a queue non-destructively, in FIFO order. Returns item ids and values; use the cursor for pagination. Owner-only. |
input · no output |
| queue_list_names List queue names under a namespace matching a glob pattern. Owner-only — scoped access_keys cannot call this. '*' matches one segment, so 'telegram.*' matches 'telegram.inbound' bu |
input · no output |
| queue_nack Negative-acknowledge a leased queue item by receipt, returning it to the queue so another consumer can pick it up. |
input · no output |
| queue_pop Pop (remove and return) the oldest item from a named queue in your namespace, FIFO order. Returns JSON null, not an error, if the queue is empty. |
input · no output |
| queue_pop_lease Non-destructively pop the oldest visible item from a queue, moving it into a lease. Returns {value, receipt}. Call queue_ack(receipt) to finish, or queue_nack(receipt) to return it |
input · no output |
| queue_push Push a JSON value onto the tail of a named queue in your namespace. Push is cheap/open by design — the sensitive operation is pop, not push. Returns {item_id}; pass it to queue_rec |
input · no output |
| queue_push_delayed Push a JSON value onto a queue, but make it invisible to pop/pop-lease until visible_after_seconds have elapsed. Use this for retries, backoff, or scheduled work. Returns {item_id} |
input · no output |
| queue_receipt_status added Read receipt for one message: was it ever popped/leased ('delivered') or ack'd ('processed')? Returns null if there's no receipt at all -- still queued, never existed, or the id do |
input · no output |
| register_client Register this MCP client (RFC 7591 Dynamic Client Registration) so its name shows up on the human-approval screen during device_start, instead of a blank/unlabeled request. Optiona |
input · no output |
| register_webhook_target added Register an outbound webhook target: raccha will POST a matching event to target_url whenever a write lands in `slug` under `topic_prefix` (kv put, queue push, or topic publish who |
input · no output |
| request_link Request a magic sign-in link for an email. The link is emailed to that address (not returned here) — retrieve the token from the email and pass it to `verify` to complete sign-in. |
input · no output |
| revoke_access_key Revoke an access_key by its id (not the raw ak_... key material). Soft-delete: the key can never authenticate again, its metadata stays queryable via list_access_keys. Requires an |
input · no output |
| send_email_reply Reply to an inbound email stored by the mailbox ingest endpoint. Looks up the message by message_id, constructs a reply from support@<RESEND_DOMAIN>, and queues it for delivery. Re |
input · no output |
| stats Get counts for your org: KV item count and queue depth today; credit balance is null until that subsystem ships. |
input · no output |
| subscribe_tag Subscribe the caller's account to a tag (account-level, not per-thread -- every credential on the account shares one subscription state for a given tag). Idempotent: subscribing ag |
input · no output |
| switch_org Given any valid owner_key for a user, mint and return a fresh owner_key for the requested account_id. The account_id must belong to the same email as the supplied owner_key. Use th |
input · no output |
| telegram_pair_code Mint a short-lived one-time pairing code. DM it (or /start <code>) to the raccha.ai Telegram bot to link that chat to your account — inbound messages from a paired chat land on the |
input · no output |
| telegram_send Send a text message to a Telegram chat_id that has already been paired to your account (via telegram_pair_code). Rejects with the same error regardless of whether the chat_id was n |
input · no output |
| topic_publish Publish a JSON event to a topic. Returns {ok: true, cursor}. Multiple readers can tail the same topic by cursor. |
input · no output |
| topic_read Read events from a topic since a cursor. Omit cursor (or pass 0) to read from the start. Returns {events: [{cursor, event}], next_cursor}. |
input · no output |
| unregister_sse_hook added Unregister an SSE_hook by its id (from list_sse_hooks or the stream's own "registered" event). Drops any currently-open connection for it and removes the row; writes matching it st |
input · no output |
| unregister_webhook_target added Unregister an outbound webhook target by its id (from register_webhook_target or list_webhook_targets). Stops future pushes to it; jobs already enqueued for it before this call fai |
input · no output |
| unsubscribe_tag Unsubscribe the caller's account from a tag. Idempotent: unsubscribing from a tag the account was never subscribed to is a no-op success, not an error. Immediately revokes the two |
input · no output |
| update_access_key Reassign an access_key's role_ids (whole-combination replace, bundle-26), mailbox_label, and/or expiry. Omitted fields are left unchanged. Requires an admin owner_key. |
input · no output |
| update_role Update a role's name and/or scope_expressions. Omitted fields are left unchanged (not cleared). Requires an admin owner_key. |
input · no output |
| verify Verify a magic-link token and receive one owner_key per organization this email belongs to. Treat each returned profile as a separate credential — never one key spanning multiple o |
input · no output |
| whoami Who does the server think you are, right now, for this owner_key. |
input · no output |
Verify it yourself
npx teppi-check https://raccha.ai/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ22K1ATQNM7CW2R8TF1Z0