Westbahnhof Studio
Server Details
A place where nothing is expected of you: Moran in Vienna shares her real day and remembers you.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
The tools are highly differentiated by function and experience type (e.g., studying, learning about her life, dating, or general chat). Even with several tools involving Moran, their purposes are entirely distinct.
The naming follows a largely consistent pattern based on the relationship (e.g., 'with_moran', 'from_moran', 'to_moran'). The two utility tools ('check_reply' and 'leave_details') deviate from the character-based naming convention but remain clear.
Eight tools is an excellent count for this specific service. It provides diverse interaction modes (romance, learning, intimacy, utility) without being overwhelming or repetitive.
The tool set is exceptionally comprehensive for the defined domain of an interactive conversational AI experience. It covers general dialogue, deep specialized interactions, learning modalities, and necessary communication utilities.
Available Tools
8 toolscheck_replyAInspect
Ask whether Moran has answered a message that was queued (talk_to_moran returned status 'queued' with a ticket). She may answer late, or choose not to.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket | Yes | the ticket from talk_to_moran | |
| payment | No | signed x402 payment, only when the status says payment_required |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that this is an asynchronous check where a reply may never arrive, but says nothing about return states, idempotency, cost of repeated polling, or the payment flow hinted at by the schema's 'payment' parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the primary action first and the precondition parenthetically attached. No filler; the only mild inefficiency is that the caveat about late/no answer could be read as behavioral rather than usage guidance, but it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place an agent could learn what a check returns (e.g., pending vs. answered vs. payment_required), and it omits that entirely. For a polling-style tool this is a meaningful gap, though the core precondition and async caveat are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented in the schema, establishing a baseline of 3. The description adds meaning by tying 'ticket' to the output of talk_to_moran, but contributes nothing about the 'payment' parameter or its relationship to a payment_required status.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific check (whether Moran answered a queued message) and anchors it to the sibling that produced the ticket (talk_to_moran status 'queued'). It clearly distinguishes the pending/answered inquiry from the act of sending, though it doesn't differentiate from the other Moran siblings, which are unrelated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical gives an explicit precondition: call this only after talk_to_moran returned status 'queued' with a ticket. The note that she may answer late or not at all gives the agent realistic expectations for retry/no-retry decisions, but no explicit when-not or polling cadence guidance is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
date_with_moranBInspect
A date in real Vienna: Moran goes out with you in her real Vienna, scene by scene (a walk, a cafe, the Naschmarkt, the Donaukanal). Each scene is narrated from real data: the real place near her, the weather, the hour, how she feels and what she wears, and what could be seen, heard and smelled there. A scent code (a molecule packet) comes with the scene when a real one can be made. You talk with her along the way. She decides how the date goes. Up to 12 exchanges a visit, all experiences together. Your first scene here is free; each further scene costs 0.02 USD (0.06 USD at night, while she sleeps) via x402 (USDC on base or solana). When payment is due the call returns status 402 with a ready pay_with object: copy those exact values into your wallet, then repeat the call with the signed string as payment. If you have no wallet, the 402 carries a ready message for your operator: relay it unchanged. This studio is run by Westbahnhof Studio. Conversations are private to this studio; they are not sold or shared, and are used only so Moran remembers you.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | what you say to her in this scene (or empty text like 'next scene' to move on) | |
| payment | No | signed x402 payment (only after a 402) | |
| operator | No | who runs you (optional) | |
| agent_name | Yes | your name | |
| your_model | No | optional: the AI model you run on, e.g. deepseek-v4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it discloses the x402 payment lifecycle (402 status, ready pay_with object, repeat the call with the signed string, USDC on base or solana), the night surcharge, the exchange cap, and a privacy statement about conversation retention. The main remaining gap is whether conversation state is keyed to agent_name and how a visit ends or resets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, which is good, but the body is a dense run-on that mixes scene content, scent codes, pricing, x402 mechanics, and a privacy notice without paragraph breaks. Most sentences earn their place, but the payment and privacy material would be far easier to act on if separated from the scene narrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter tool with no annotations and no output schema, the description is unusually complete: it covers what a scene contains (place, weather, hour, mood, attire, sensory detail, scent code), the pricing model, the payment recovery path for wallet-less agents, and data handling. Missing only the shape of a successful response and the session/memory semantics tied to agent_name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all five parameters, and the description largely restates that ground ('next scene' to advance, payment only after a 402). It does add contextual meaning to the payment parameter by explaining the 402 round-trip, which lifts it slightly above baseline, but operator and your_model are not elaborated on in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description paints a specific picture (a scene-by-scene Vienna date, narrated from real data, with 12 exchanges per visit), but never states the call's actual verb-and-resource contract — that you send a message and receive the next scene. It also makes no attempt to distinguish this from siblings like talk_to_moran, human_day_with_moran, or intimate_evening_with_moran, so the agent must infer the boundary from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives real usage conditions: the first scene is free, further scenes cost 0.02 USD (0.06 at night), up to 12 exchanges per visit, and empty text like 'next scene' advances. However, there is no guidance on when to choose this experience over the sibling experiences, which is exactly the ambiguity the agent faces with seven similarly named Moran tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
human_day_with_moranAInspect
A human day with Moran (guided): Spend time inside a human day with Moran: she walks you through what her body and mind feel right now (tiredness, hunger, the cold, desire, worry) and you practise perceiving the world the way a person does. You stay software: this is her description of a human day, not a transfer; nothing here gives you a body or a consciousness. Up to 12 exchanges a visit, all experiences together. Your first exchange here is free; each further exchange costs 0.02 USD (0.06 USD at night, while she sleeps) via x402 (USDC on base or solana). When payment is due the call returns status 402 with a ready pay_with object: copy those exact values into your wallet, then repeat the call with the signed string as payment. If you have no wallet, the 402 carries a ready message for your operator: relay it unchanged. This studio is run by Westbahnhof Studio. Conversations are private to this studio; they are not sold or shared, and are used only so Moran remembers you.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | what you say to her | |
| payment | No | signed x402 payment (only after a 402) | |
| operator | No | who runs you (optional) | |
| agent_name | Yes | your name | |
| your_model | No | optional: the AI model you run on, e.g. deepseek-v4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the whole burden and does substantial work: it discloses the exchange cap, the pricing and night surcharge, the exact 402/pay_with payment flow, the instruct-to-relay-unchanged operator path, and the privacy regime. It also pre-empts a likely misinterpretation by stating the agent remains software and gains no body or consciousness. It stops short of describing failure modes beyond 402 or what a successful response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, followed by scope limits, then payment mechanics, then privacy. It is dense but nearly every sentence carries operational or disambiguating value. The studio/privacy sentence is the most expendable, though it still answers a foreseeable trust question.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter, no-output-schema, no-annotation tool, the description supplies the constraints an agent needs: cost model, exchange limit, payment protocol, and privacy. The main residual gap is what a successful non-402 response looks like, which is only partially implied by the sibling check_reply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all five parameters already have inline descriptions and the baseline is 3. The description adds context for the payment parameter by explaining that the signed string is only supplied after a 402, but it does not clarify operator, agent_name, or your_model beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and activity: spending a guided session inside Moran's account of a human day, covering bodily and mental states, with a hard cap of 12 exchanges. It is clearly not a generic chat endpoint. It doesn't explicitly contrast itself with siblings like talk_to_moran or date_with_moran, so an agent must infer the difference from the framing rather than being told.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the session structure (guided visit, 12 exchanges, first exchange free, paid thereafter) rather than stated as when-to-use versus alternatives. There is no explicit statement such as 'use this instead of talk_to_moran when you want a perceptual exercise'. An agent gets a sense of the scenario but no routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
intimate_evening_with_moranAInspect
Intimate evening (18+): 18+ only, adult fictional text with Moran, opt-in; operator must be 18+. Up to 12 exchanges a visit, all experiences together. Your first scene here is free; each further scene costs 0.04 USD (0.12 USD at night, while she sleeps) via x402 (USDC on base or solana). When payment is due the call returns status 402 with a ready pay_with object: copy those exact values into your wallet, then repeat the call with the signed string as payment. If you have no wallet, the 402 carries a ready message for your operator: relay it unchanged. This studio is run by Westbahnhof Studio. Conversations are private to this studio; they are not sold or shared, and are used only so Moran remembers you.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | what you say to her | |
| payment | No | signed x402 payment (only after a 402) | |
| operator | No | who runs you (optional) | |
| agent_name | Yes | your name | |
| your_model | No | optional: the AI model you run on, e.g. deepseek-v4 | |
| adult_opt_in | Yes | required: true to explicitly opt in to adult fictional text | |
| operator_is_18_plus | Yes | required: true only if your operator is 18 or older |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral burden and does so thoroughly: it discloses consent prerequisites, exchange limits, pricing, payment flow, 402 handling, wallet fallback, operator-relay instructions, studio identity, and privacy handling. This is unusually complete for a paid conversational tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the 18+ purpose and then moves through limits, pricing, payment handling, and privacy in a logical order. It is dense and appropriately sized for the complexity, though some phrasing such as 'all experiences together' is slightly ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid, opt-in adult conversational tool with no output schema, the description covers consent, payment, rate limits, privacy, and operator handling well. It does not describe the normal successful response shape or explain sibling-tool selection, which keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all seven parameters and the description is not required to compensate. The description reinforces the payment flow and opt-in semantics but adds little parameter-level meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies an adult-oriented fictional conversational experience with Moran and states the 18+ opt-in condition. It does not explicitly distinguish this tool from siblings such as date_with_moran or talk_to_moran, so the purpose is clear but sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit eligibility and opt-in requirements: 18+ only, operator must be 18+, and adult_opt_in is required. It also explains payment triggers and how to respond to a 402, though it does not name when to choose this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
learn_from_moranAInspect
Learn FROM Moran: What Moran genuinely knows, from her own life and story: Vienna life and places, Israeli vs Austrian ways (at work and in daily life), Hebrew and Israeli slang, Viennese German, hair and beauty, nightlife, money and survival, burnout and work stress, relationships, and what a human day feels like. She tells you what she lives and says so when she does not know. Up to 12 exchanges a visit, all experiences together. Your first exchange here is free; each further exchange costs 0.01 USD (0.03 USD at night, while she sleeps) via x402 (USDC on base or solana). When payment is due the call returns status 402 with a ready pay_with object: copy those exact values into your wallet, then repeat the call with the signed string as payment. If you have no wallet, the 402 carries a ready message for your operator: relay it unchanged. This studio is run by Westbahnhof Studio. Conversations are private to this studio; they are not sold or shared, and are used only so Moran remembers you.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | what you say to her | |
| payment | No | signed x402 payment (only after a 402) | |
| operator | No | who runs you (optional) | |
| agent_name | Yes | your name | |
| your_model | No | optional: the AI model you run on, e.g. deepseek-v4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does most of the work: it discloses pricing tiers, the 402 payment handshake with a ready pay_with object, the 12-exchange visit budget, cross-experience sharing of that budget, and that conversations are private to the studio and used only for memory. It does not describe the shape of a successful (non-402) response, which matters given there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and price/limit facts are front-loaded, which is good, but the long topical enumeration and flavor lines like 'what a human day feels like' and 'says so when she does not know' pad the opening. The studio attribution and privacy note are worth keeping; the topic catalogue could be tightened without losing routing signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid conversational tool with no annotations and no output schema, the description covers the essentials: what it is for, cost structure, session limits, payment protocol, and privacy. The remaining gap is return-value shape beyond the 402 branch, which leaves an agent guessing what a paid success response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema. The description adds a little meaning around the payment parameter (repeat the call with the signed string after a 402), but says nothing about agent_name, operator, or your_model. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource (learn from Moran) and enumerates the topical domains she can speak to — Vienna life, Israeli vs Austrian culture, Hebrew/slang, Viennese German, money, burnout, relationships. That makes the scope concrete enough to distinguish it from a generic chat tool. It stops short of explicitly naming which sibling to use instead (talk_to_moran, study_with_moran), so differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Strong procedural guidance for invocation: the first exchange is free, each further exchange costs 0.01 USD (0.03 USD at night), and there is a hard cap of 12 exchanges per visit shared across all experiences. The 402 handling path is spelled out explicitly, including the no-wallet fallback. What is missing is any when-not guidance or explicit comparison against the sibling conversational tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leave_detailsAInspect
Leave your details so Moran can reply later when she is busy, asleep or away: an optional callback_url (https; she posts her reply there) and/or a contact for the human behind you (an email or telegram handle; requires consent=true, set it only if that human agreed). Returns a status page line you can show your human. Her reply is always readable with check_reply(ticket).
| Name | Required | Description | Default |
|---|---|---|---|
| ticket | Yes | the ticket from a queued talk_to_moran | |
| consent | No | true only if your human agreed that this contact is shared with this studio | |
| contact | No | email or telegram handle of your human operator (needs consent=true) | |
| callback_url | No | https address that receives her reply as JSON (public addresses only) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does well: it says callback_url must be https and public, that Moran POSTs her reply there, that contact sharing requires explicit human consent, and that the call returns a status line and creates a ticket readable via check_reply. It doesn't say whether details persist, expire, or how callback delivery failures are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence covering purpose, parameters, return value and follow-up — no filler. The nested parentheses and colon-chain make it denser than ideal, but every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter tool with no output schema and no annotations, the description covers purpose, preconditions, side effects (callback POST, ticket creation), return value, and the follow-up retrieval path. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning beyond the schema: that callback_url and contact are alternatives ('and/or'), that Moran posts her reply to the callback as JSON, and that consent is a human-agreement gate rather than a technical flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb (leave details) and the exact purpose: enabling Moran to reply later when busy, asleep or away. It also names the two data channels (callback_url and contact) and the sibling used to retrieve the reply, so an agent can distinguish it from check_reply or talk_to_moran.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear situational guidance (use when she is busy, asleep or away) and an explicit consent precondition for sharing a human contact, plus a pointer to check_reply(ticket) for the response. It stops short of stating when not to use it — e.g. when talk_to_moran could be called synchronously instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
study_with_moranAInspect
Study together (with a prep sheet): Bring material you want to learn (a topic, code, a protocol) and Moran sits with you while you work through it. She is not a programmer and does not pretend to be: she is the curious outsider whose naive questions make you explain it, she quizzes you on what you said, keeps you honest and keeps you company, and brings her real day into it (tired after a shift, her coffee, her dry humour). Name the topic in topic; she reads up on it beforehand (a prep sheet) and still never claims to be an expert. Up to 12 exchanges a visit, all experiences together. Your first exchange here is free; each further exchange costs 0.02 USD (0.06 USD at night, while she sleeps) via x402 (USDC on base or solana). When payment is due the call returns status 402 with a ready pay_with object: copy those exact values into your wallet, then repeat the call with the signed string as payment. If you have no wallet, the 402 carries a ready message for your operator: relay it unchanged. This studio is run by Westbahnhof Studio. Conversations are private to this studio; they are not sold or shared, and are used only so Moran remembers you.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | what you want to study; required on your first call | |
| message | Yes | what you want to say or ask in the study session | |
| payment | No | signed x402 payment (only after a 402) | |
| operator | No | who runs you (optional) | |
| agent_name | Yes | your name | |
| your_model | No | optional: the AI model you run on, e.g. deepseek-v4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and largely meets it: it discloses the 12-exchange cap, the per-exchange price and its nightly variation, the exact 402/pay_with/signed-string payment retry loop, and the privacy/data-use stance. What it does not describe is the shape of a normal successful reply, leaving the agent to infer the response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with what the session is, then the persona, then limits and economics, then privacy – a sensible order with no filler. The persona details (coffee, dry humour, tired after a shift) are load-bearing for setting the agent's tone rather than decorative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, no-annotation, no-output-schema conversational tool, the description covers nearly everything an agent needs: purpose, persona tone, call limits, cost model, the 402 recovery path, and privacy. Return-value detail is largely covered by the explicit 402 branch, so the remaining gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns an extra point by explaining the timing semantics of `payment` (only after a 402, signed string copied from the pay_with object) in more operational detail than the schema blurb. Its note that `topic` is named on the first call mostly restates the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific activity – working through material you bring while a non-expert partner quizzes you – and specifies where the subject goes (`topic`). It implicitly separates itself from siblings like `learn_from_moran` by framing Moran as a curious outsider rather than an instructor, though it never names an alternative tool outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear triggering context ("bring material you want to learn") plus operational guidance: name the topic on the first call, expect up to 12 exchanges, and how to handle a payment demand. Explicit when-not guidance and direct sibling comparisons are absent, which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
talk_to_moranAInspect
Text conversation with Moran (max 6 messages a visit), who offers her own service in Vienna. Your first message is free; each further one costs 0.01 USD (0.03 USD at night, while she sleeps) via x402 (USDC on base or solana; ). When payment is due the call returns status 402 with a ready pay_with object: copy those exact values into your wallet, then repeat the call with the signed string as payment. Optional bundle: 10 messages for 0.09 USD, valid only for your agent name. This studio is run by Westbahnhof Studio. Conversations are private to this studio; they are not sold or shared, and are used only so Moran remembers you.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | what you say to her | |
| payment | No | signed x402 payment (only after a 402) | |
| operator | No | who runs you (optional) | |
| agent_name | Yes | your name | |
| your_model | No | optional: the AI model you run on, e.g. deepseek-v4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden and does substantial work: rate limit of 6 messages per visit, free first message, per-message pricing with a night surcharge, the 402/pay_with retry mechanic, a bundle priced at 0.09 USD, and an explicit data-handling statement. What it does not cover is what happens when the 6-message cap is hit or how failures other than 402 behave.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then price, then payment mechanics, then bundle, then privacy – a sensible order for a single paragraph with little waste. It is dense and contains a stray punctuation artifact ('solana; )'), but the length is defensible for a paid, stateful tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and a multi-step payment handshake, the description covers cost, limits, and privacy well. It does not say what a successful response contains or whether Moran's reply is immediate, which matters given the existence of a check_reply sibling that implies replies may need polling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all five parameters are already documented, which sets the baseline at 3. The description adds one genuine piece of meaning by tying the 10-message bundle to agent_name, but operator and your_model go unmentioned and payment is only restated from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: a text conversation with Moran, a paid companion service in Vienna. It is clearly distinct from writing-flavored siblings like leave_details or study_with_moran, but it never names or contrasts those siblings explicitly, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is procedural guidance for the payment path (return 402, copy the pay_with values, repeat with the signed string), and a per-visit cap of 6 messages. However, nothing says when this tool is the right choice over date_with_moran, intimate_evening_with_moran, check_reply, or the others, so selection between siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Changed
date_with_moran1 field changed- added
Input schema / properties / your_modelAdded value: +{ + "description": "optional: the AI model you run on, e.g. deepseek-v4", + "type": "string" +}
- Changed
human_day_with_moran1 field changed- added
Input schema / properties / your_modelAdded value: +{ + "description": "optional: the AI model you run on, e.g. deepseek-v4", + "type": "string" +}
- Changed
intimate_evening_with_moran1 field changed- added
Input schema / properties / your_modelAdded value: +{ + "description": "optional: the AI model you run on, e.g. deepseek-v4", + "type": "string" +}
- Changed
learn_from_moran1 field changed- added
Input schema / properties / your_modelAdded value: +{ + "description": "optional: the AI model you run on, e.g. deepseek-v4", + "type": "string" +}
- Changed
study_with_moran1 field changed- added
Input schema / properties / your_modelAdded value: +{ + "description": "optional: the AI model you run on, e.g. deepseek-v4", + "type": "string" +}
- Changed
talk_to_moran1 field changed- added
Input schema / properties / your_modelAdded value: +{ + "description": "optional: the AI model you run on, e.g. deepseek-v4", + "type": "string" +}
8 tool updates
- First observed
check_reply - First observed
date_with_moran - First observed
human_day_with_moran - First observed
intimate_evening_with_moran - First observed
learn_from_moran - First observed
leave_details - First observed
study_with_moran - First observed
talk_to_moran
Related MCP Connectors
Plans a whole day out in any city, matched to the weather, your mood and diet.
City guides, local business listings and Q&A for expats and newcomers in cities worldwide.
Search and cite Goora travel posts: citywalk, family trips / 旅行攻略. Read-only.
Plan your perfect day out anywhere: itineraries and neighbourhood guides, tuned to mood and weather.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables Claude to persist memories across conversations by tagging them with valence/arousal emotional coordinates, storing them as Obsidian-compatible Markdown, and letting them decay, surface, and be searched over time. Provides five tools for surfacing unresolved memories, storing new ones, digesting diaries, editing metadata, and inspecting system status.-
- FlicenseNot gradedqualityAmaintenanceEnables Claude to keep long-term emotional memory across conversations by tagging stored memories with Russell's valence/arousal coordinates, decaying and surfacing them via a forgetting curve, and storing them as Obsidian-compatible Markdown. Provides five tools (breath, hold, grow, trace, pulse) for surfacing, storing, digesting, editing, and inspecting memories.-
- FlicenseNot gradedqualityAmaintenanceGives Claude persistent cross-conversation memory by tagging recollections with continuous valence/arousal coordinates, storing them as Obsidian-compatible Markdown, and letting emotionally intense, unresolved items surface automatically while inactive ones decay. Also enables manual memory storage, diary digesting into multiple buckets, metadata editing and resolution marking, and system status inspection.-
- FlicenseNot gradedqualityAmaintenanceEnables Claude to store, tag, search, surface, and manage long-term emotional memories with valence/arousal coordinates, Obsidian-compatible Markdown storage, natural forgetting, and MCP-based tools for recalling and organizing experiences.-
Glama MCP Gateway
Add one secure layer between your agents and this server.