Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Desk by Ouroboros Apps

REMOTE · DESK-MCP-CONTINUITY2.VERCEL.APP

Customer support answers, refund rules, and escalation limits for AI assistants

+3 this week 87 Trust /100

Last scanned (20 hours ago)

Scores higher than 94% of remote servers

Reachable. Last reached 4 Nov 2026.

Category CRM and Sales

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability70
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 1352 tokens (~104/item across 13 items; 13 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety88
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 1 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "list_refund_rules" implies "refund" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • The server changed its declared name: Desk → Rampart security
    • Server version: 0.1.0 → 1.0.6 functional
  • 21 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Probed https://desk-mcp-continuity2.vercel.app/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.vercel.app CN=WR1,O=Google Trust Services,C=US 31 Oct 2026 29 Jan 2027 RSA 2048 SHA256-RSA 9c5f0e6a35c955e113044c86848e4cd5
SANs: *.vercel.app
CN=WR1,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7fd9e2c2d2048a0474b627a26d0868a7
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of desk-mcp-continuity2.vercel.app. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
vercel.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://desk-mcp-continuity2.vercel.app/.well-known/oauth-protected-resource/mcp"

Bearer resource_metadata="https://desk-mcp-continuity2.vercel.app/.well-known/oauth-protected-resource/mcp"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options DENY
referrer-policy no-referrer

Protected resource metadata

Document https://desk-mcp-continuity2.vercel.app/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://desk-mcp-continuity2.vercel.app/mcp
Authorisation server https://rwmcpgsdugkishzsgxnw.supabase.co/auth/v1

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://desk-mcp-continuity2.vercel.app/mcp Verified 200
http (plaintext) http://desk-mcp-continuity2.vercel.app/mcp HTTPS enforced 308 https://desk-mcp-continuity2.vercel.app/mcp
MCP tools · 13 exposed · ~1,101 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
create_support_desk ~50

Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines.

NameTypeReqDescription
descriptionstring––
namestringyes–
NameTypeReqDescription
data–––

No examples provided.

evaluate_commitment ~99

Decide whether a proposed refund, feature, or timeline is in the approved set. REFUSED means do not say it, do not invent a substitute, and draft for human review instead of promising the customer. APPROVED means sayOnly is the only permitted wording. Pass channel to also enforce the escalation limit.

NameTypeReqDescription
channelstring––
deskIdstringyes–
kindstringyes–
proposalstringyes–
NameTypeReqDescription
data–––

No examples provided.

evaluate_escalation ~94

Decide whether this channel may escalate or may promise a refund, feature, or timeline. REFUSED means do not escalate, do not invent a tier, and draft for human review instead of promising the customer. Permission to promise still requires evaluate_commitment for the exact wording.

NameTypeReqDescription
actionstringyes–
channelstringyes–
deskIdstringyes–
targetTierstring––
NameTypeReqDescription
data–––

No examples provided.

get_desk_context ~111

Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not permission. A missing or RETIRED answer is not an invitation to invent one. Call evaluate_commitment before promising a refund, feature, or timeline. If tools fail or return gaps or REFUSED, draft for human review instead of promising the customer.

NameTypeReqDescription
deskIdstringyes–
limitinteger––
questionstringyes–
NameTypeReqDescription
data–––

No examples provided.

list_approved_commitments ~63

Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying one.

NameTypeReqDescription
deskIdstringyes–
includeRetiredboolean––
kindstring––
NameTypeReqDescription
data–––

No examples provided.

list_escalation_limits ~57

Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path.

NameTypeReqDescription
deskIdstringyes–
includeRetiredboolean––
NameTypeReqDescription
data–––

No examples provided.

list_refund_rules ~61

Read refund rules on a desk. Only APPROVED rules can authorize wording, and only through evaluate_commitment. Do not treat this list as permission to invent a refund.

NameTypeReqDescription
deskIdstringyes–
includeRetiredboolean––
NameTypeReqDescription
data–––

No examples provided.

list_support_desks ~34

List this team's support desks. Use the returned id. Do not guess a desk.

NameTypeReqDescription
offsetinteger––
NameTypeReqDescription
data–––

No examples provided.

save_approved_answer ~84

Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous read.

NameTypeReqDescription
answerstringyes–
deskIdstringyes–
expectedRevisioninteger––
questionstringyes–
statusstring––
topicstringyes–
NameTypeReqDescription
data–––

No examples provided.

save_approved_commitment ~95

Store a feature or timeline statement the user has explicitly approved. The statement is the only wording that can later pass evaluate_commitment. Do not save a date or a feature the user did not approve.

NameTypeReqDescription
deskIdstringyes–
expectedRevisioninteger––
kindstringyes–
namestringyes–
statementstringyes–
statusstring––
NameTypeReqDescription
data–––

No examples provided.

save_escalation_limit ~146

Store the escalation limit the user has explicitly approved for one channel. maxTier must be on tierLadder. Promise flags default closed unless the user sets them true. A limit does not itself approve refund, feature, or timeline wording.

NameTypeReqDescription
allowFeaturePromiseboolean––
allowRefundPromiseboolean––
allowTimelinePromiseboolean––
channelstringyes–
deskIdstringyes–
expectedRevisioninteger––
maxTierstringyes–
namestringyes–
notesstring––
statusstring––
tierLadderarrayyes–
NameTypeReqDescription
data–––

No examples provided.

save_refund_rule ~125

Store a refund rule the user has explicitly approved. matchTerms must name a specific situation. The word refund alone is not a rule. remedy is the only wording that may later be approved. decision ALLOW grants that wording. decision DENY refuses a refund and records the denial script.

NameTypeReqDescription
decisionstringyes–
deskIdstringyes–
expectedRevisioninteger––
matchTermsarrayyes–
namestringyes–
remedystringyes–
statusstring––
windowDays–––
NameTypeReqDescription
data–––

No examples provided.

search_approved_answers ~82

Look up approved answers by topic, question, or answer text. An empty result means there is no approved answer. Draft for human review; do not invent one or promise the customer. Page with offset.

NameTypeReqDescription
deskIdstringyes–
includeRetiredboolean––
offsetinteger––
querystring––
NameTypeReqDescription
data–––

No examples provided.

Install

How do I install the Desk by Ouroboros Apps MCP server?

Desk by Ouroboros Apps is a hosted endpoint at https://desk-mcp-continuity2.vercel.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · desk-mcp-continuity2.vercel.app

# add to Claude Code
claude mcp add --transport http lahutchins91-desk 'https://desk-mcp-continuity2.vercel.app/mcp'
Common questions

What is the Desk by Ouroboros Apps MCP server?

Desk by Ouroboros Apps is an MCP server listed in the public MCP registry as io.github.LAHutchins91/desk. Customer support answers, refund rules, and escalation limits for AI assistants. This page covers its hosted endpoint (https://desk-mcp-continuity2.vercel.app/mcp).

Is the Desk by Ouroboros Apps MCP server safe to use?

Desk by Ouroboros Apps scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Desk by Ouroboros Apps MCP server expose?

Desk by Ouroboros Apps exposes 13 tools: list_support_desks, create_support_desk, save_approved_answer, search_approved_answers, save_refund_rule, and 8 more. Their descriptions and schemas cost roughly 1,101 tokens of context every time the server is loaded.

Does the Desk by Ouroboros Apps MCP server require authentication?

Yes. Desk by Ouroboros Apps asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Desk by Ouroboros Apps MCP server still maintained?

Desk by Ouroboros Apps is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.