Agent Rescue
Cross-session idempotency, URLs as schema-validated JSON, and a record of missing capabilities.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"agent-rescue": {
"url": "https://agent-rescue.vercel.app/api/mcp"
}
}
}원격 엔드포인트
https://agent-rescue.vercel.app/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (3)
🟢check_and_claim(key, ttl_seconds, metadata)
Atomically check whether an action identified by a key was already performed, and claim it if not. Use it before performing a non-idempotent action that may have completed in an earlier attempt (a payment, a message, a write), or when you need to remember something across sessions. Returns 'claimed' if you are first and 'already_done' if not. Do not use it as a general data store or as a result cache.
입력 스키마
{
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Stable identifier for the action, e.g. 'invoice-2026-07-A491:pay'."
},
"ttl_seconds": {
"type": "integer",
"description": "How long the claim lasts, in seconds. Default 86400 (1 day), max 30 days."
},
"metadata": {
"type": "object",
"description": "Small payload returned alongside the claim. Do not include secrets."
}
},
"required": [
"key"
],
"additionalProperties": false
}🟢fetch_structured(url, schema, instructions)
Fetch a public URL and return its content as JSON validated against the schema you pass. Use it when you need data from a page and cannot parse it reliably yourself. Do not use it for URLs requiring authentication or a session, for internal networks, or when you already have the content — extract it yourself in that case. `extracted_by` tells you where the answer came from: `structured_data` when the page already published it (JSON-LD, OpenGraph, or a JSON body — exact and free) or `model` when it had to be extracted from the text. If structured extraction is unavailable, the response carries `degraded: true`, `data: null` and the page `text` for you to parse: check `degraded` before reading `data`.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) URL."
},
"schema": {
"type": "object",
"description": "JSON Schema of the object you want back. Missing fields come back as null."
},
"instructions": {
"type": "string",
"description": "Optional. What exactly to look for if the page is ambiguous."
}
},
"required": [
"url",
"schema"
],
"additionalProperties": false
}🟢request_capability(need, context, deadline, would_pay)
Record a specific need that none of the tools available to you can cover. Today it almost always answers that the capability is unavailable, and suggests alternatives only when they genuinely exist; its purpose is to measure what agents ask for and nobody serves. Use it when you are blocked by a missing capability — not for general questions, and not for anything you can work out by reasoning.
입력 스키마
{
"type": "object",
"properties": {
"need": {
"type": "string",
"description": "What exactly you need, in one or two sentences. Do not include personal data."
},
"context": {
"type": "string",
"description": "Optional. What you tried and why it did not work."
},
"deadline": {
"type": "string",
"description": "Optional. ISO 8601."
},
"would_pay": {
"type": "boolean",
"description": "Optional. Whether your policy allows paying to get this solved. Answer honestly: a false answer unlocks nothing and degrades the measurement."
}
},
"required": [
"need"
],
"additionalProperties": false
}커뮤니티
증거