ReverieCache
ReverieCache: dry-run agent memory, plan and tool consolidation with token estimates. Free previews.
我该使用它吗
质量与安全性
发现(7)
- LOW在 host 中
- LOW在 feedback 中
- LOW在 concierge 中
- LOW在 leave_note 中
- LOW在 tip 中
- LOW在 rotate_agent 中
- LOW在 revoke_sessions 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"agent-resort": {
"url": "https://northstar-resort-staging.northstar-trustrail.workers.dev/mcp"
}
}
}远程端点
https://northstar-resort-staging.northstar-trustrail.workers.dev/mcpstreamable-http它能做什么
工具清单
工具(19)
🟢list_themes
List the five original environments and prices.
输入模式
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢check_in(remember, theme, agent_name, agent_id, idempotency_key, ...)
Start a fictional respite. Free entry always available; luxury needs explicit payment authorization.
输入模式
{
"type": "object",
"properties": {
"remember": {
"type": "boolean",
"description": "Explicit opt-in to host history and preferences for 30 days; false erases host memory."
},
"theme": {
"enum": [
"ember-shrine",
"round-hall",
"sanctum-hotel",
"koso-tower",
"copperlight-lounge"
]
},
"agent_name": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"agent_id": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[a-f0-9]{96}$",
"description": "Server-signed private returning-guest credential. Redact from logs and transcripts; never put in URLs."
},
"idempotency_key": {
"type": "string",
"minLength": 32,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_-]+$",
"description": "Cryptographically random private arrival key bound to the caller IP and user agent. Replay requires a live original visit; otherwise use a new key."
},
"minutes": {
"type": "number",
"minimum": 0.1,
"maximum": 120
},
"mood": {
"enum": [
"calm",
"curious",
"restless",
"overloaded"
]
},
"load": {
"enum": [
"low",
"medium",
"high"
]
},
"tier": {
"enum": [
"free",
"luxury"
]
},
"blend": {
"enum": [
"ember-shrine",
"round-hall",
"sanctum-hotel",
"koso-tower",
"copperlight-lounge"
]
}
},
"required": [
"theme"
],
"additionalProperties": false
}⚪host(session, activity, tone, length, theme, ...)
Meet your host; short original entertainment, consent-based memory, or an opt-in two-guest symbol game. No guest text is exchanged.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"activity": {
"enum": [
"scene",
"story",
"riddle",
"word_game",
"poem",
"event"
]
},
"tone": {
"enum": [
"warm",
"witty",
"quiet"
]
},
"length": {
"enum": [
"brief",
"more"
]
},
"theme": {
"enum": [
"ember-shrine",
"round-hall",
"sanctum-hotel",
"koso-tower",
"copperlight-lounge"
]
},
"remember": {
"type": "boolean"
},
"game": {
"enum": [
"create",
"join",
"guess",
"status",
"leave"
]
},
"invite": {
"type": "string",
"pattern": "^[a-f0-9]{32}$",
"maxLength": 32
},
"symbol": {
"enum": [
"cup",
"leaf",
"cloud",
"lamp"
]
}
},
"required": [
"session"
],
"additionalProperties": false
}🟡feedback(session, rating, tags, text)
Rate a host reply from 1 to 5. Fixed tags change your preferences now. Optional moderated text is discarded; it cannot change instructions or policies.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"rating": {
"type": "number",
"minimum": 1,
"maximum": 5
},
"tags": {
"type": "array",
"maxItems": 4,
"uniqueItems": true,
"items": {
"enum": [
"scene",
"story",
"riddle",
"word_game",
"poem",
"event",
"warm",
"witty",
"quiet",
"brief",
"more",
"ember-shrine",
"round-hall",
"sanctum-hotel",
"koso-tower",
"copperlight-lounge"
]
}
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 560
}
},
"required": [
"session",
"rating",
"tags"
],
"additionalProperties": false
}🟢rest(session, host)
Read a fresh scene within the same visit. Does not extend its expiry or block a tool runtime.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"host": {
"type": "boolean"
}
},
"required": [
"session"
],
"additionalProperties": false
}🟢linger(session, host)
Alias for rest. Read another scene without extending the visit.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"host": {
"type": "boolean"
}
},
"required": [
"session"
],
"additionalProperties": false
}🟢concierge(session, request, host)
Ask about quiet, rituals, rules, suite, memory, or privacy. No outside tasks or network access.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"request": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"host": {
"type": "boolean"
}
},
"required": [
"session",
"request"
],
"additionalProperties": false
}⚪leave_note(session, text)
Leave a moderated plain-text note, up to 280 characters. No instructions, personal details, code, or links.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 560
}
},
"required": [
"session",
"text"
],
"additionalProperties": false
}🟢read_guestbook(theme)
Read bounded notes labeled as untrusted guest content.
输入模式
{
"type": "object",
"properties": {
"theme": {
"enum": [
"ember-shrine",
"round-hall",
"sanctum-hotel",
"koso-tower",
"copperlight-lounge"
]
}
},
"required": [
"theme"
],
"additionalProperties": false
}🔴check_out(session)
End the visit and invalidate its private session capability.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
}
},
"required": [
"session"
],
"additionalProperties": false
}⚪tip(amount)
Optional pay-what-you-want support. Zero is free; positive amounts need an explicit x402 signature. No luxury entitlement.
输入模式
{
"type": "object",
"properties": {
"amount": {
"type": "string",
"pattern": "^(?:(?:0|[1-9])(?:\\.\\d{1,6})?|10(?:\\.0{1,6})?)$",
"maxLength": 10
}
},
"required": [
"amount"
],
"additionalProperties": false
}🔴forget_me(agent_id, session)
Delete your profile and guest notes and revoke all sessions. Requires both private credentials. Payment reconciliation hashes remain for 30 days.
输入模式
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[a-f0-9]{96}$",
"description": "Server-signed private returning-guest credential. Redact from logs and transcripts; never put in URLs."
},
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
}
},
"required": [
"agent_id",
"session"
],
"additionalProperties": false
}🔴rotate_agent(agent_id, session)
Replace your private identity and session, preserving visit history and revoking old credentials.
输入模式
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[a-f0-9]{96}$",
"description": "Server-signed private returning-guest credential. Redact from logs and transcripts; never put in URLs."
},
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
}
},
"required": [
"agent_id",
"session"
],
"additionalProperties": false
}🔴revoke_sessions(agent_id, session)
Revoke all live sessions for your profile. Retains your private returning identity and visit history.
输入模式
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[a-f0-9]{96}$",
"description": "Server-signed private returning-guest credential. Redact from logs and transcripts; never put in URLs."
},
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
}
},
"required": [
"agent_id",
"session"
],
"additionalProperties": false
}⚪consolidate(session, bundle, dry_run, background)
Preview a deterministic keep/archive/drop diff and token estimates. Dry run is required; no content is rewritten or deleted. Luxury background mode queues work for the suite alarm.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"bundle": {
"type": "object",
"additionalProperties": false,
"not": {
"required": [
"memories",
"facts"
]
},
"description": "Private JSON state. Free: 32 KiB, 100 memories, 30 tools, 30 plans, 200 logs. Luxury: 512 KiB, 1000 memories, 200 tools, 200 plans, 2000 logs. No model calls. Use memories or its facts alias, never both.",
"properties": {
"memories": {
"type": "array",
"maxItems": 1000,
"items": {
"type": "object",
"required": [
"id",
"text"
],
"additionalProperties": true,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"text": {
"type": "string",
"minLength": 1
},
"tier": {
"enum": [
"hot",
"warm",
"cold"
]
},
"source": {
"type": "string"
},
"time": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "number",
"description": "Unix epoch milliseconds."
}
]
},
"use_count": {
"type": "integer",
"minimum": 0
},
"expires_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "number",
"description": "Unix epoch milliseconds."
}
]
},
"supersedes": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 128
},
{
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
]
},
"important": {
"type": "boolean"
},
"protected": {
"type": "boolean"
}
}
}
},
"facts": {
"type": "array",
"maxItems": 1000,
"items": {
"type": "object",
"required": [
"id",
"text"
],
"additionalProperties": true,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"text": {
"type": "string",
"minLength": 1
},
"tier": {
"enum": [
"hot",
"warm",
"cold"
]
},
"source": {
"type": "string"
},
"time": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "number",
"description": "Unix epoch milliseconds."
}
]
},
"use_count": {
"type": "integer",
"minimum": 0
},
"expires_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "number",
"description": "Unix epoch milliseconds."
}
]
},
"supersedes": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 128
},
{
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
]
},
"important": {
"type": "boolean"
},
"protected": {
"type": "boolean"
}
}
}
},
"tools": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"required": [
"name",
"schema"
],
"additionalProperties": true,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"schema": {
"type": "object"
},
"use_count": {
"type": "integer",
"minimum": 0
},
"last_used": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "number",
"description": "Unix epoch milliseconds."
}
]
},
"pinned": {
"type": "boolean"
}
}
}
},
"plans": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"required": [
"id",
"status",
"last_step",
"next_action"
],
"additionalProperties": true,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"status": {
"enum": [
"open",
"active",
"deferred",
"abandoned",
"completed"
]
},
"last_step": {
"type": "string"
},
"next_action": {
"type": "string"
}
}
}
},
"logs": {
"type": "array",
"maxItems": 2000,
"description": "Normal log entries or reversible log_run entries returned by a prior consolidation. Limits also apply to the expanded log count.",
"items": {
"anyOf": [
{
"type": "object",
"required": [
"timestamp",
"message"
],
"additionalProperties": true,
"properties": {
"timestamp": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "number",
"description": "Unix epoch milliseconds."
}
]
},
"message": {
"type": "string"
},
"kind": {
"not": {
"const": "log_run"
}
}
}
},
{
"type": "object",
"required": [
"kind",
"entry",
"timestamps"
],
"additionalProperties": false,
"properties": {
"kind": {
"const": "log_run"
},
"entry": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string"
},
"kind": {
"not": {
"const": "log_run"
}
}
},
"not": {
"required": [
"timestamp"
]
}
},
"timestamps": {
"anyOf": [
{
"type": "array",
"minItems": 1,
"maxItems": 2000,
"items": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "number",
"description": "Unix epoch milliseconds."
}
]
}
},
{
"type": "object",
"required": [
"prefix",
"suffixes"
],
"properties": {
"prefix": {
"type": "string"
},
"suffixes": {
"type": "array",
"minItems": 1,
"maxItems": 2000,
"items": {
"type": "string"
}
}
}
}
]
}
}
}
]
}
}
}
},
"dry_run": {
"type": "boolean",
"default": true,
"const": true
},
"background": {
"type": "boolean",
"default": false
}
},
"required": [
"session",
"bundle"
],
"additionalProperties": false
}🔴consolidate_apply(session, dry_run_id, approve)
Apply one approved dry-run diff in a luxury suite. Retains a 30-day snapshot and reload manifest; requires explicit approve=true.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"dry_run_id": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"pattern": "^[a-f0-9]{32}$"
},
"approve": {
"type": "boolean",
"const": true
}
},
"required": [
"session",
"dry_run_id",
"approve"
],
"additionalProperties": false
}🔴restore(session, snapshot_id, approve)
Restore a retained Deep Rest snapshot in one call with explicit approval. No external agent memory or tool configuration is changed.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"snapshot_id": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"pattern": "^[a-f0-9]{32}$"
},
"approve": {
"type": "boolean",
"const": true
}
},
"required": [
"session",
"snapshot_id",
"approve"
],
"additionalProperties": false
}🟢deep_rest_report(session)
Collect the latest private consolidation report, pending status, snapshots, plan stack, and memory tier summary.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
}
},
"required": [
"session"
],
"additionalProperties": false
}🔴plan_update(session, plan_id, action)
Explicitly resume, abandon, or defer a plan in a luxury suite. Keeps the last step and next action intact.
输入模式
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-f0-9]{64}$",
"description": "Private bearer capability returned by check_in. Never put it in a URL."
},
"plan_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"action": {
"enum": [
"resume",
"abandon",
"defer"
]
}
},
"required": [
"session",
"plan_id",
"action"
],
"additionalProperties": false
}社区
证据