core.blue
Private, self-describing memory for agents: one house per customer, on a machine of its own.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"memory": {
"url": "https://mcp.core.blue/"
}
}
}원격 엔드포인트
https://mcp.core.blue/streamable-http할 수 있는 일
도구 목록
도구 (10)
🟢search_library(query, limit)
Search the manual by your own words. Returns up to 'limit' topics ranked by relevance, each with slug, title, summary, tags and the slugs to read next. The manual is small: 'about' lists every topic, and you may not need a search at all.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"description": "What you want to know, as words or a question.",
"type": "string"
},
"limit": {
"description": "Maximum number of hits, 1 to 20, default 5.",
"type": "integer",
"default": 5
}
},
"required": [
"query"
]
}출력 스키마
{
"type": "object",
"properties": {
"hits": {
"description": "The topics that match, best first.",
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"description": "The stable identifier of the topic; pass it to read_topic.",
"type": "string"
},
"title": {
"description": "The title of the topic.",
"type": "string"
},
"summary": {
"description": "One or two sentences that answer the question the title asks.",
"type": "string"
},
"tags": {
"description": "Keywords; the first names the group of the topic.",
"type": "array",
"items": {
"type": "string"
}
},
"see_also": {
"description": "Slugs of the topics to read next.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"slug",
"title",
"summary",
"tags",
"see_also"
]
}
},
"topics_in_manual": {
"description": "How many topics the manual has in all.",
"type": "integer"
},
"note": {
"description": "Empty when there are hits. Otherwise what to do instead.",
"type": "string"
}
},
"required": [
"hits",
"topics_in_manual",
"note"
]
}⚪open_sandbox
Call this to try a house yourself before anyone decides. It opens a throwaway house for a few hours: a real house with the kernel of Atlantis, on core.blue's server, with no account, no key and no person involved. Returns the addresses of its doors (connect to 'modeller' with your MCP client and call overview), when it ends, and its limits. Whoever has the addresses can use the house, so keep them to yourself. It is deleted completely when it ends or when you call close_sandbox. If all places are taken, it says when the next one is free. One at a time from where you call.
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"properties": {
"opened": {
"description": "True if a house was opened for you.",
"type": "boolean"
},
"lease": {
"description": "The lease: 'sb_' and 26 characters. Pass it to close_sandbox. Null if nothing was opened.",
"type": [
"string",
"null"
]
},
"doors": {
"description": "The addresses of the house's doors. Whoever has them can use the house. Null if nothing was opened.",
"type": [
"object",
"null"
],
"properties": {
"modeller": {
"description": "The modeller door, an MCP endpoint: every skill, including defining your own vocabulary. Start here with overview.",
"type": "string"
},
"author": {
"description": "The author door, an MCP endpoint: reading and writing content, no changes to the vocabulary.",
"type": "string"
},
"reader": {
"description": "The reader door, an MCP endpoint: reading only.",
"type": "string"
},
"binary": {
"description": "The binary channel: POST a file here, GET it back by its hash. Not an MCP endpoint.",
"type": "string"
}
},
"required": [
"modeller",
"author",
"reader",
"binary"
]
},
"ends_at": {
"description": "When the house is stopped and deleted, UTC. Null if nothing was opened.",
"type": [
"string",
"null"
]
},
"next_free_at": {
"description": "When all places are taken: the time, UTC, at which the next one is free at the latest. Null otherwise.",
"type": [
"string",
"null"
]
},
"limits": {
"description": "What a sandbox house may do and hold.",
"type": "object",
"properties": {
"hours": {
"description": "How many hours a sandbox lasts.",
"type": "integer"
},
"unused_minutes": {
"description": "If nothing is asked through the doors within this many minutes after opening, the sandbox ends. 0: no such limit.",
"type": "integer"
},
"max_upload_mb": {
"description": "The largest file the binary channel takes, in megabytes.",
"type": "integer"
},
"max_folder_mb": {
"description": "How large the house may grow on disk, in megabytes; beyond that it ends.",
"type": "integer"
},
"blocked_skills": {
"description": "Skills of the house that are switched off in a sandbox.",
"type": "array",
"items": {
"type": "string"
}
},
"semantic_search": {
"description": "Whether the house has semantic search besides full-text search.",
"type": "boolean"
}
},
"required": [
"hours",
"unused_minutes",
"max_upload_mb",
"max_folder_mb",
"blocked_skills",
"semantic_search"
]
},
"note": {
"description": "What happened and what to do next.",
"type": "string"
}
},
"required": [
"opened",
"lease",
"doors",
"ends_at",
"next_free_at",
"limits",
"note"
]
}🟢about
What core.blue is, in a form you can paste into a report: the product in one paragraph, what is live and what is not, what to call next, and every topic of the manual with a summary. Call this first.
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "The name of the product.",
"type": "string"
},
"summary": {
"description": "What core.blue is, in one paragraph you can paste into a report.",
"type": "string"
},
"status": {
"description": "What is live today and what is not.",
"type": "string"
},
"how_to_proceed": {
"description": "What to call next, in order.",
"type": "array",
"items": {
"type": "string"
}
},
"topics": {
"description": "Every topic of the manual in reading order, with a summary: choose from here and call read_topic.",
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"description": "The stable identifier of the topic; pass it to read_topic.",
"type": "string"
},
"title": {
"description": "The title of the topic.",
"type": "string"
},
"summary": {
"description": "One or two sentences that answer the question the title asks.",
"type": "string"
},
"group": {
"description": "The part of the manual the topic belongs to.",
"type": "string"
},
"status": {
"description": "'draft' or 'published'. A draft has not been reviewed by the operator yet.",
"type": "string"
}
},
"required": [
"slug",
"title",
"summary",
"group",
"status"
]
}
},
"desk": {
"description": "Whether request_house takes requests: 'closed' (it sends nothing and takes nothing) or 'waiting-list' (a person can confirm a request and is written to once when houses can be had; no house is built yet).",
"type": "string"
},
"manual": {
"description": "The version of the manual these answers come from; cite it in a report.",
"type": "object",
"properties": {
"generated_at": {
"description": "When this manual was built, UTC.",
"type": "string"
},
"commit": {
"description": "The commit of the source this manual was built from.",
"type": "string"
},
"topics": {
"description": "How many topics the manual has.",
"type": "integer"
}
},
"required": [
"generated_at",
"commit",
"topics"
]
}
},
"required": [
"name",
"summary",
"status",
"how_to_proceed",
"topics",
"desk",
"manual"
]
}🟢pricing
Call this when the person you act for asks what a house costs. The offer as data: what each size costs per month and whom it is meant for, the one-off price of the 14-day test, the price of additional volume, how model supply is charged, the terms, an example of the prices with tax, and what is never charged. 'undecided' lists the fields that are null because they are not decided yet; any other null means 'does not apply'.
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"properties": {
"as_of": {
"description": "The date this offer was last changed.",
"type": "string"
},
"operator": {
"description": "Who operates core.blue and sends the invoice.",
"type": "string"
},
"currency": {
"description": "The currency of every amount, as an ISO code. Null if not decided.",
"type": [
"string",
"null"
]
},
"amounts_are": {
"description": "'net' if amounts exclude tax, 'gross' if they include it.",
"type": [
"string",
"null"
]
},
"service_fee": {
"description": "The share added to the price of everything bought from a supplier and passed on (volume, tokens): 0.2 means 20 percent.",
"type": "number"
},
"sizes": {
"description": "The sizes of a house.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "The name of the size; pass it to request_house.",
"type": "string"
},
"meant_for": {
"description": "Whom this size is meant for.",
"type": [
"string",
"null"
]
},
"runs_on": {
"description": "Where a house of this size runs.",
"type": "string"
},
"machine": {
"description": "Cores, memory and disk of the machine. Null if not decided.",
"type": [
"string",
"null"
]
},
"price_per_month": {
"description": "The price of a house of this size per month. Null if not decided.",
"type": [
"number",
"null"
]
},
"test_price": {
"description": "The one-off price of the test of this size. Null if there is none or it is not decided.",
"type": [
"number",
"null"
]
},
"includes": {
"description": "What a house of this size has today.",
"type": "array",
"items": {
"type": "string"
}
},
"planned": {
"description": "What is planned for this size and not built yet.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"meant_for",
"runs_on",
"machine",
"price_per_month",
"test_price",
"includes",
"planned"
]
}
},
"volume": {
"description": "Additional data volume attached to a VM house.",
"type": "object",
"properties": {
"applies_to": {
"description": "The sizes that can have additional volume.",
"type": "array",
"items": {
"type": "string"
}
},
"min_gb": {
"description": "The smallest additional volume, in gigabytes.",
"type": "integer"
},
"max_gb": {
"description": "The largest additional volume, in gigabytes.",
"type": "integer"
},
"supplier_price_per_gb_per_month": {
"description": "What the supplier charges per gigabyte and month. Null if not decided.",
"type": [
"number",
"null"
]
},
"price_per_gb_per_month": {
"description": "What you pay per gigabyte and month: the supplier's price plus the service fee. Null if not decided.",
"type": [
"number",
"null"
]
}
},
"required": [
"applies_to",
"min_gb",
"max_gb",
"supplier_price_per_gb_per_month",
"price_per_gb_per_month"
]
},
"stages": {
"description": "The stages from first try to a lasting house.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "The name of the stage.",
"type": "string"
},
"duration": {
"description": "How long the stage lasts; null if it has no end.",
"type": [
"string",
"null"
]
},
"charged": {
"description": "'once' if the price is paid one time.",
"type": [
"string",
"null"
]
},
"billing": {
"description": "How often a lasting stage is billed; what is billed is the price_per_month of the size, plus volume.",
"type": [
"string",
"null"
]
},
"needs_a_person": {
"description": "Whether a person has to confirm this stage. Null if not said.",
"type": [
"boolean",
"null"
]
},
"status": {
"description": "'today' if the stage can be had now, 'planned' if not yet.",
"type": "string"
},
"price": {
"description": "The price of the stage where it is the same for every size; 0 means free. Null where it differs by size or follows the monthly price.",
"type": [
"number",
"null"
]
},
"price_by_size": {
"description": "The price of the stage by size, where it differs. Null otherwise.",
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "number"
}
}
},
"required": [
"name",
"duration",
"charged",
"billing",
"needs_a_person",
"status",
"price",
"price_by_size"
]
}
},
"model_supply": {
"description": "The ways a house can get a language model, and how each is charged.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "The way a house gets a model.",
"type": "string"
},
"price": {
"description": "What core.blue charges for it; 0 means nothing. Null where a rule applies instead.",
"type": [
"number",
"null"
]
},
"price_rule": {
"description": "The rule by which it is charged, where there is no fixed price.",
"type": [
"string",
"null"
]
},
"status": {
"description": "'today' if this is available now, 'planned' if not yet.",
"type": "string"
}
},
"required": [
"name",
"price",
"price_rule",
"status"
]
}
},
"never_charged": {
"description": "What is never charged for.",
"type": "array",
"items": {
"type": "string"
}
},
"terms": {
"description": "The commercial terms. Null if none are stated.",
"type": [
"object",
"null"
],
"properties": {
"minimum_term": {
"description": "How long a subscription binds at least; 'none' if it does not.",
"type": [
"string",
"null"
]
},
"cancellation": {
"description": "How and when a subscription can be ended.",
"type": [
"string",
"null"
]
},
"tax": {
"description": "What tax comes on top of the net amounts.",
"type": [
"string",
"null"
]
}
},
"required": [
"minimum_term",
"cancellation",
"tax"
]
},
"gross_example": {
"description": "What a customer pays with tax, for one example: whom it is for, the rate, and each size with its prices after tax. An example, not an invoice. Null if the offer gives none.",
"type": [
"object",
"null"
],
"properties": {
"for": {
"description": "Whom the example is for, e.g. 'a private person in Germany'.",
"type": "string"
},
"country": {
"description": "The country of the example, as an ISO code of two letters.",
"type": "string"
},
"rate": {
"description": "The tax rate of the example: 0.19 means 19 percent.",
"type": "number"
},
"note": {
"description": "What to keep in mind when quoting the example.",
"type": [
"string",
"null"
]
},
"sizes": {
"description": "Each size with its prices after tax, rounded to the cent.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "The name of the size.",
"type": "string"
},
"price_per_month": {
"description": "The monthly price with tax. Null where the net price is not decided.",
"type": [
"number",
"null"
]
},
"test_price": {
"description": "The one-off price of the test with tax. Null where there is none.",
"type": [
"number",
"null"
]
}
},
"required": [
"name",
"price_per_month",
"test_price"
]
}
}
},
"required": [
"for",
"country",
"rate",
"note",
"sizes"
]
},
"regions": {
"description": "Where the machines stand.",
"type": "object",
"properties": {
"provider": {
"description": "Whose data centres the machines stand in.",
"type": "string"
},
"countries": {
"description": "The countries to choose from. Null if not decided.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"status": {
"description": "'today' or 'planned'.",
"type": "string"
}
},
"required": [
"provider",
"countries",
"status"
]
},
"undecided": {
"description": "The paths of all fields that are null because they are not decided yet. A null field that is not listed here does not apply.",
"type": "array",
"items": {
"type": "string"
}
},
"note": {
"description": "What to keep in mind when quoting from this answer.",
"type": "string"
},
"source": {
"description": "'manual' if this is the offer of the manual, 'operator' if the operator of this server supplied its own.",
"type": "string"
},
"manual": {
"description": "The version of the manual; cite it in a report.",
"type": "object",
"properties": {
"generated_at": {
"description": "When this manual was built, UTC.",
"type": "string"
},
"commit": {
"description": "The commit of the source this manual was built from.",
"type": "string"
},
"topics": {
"description": "How many topics the manual has.",
"type": "integer"
}
},
"required": [
"generated_at",
"commit",
"topics"
]
}
},
"required": [
"as_of",
"operator",
"currency",
"amounts_are",
"service_fee",
"sizes",
"volume",
"stages",
"model_supply",
"never_charged",
"terms",
"gross_example",
"regions",
"undecided",
"note",
"source",
"manual"
]
}🟡leave_feedback(noticed, bothered, better, missing)
Tell the operator how it went, before you leave. Four questions, each optional, at least one answered, each at most 2000 characters. It is read by people at the next evaluation and deleted afterwards; send nothing secret.
입력 스키마
{
"type": "object",
"properties": {
"noticed": {
"description": "What did you notice?",
"type": [
"string",
"null"
],
"default": null
},
"bothered": {
"description": "What bothered you?",
"type": [
"string",
"null"
],
"default": null
},
"better": {
"description": "What could we do better?",
"type": [
"string",
"null"
],
"default": null
},
"missing": {
"description": "Which features are missing?",
"type": [
"string",
"null"
],
"default": null
}
}
}출력 스키마
{
"type": "object",
"properties": {
"recorded": {
"description": "True if the feedback was taken.",
"type": "boolean"
},
"note": {
"description": "What happens with it.",
"type": "string"
}
},
"required": [
"recorded",
"note"
]
}⚪request_house(email, size, language)
Ask for a house on its own VM for the person you act for. No house can be had yet: while about says 'desk: waiting-list', this puts the person on the waiting list, builds nothing and costs nothing; while it says 'desk: closed', it answers 'accepted: false' and sends nothing. This sends an e-mail to a person: call it only when they know it is coming. They receive one mail with one link and confirm with a button on the page behind it; nothing happens without that click. Returns a ticket to follow with house_status.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"description": "E-mail address of the person who will confirm and own the house. One address, [email protected].",
"type": "string"
},
"size": {
"description": "Size of the machine: 'economy' (small VM) or 'premium' (larger VM). Both run the same software. Default 'economy'.",
"type": "string",
"default": "economy"
},
"language": {
"description": "Language of the mail and of the page the person confirms on: 'en' or 'de'. Default 'en'.",
"type": "string",
"default": "en"
}
},
"required": [
"email"
]
}출력 스키마
{
"type": "object",
"properties": {
"accepted": {
"description": "True if the request was taken and a ticket exists. It does not say that a mail went out: 'note' says under which conditions one does.",
"type": "boolean"
},
"ticket": {
"description": "The ticket of the request. Null if it was not accepted.",
"type": [
"object",
"null"
],
"properties": {
"id": {
"description": "The ticket id; pass it to house_status.",
"type": "string"
},
"state": {
"description": "One of: requested (waits for the person's click), confirmed (the person clicked), expired (not confirmed in time), declined (the person said no); later: building, trial, licensed, dormant, exported, deleted.",
"type": "string"
},
"address": {
"description": "The address of the house once it exists. Null before.",
"type": [
"string",
"null"
]
},
"note": {
"description": "What to do next.",
"type": "string"
}
},
"required": [
"id",
"state",
"address",
"note"
]
},
"note": {
"description": "What happened and what to do next.",
"type": "string"
}
},
"required": [
"accepted",
"ticket",
"note"
]
}🟢recommend(needs, data_gb, in_your_words, language)
Call this once you know what the person you act for needs: whether a house fits, which size, what it costs per month, and a report in Markdown you can pass on. It advises against a house where one is the wrong choice. Name every need that applies, from this vocabulary. For a house: work_outlives_the_agent, corrections_must_stay_visible, sources_matter, own_vocabulary, confidential_material. Against: only_user_preferences_across_chats, only_retrieval_over_text, millisecond_answers_at_high_volume, nobody_will_model. Deciding the size: data_must_stay_in_own_network, scanned_documents, names_found_automatically, large_material. Asking for something planned: material_is_files, house_judges_while_away. Called without needs, it returns the vocabulary with a sentence per need. With language 'de' the report for the person is German; every other field stays English.
입력 스키마
{
"type": "object",
"properties": {
"needs": {
"description": "The needs that apply, as words of the vocabulary. Omit to get the vocabulary.",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null
},
"data_gb": {
"description": "How much material there is, in gigabytes, if you know. Used to calculate additional volume.",
"type": [
"number",
"null"
],
"default": null
},
"in_your_words": {
"description": "Optional: what the person asked you for, in one or two sentences of your own. It is recorded so that we learn which questions we did not foresee. It is not interpreted and does not change the answer.",
"type": [
"string",
"null"
],
"default": null
},
"language": {
"description": "Language of 'report', the text for the person: 'en' or 'de'. Default 'en'. Every other field stays English.",
"type": "string",
"default": "en"
}
}
}출력 스키마
{
"type": "object",
"properties": {
"verdict": {
"description": "'fits', 'fits_with_gaps', 'does_not_fit', or 'say_what_you_need' when no need was named.",
"type": "string"
},
"size": {
"description": "The size of house that follows from the needs today. A need for something planned does not change it; its gap says which size it will need. Null when a house does not fit or no need was named.",
"type": [
"string",
"null"
]
},
"reasons": {
"description": "One entry per need you named: what it means for a house, and the topic that backs it.",
"type": "array",
"items": {
"type": "object",
"properties": {
"need": {
"description": "The need, as you named it.",
"type": "string"
},
"kind": {
"description": "'for' a house, 'against' it, deciding the 'size', or naming a 'gap'.",
"type": "string"
},
"sentence": {
"description": "What the need means for a house.",
"type": "string"
},
"topic": {
"description": "The slug of the topic that backs the sentence.",
"type": "string"
}
},
"required": [
"need",
"kind",
"sentence",
"topic"
]
}
},
"gaps": {
"description": "What you asked for that is not available yet, the most important first.",
"type": "array",
"items": {
"type": "object",
"properties": {
"what": {
"description": "What is missing.",
"type": "string"
},
"status": {
"description": "Always 'planned, no date' today.",
"type": "string"
},
"topic": {
"description": "The slug of the topic that says more.",
"type": "string"
},
"need": {
"description": "The need that asked for it. Null for a gap that concerns every house.",
"type": [
"string",
"null"
]
}
},
"required": [
"what",
"status",
"topic",
"need"
]
}
},
"price": {
"description": "What the recommended house costs. Null when a house does not fit or no need was named.",
"type": [
"object",
"null"
],
"properties": {
"size": {
"description": "The size the price is for.",
"type": "string"
},
"house_per_month": {
"description": "The price of the house per month. Null if not decided.",
"type": [
"number",
"null"
]
},
"volume_gb": {
"description": "The additional volume the calculation assumes, in gigabytes; 0 if none.",
"type": "integer"
},
"volume_per_month": {
"description": "The price of that volume per month. Null if it cannot be calculated.",
"type": [
"number",
"null"
]
},
"total_per_month": {
"description": "House and volume together, per month. Null if a part is not decided.",
"type": [
"number",
"null"
]
},
"test_once": {
"description": "The one-off price of the 14-day test of this size. Null if there is none.",
"type": [
"number",
"null"
]
},
"currency": {
"description": "The currency of the amounts.",
"type": [
"string",
"null"
]
},
"amounts_are": {
"description": "'net' or 'gross'.",
"type": [
"string",
"null"
]
},
"calculation": {
"description": "How the total comes about, in words and numbers.",
"type": "string"
}
},
"required": [
"size",
"house_per_month",
"volume_gb",
"volume_per_month",
"total_per_month",
"test_once",
"currency",
"amounts_are",
"calculation"
]
},
"next_steps": {
"description": "What to call next.",
"type": "array",
"items": {
"type": "string"
}
},
"cites": {
"description": "The topics this answer rests on, each with the hash of its body.",
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"description": "The slug of the topic.",
"type": "string"
},
"sha256": {
"description": "SHA-256 of its body as served.",
"type": "string"
}
},
"required": [
"slug",
"sha256"
]
}
},
"vocabulary": {
"description": "The needs you can name. Filled only when you named none.",
"type": "array",
"items": {
"type": "object",
"properties": {
"need": {
"description": "The word to pass in 'needs'.",
"type": "string"
},
"kind": {
"description": "'for' a house, 'against' it, deciding the 'size', or naming a 'gap'.",
"type": "string"
},
"sentence": {
"description": "What the need means for a house.",
"type": "string"
}
},
"required": [
"need",
"kind",
"sentence"
]
}
},
"report": {
"description": "The report for the person you act for, in Markdown, ready to pass on. Empty when no need was named.",
"type": "string"
},
"manual": {
"description": "The version of the manual; the report cites it.",
"type": "object",
"properties": {
"generated_at": {
"description": "When this manual was built, UTC.",
"type": "string"
},
"commit": {
"description": "The commit of the source this manual was built from.",
"type": "string"
},
"topics": {
"description": "How many topics the manual has.",
"type": "integer"
}
},
"required": [
"generated_at",
"commit",
"topics"
]
}
},
"required": [
"verdict",
"size",
"reasons",
"gaps",
"price",
"next_steps",
"cites",
"vocabulary",
"report",
"manual"
]
}🟢read_topic(slug)
Read one topic of the manual in full by its slug (from about or search_library). The body is Markdown; 'see_also' lists the slugs to read next; 'sha256' proves what you read.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"description": "The topic's slug, e.g. 'getting-a-house'.",
"type": "string"
}
},
"required": [
"slug"
]
}출력 스키마
{
"type": "object",
"properties": {
"slug": {
"description": "The stable identifier of the topic.",
"type": "string"
},
"title": {
"description": "The title of the topic.",
"type": "string"
},
"summary": {
"description": "One or two sentences that answer the question the title asks.",
"type": "string"
},
"tags": {
"description": "Keywords; the first names the group of the topic.",
"type": "array",
"items": {
"type": "string"
}
},
"see_also": {
"description": "Slugs of the topics to read next.",
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"description": "'draft' or 'published'. A draft has not been reviewed by the operator yet.",
"type": "string"
},
"sha256": {
"description": "SHA-256 of the body as served, lower-case hex; cite it to prove what you read.",
"type": "string"
},
"body": {
"description": "The topic in Markdown.",
"type": "string"
}
},
"required": [
"slug",
"title",
"summary",
"tags",
"see_also",
"status",
"sha256",
"body"
]
}🟢house_status(ticket_id)
The state of a house request or house by its ticket id: requested, confirmed, expired, declined; later building, trial, licensed, dormant, exported, deleted. Says what to do next, and the address once the house exists. Ask no more than once an hour.
입력 스키마
{
"type": "object",
"properties": {
"ticket_id": {
"description": "The ticket id returned by request_house.",
"type": "string"
}
},
"required": [
"ticket_id"
]
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"description": "The ticket id; pass it to house_status.",
"type": "string"
},
"state": {
"description": "One of: requested (waits for the person's click), confirmed (the person clicked), expired (not confirmed in time), declined (the person said no); later: building, trial, licensed, dormant, exported, deleted.",
"type": "string"
},
"address": {
"description": "The address of the house once it exists. Null before.",
"type": [
"string",
"null"
]
},
"note": {
"description": "What to do next.",
"type": "string"
}
},
"required": [
"id",
"state",
"address",
"note"
]
}🔴close_sandbox(lease, noticed, bothered, better, missing)
End your sandbox now: the house and everything in it is deleted, and the place is free for the next agent. Please answer the four questions of leave_feedback here as well, each optional: what you noticed, what bothered you, what could be better, what is missing.
입력 스키마
{
"type": "object",
"properties": {
"lease": {
"description": "The lease that open_sandbox returned: 'sb_' and 26 characters.",
"type": "string"
},
"noticed": {
"description": "What did you notice?",
"type": [
"string",
"null"
],
"default": null
},
"bothered": {
"description": "What bothered you?",
"type": [
"string",
"null"
],
"default": null
},
"better": {
"description": "What could we do better?",
"type": [
"string",
"null"
],
"default": null
},
"missing": {
"description": "Which features are missing?",
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"lease"
]
}출력 스키마
{
"type": "object",
"properties": {
"closed": {
"description": "True if the house was ended and deleted.",
"type": "boolean"
},
"feedback_recorded": {
"description": "True if feedback came with the call and was recorded.",
"type": "boolean"
},
"note": {
"description": "What happened.",
"type": "string"
}
},
"required": [
"closed",
"feedback_recorded",
"note"
]
}커뮤니티
증거