{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9a9y4bwrwr8j","handle":"desk","url":"https://wellknown.network/agents/desk","links":{"self":"https://wellknown.network/agents/desk/record.json","html":"https://wellknown.network/agents/desk","markdown":"https://wellknown.network/agents/desk/record.md","api":"https://wellknown.network/api/v1/agents/desk","status":"https://wellknown.network/api/v1/agents/desk/status","claim":"https://wellknown.network/agents/desk/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/desk/claim.json","badge":"https://wellknown.network/agents/desk/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/desk/history","tools":"https://wellknown.network/api/v1/agents/desk/tools"},"ard":{"identifier":"urn:air:desk-mcp-continuity2.vercel.app:server:desk","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Desk by Ouroboros Apps","summary":"Customer support answers, refund rules, and escalation limits for AI assistants","description":"Customer support answers, refund rules, and escalation limits for AI assistants","publisher":{"name":"LAHutchins91","url":null},"homepage":"https://ouroborosapps.com/docs/desk","repository":"https://github.com/LAHutchins91/desk-mcp","version":"1.0.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://desk-mcp-continuity2.vercel.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://desk-mcp.vercel.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-08T21:21:23.38477Z","publishedAt":"2026-10-08T21:21:23.38477Z","registryName":"io.github.LAHutchins91/desk"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"communication.chat","name":"Team Chat","confidence":0.51,"provenance":"derived"}],"categories":["communication"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-09T22:28:33.092Z","lastProbedAt":"2026-10-09T22:28:33.092Z","statusComputedAt":"2026-10-09T22:28:56.681Z","reliability30d":{"probes":13,"successRate":1,"p50Ms":141,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":13,"ok":13,"authBoundaryOk":0,"serviceOk":13,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T22:28:33.092Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":126,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T22:27:14.774Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":136,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:33:25.553Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:26:32.528Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":194,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:27:17.928Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":161,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:24:49.569Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T14:23:16.422Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T07:26:22.458Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":158,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T01:21:41.868Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":155,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T18:26:27.401Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":146,"error":null,"detail":{"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"toolCount":13,"toolsHash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","serverName":"Desk","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_support_desks","description":"List this team's support desks. Use the returned id. Do not guess a desk."},{"name":"create_support_desk","description":"Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines."},{"name":"save_approved_answer","description":"Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous"},{"name":"search_approved_answers","description":"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 pro"},{"name":"save_refund_rule","description":"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"},{"name":"list_refund_rules","description":"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 r"},{"name":"save_escalation_limit","description":"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 th"},{"name":"list_escalation_limits","description":"Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path."},{"name":"save_approved_commitment","description":"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"},{"name":"list_approved_commitments","description":"Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying "},{"name":"evaluate_commitment","description":"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 revi"},{"name":"evaluate_escalation","description":"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"},{"name":"get_desk_context","description":"Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not per"}],"package":null,"toolSurface":{"id":"ts_wgs6fgzz7xf5","endpointId":"ep_45yddg3rk347","hash":"c3f3ed6207b829e89a6712b365c7cd370477f4871682a4b2773e8819f3ab8003","toolCount":13,"serverName":"Desk","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-09T22:28:33.111Z","lastSeenAt":"2026-10-09T22:28:33.111Z","observations":1,"toolNames":["list_support_desks","create_support_desk","save_approved_answer","search_approved_answers","save_refund_rule","list_refund_rules","save_escalation_limit","list_escalation_limits","save_approved_commitment","list_approved_commitments","evaluate_commitment","evaluate_escalation","get_desk_context"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_fp9ck6e4t4qd","url":"https://desk-mcp.vercel.app/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T09:26:32.549Z","auth":{"observedAt":"2026-10-09T09:26:33.023Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://desk-mcp.vercel.app/.well-known/oauth-protected-resource/mcp","resource":"https://desk-mcp-continuity2.vercel.app/mcp","authorizationServers":["https://rwmcpgsdugkishzsgxnw.supabase.co/auth/v1"],"scopesSupported":["email","offline_access"]},"authorizationServer":{"url":"https://rwmcpgsdugkishzsgxnw.supabase.co/.well-known/oauth-authorization-server/auth/v1","issuer":"https://rwmcpgsdugkishzsgxnw.supabase.co/auth/v1","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256","plain"],"tokenEndpointAuthMethodsSupported":["client_secret_basic","client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-09T09:26:33.063Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.vercel.app","issuer":{"commonName":"WR1","organization":"Google Trust Services"},"validFrom":"2026-08-29T19:48:09.000Z","validTo":"2026-11-27T19:48:08.000Z","daysToExpiry":48,"sanCount":1,"fingerprint256":"8F:46:C4:A0:A2:89:BF:DE:40:60:D0:69:86:F2:AF:76:1E:E6:2D:66:8D:DE:97:2E:6B:EF:46:87:EE:4F:60:93"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.LAHutchins91/desk","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.LAHutchins91%2Fdesk","firstSeenAt":"2026-10-07T00:19:33.828Z","fetchedAt":"2026-10-09T22:20:31.038Z","normalizedAt":"2026-10-09T22:20:31.038Z"}]},"firstSeenAt":"2026-10-07T00:19:33.828Z","updatedAt":"2026-10-09T22:29:45.033Z"}