このMCPでできること
Helps users search San Francisco rentals, compare listing requirements, manage move tasks, prepare drafts, and find relocation-related banking and phone options.
ツール
入力スキーマ
{'type': 'object', 'required': ['listing_url'], 'properties': {'listing_url': {'type': 'string', 'description': "The listing's url, exactly as returned by search_listings."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['listing', 'price', 'source', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label', 'status', 'required', 'yours', 'detail'], 'properties': {'key': {'type': 'string'}, 'src': {'type': ['string', 'null'], 'description': "The landlord's own sentence this line was read from."}, 'label': {'type': 'string'}, 'yours': {'type': ['string', 'null'], 'description': 'What the renter filled in (null = not filled in).'}, 'detail': {'type': 'string'}, 'status': {'enum': ['meets', 'info', 'gap', 'unknown_user', 'unknown_landlord'], 'type': 'string'}, 'blocking': {'type': 'boolean'}, 'required': {'type': ['string', 'null'], 'description': 'What the landlord wrote (null = not stated).'}}}}, 'price': {'type': ['number', 'null']}, 'source': {'type': 'object', 'required': ['kind', 'from', 'fetched_at'], 'properties': {'from': {'type': 'string'}, 'kind': {'enum': ['landlord_rules', 'listing_text'], 'type': 'string'}, 'name': {'type': ['string', 'null']}, 'fetched_at': {'type': ['number', 'string', 'null'], 'description': 'Epoch ms for landlord rules; ISO date for listing text.'}, 'fetched_from': {'type': ['string', 'null']}}}, 'listing': {'type': 'string'}, 'summary': {'anyOf': [{'type': 'object', 'properties': {'met': {'type': 'integer'}, 'gaps': {'type': 'integer'}, 'info': {'type': 'integer'}, 'askYou': {'type': 'integer'}, 'askLandlord': {'type': 'integer'}}}, {'type': 'null'}]}, 'triage_tier': {'type': ['string', 'null']}}}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Most recent N of the matches (default 100, max 500).'}, 'since': {'type': 'integer', 'minimum': 0, 'description': 'Epoch milliseconds; 0 for everything.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['ok', 'since', 'events', 'more'], 'properties': {'ok': {'type': 'boolean'}, 'more': {'type': 'integer'}, 'since': {'type': 'integer'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['ts', 'type'], 'properties': {'ts': {'type': 'integer'}, 'type': {'type': 'string'}, 'detail': {'type': 'object'}}}}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['ok', 'd0', 'days_to_d0', 'total', 'done', 'actionable', 'blocked', 'overdue', 'critical_path', 'health'], 'properties': {'d0': {'type': 'string'}, 'ok': {'type': 'boolean'}, 'done': {'type': 'integer', 'description': 'Settled: done, sent, called, replied or marked not applicable (full ruler).'}, 'total': {'type': 'integer', 'description': 'Every task in this move (full ruler).'}, 'health': {'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'line': {'type': 'string'}}}, 'blocked': {'type': 'integer', 'description': 'total - done - actionable: tasks missing an answer AND tasks not yet unlocked, together.'}, 'overdue': {'type': 'integer', 'description': 'Past due, not in flight, not blocked (unlocked ruler).'}, 'actionable': {'type': 'integer', 'description': 'Unlocked and not waiting on an answer (unlocked ruler).'}, 'days_to_d0': {'type': 'integer'}, 'critical_path': {'type': 'object', 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}}, 'first': {'type': ['string', 'null']}, 'blocks': {'type': 'integer'}, 'remaining': {'type': 'integer'}}}}}
入力スキーマ
{'type': 'object', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'A task id exactly as move_tasks / move_plan returned it.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['ok', 'id', 'title', 'kind', 'actor', 'due', 'dlabel', 'due_day', 'state'], 'properties': {'id': {'type': 'string'}, 'ok': {'type': 'boolean'}, 'due': {'type': 'integer'}, 'kind': {'type': 'string'}, 'actor': {'type': 'string'}, 'draft': {'type': 'object', 'description': 'Prepared, never sent.'}, 'state': {'type': 'string'}, 'title': {'type': 'string'}, 'dlabel': {'type': 'string'}, 'due_day': {'type': 'string'}, 'missing': {'type': 'array', 'items': {'type': 'string'}}, 'missing_text': {'type': 'array', 'items': {'type': 'string'}}}}
入力スキーマ
{'type': 'object', 'required': ['task_id', 'field', 'value'], 'properties': {'field': {'type': 'string', 'description': "A field name from the task's missing list."}, 'value': {'type': 'string', 'description': 'What the person said. Not inferred, not a placeholder.'}, 'task_id': {'type': 'string', 'description': 'A task id exactly as move_tasks / move_plan returned it.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['ok', 'id', 'field'], 'properties': {'id': {'type': 'string'}, 'ok': {'type': 'boolean'}, 'field': {'type': 'string'}, 'state': {'type': ['string', 'null']}, 'closeout': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'required': ['task_id', 'mode'], 'properties': {'mode': {'enum': ['later', 'not_applicable', 'undo'], 'type': 'string'}, 'task_id': {'type': 'string', 'description': 'A task id exactly as move_tasks / move_plan returned it.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['ok', 'state'], 'properties': {'ok': {'type': 'boolean'}, 'state': {'type': 'string'}, 'later_until': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', 'required': ['task_id'], 'properties': {'to': {'type': 'string', 'description': 'Recipient, when the person supplies one: an email address for an email task, a phone number for a call task. Leave it out to use the recipient we already have.'}, 'task_id': {'type': 'string', 'description': 'A task id exactly as move_tasks / move_plan returned it.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['ok', 'state'], 'properties': {'ok': {'type': 'boolean'}, 'draft': {'type': 'object', 'description': 'to / subject / body, or the call script. Prepared, not sent.'}, 'state': {'type': 'string', 'description': 'drafted = ready for them to press send; blocked = waiting on an answer.'}, 'missing': {'type': 'array', 'items': {'type': 'string'}}, 'missing_text': {'type': 'array', 'items': {'type': 'string'}}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['hero', 'rows', 'moreCount'], 'properties': {'hero': {'anyOf': [{'type': 'object', 'required': ['id', 'title', 'state', 'kind', 'actor', 'due', 'dlabel', 'due_day', 'unlocks'], 'properties': {'id': {'type': 'string'}, 'due': {'type': 'integer'}, 'kind': {'type': 'string', 'description': "How it gets done: email, call, walk (fill a form on someone's site), research (find candidates / book / fill an application), or user (only the person can)."}, 'actor': {'type': 'string', 'description': 'agent = we can do it for them; user = only they can.'}, 'state': {'type': 'string', 'description': 'todo / blocked / drafted / approved / sent / called / replied / done / skipped.'}, 'title': {'type': 'string'}, 'dlabel': {'type': 'string'}, 'due_day': {'type': 'string'}, 'missing': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Field names this task is waiting on — pass one to move_task_answer.'}, 'unlocks': {'type': 'integer', 'description': "How many tasks that don't exist yet would appear once this one is finished."}, 'in_flight': {'type': 'boolean', 'description': 'Evidence says they already started it, so it is not overdue and never the next thing to press.'}, 'overdue_days': {'type': 'integer'}}}, {'type': 'null'}], 'description': 'The single next thing, or null with blockedReason set.'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'state', 'kind', 'actor', 'due', 'dlabel', 'due_day', 'unlocks'], 'properties': {'id': {'type': 'string'}, 'due': {'type': 'integer'}, 'kind': {'type': 'string', 'description': "How it gets done: email, call, walk (fill a form on someone's site), research (find candidates / book / fill an application), or user (only the person can)."}, 'actor': {'type': 'string', 'description': 'agent = we can do it for them; user = only they can.'}, 'state': {'type': 'string', 'description': 'todo / blocked / drafted / approved / sent / called / replied / done / skipped.'}, 'title': {'type': 'string'}, 'dlabel': {'type': 'string'}, 'due_day': {'type': 'string'}, 'missing': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Field names this task is waiting on — pass one to move_task_answer.'}, 'unlocks': {'type': 'integer', 'description': "How many tasks that don't exist yet would appear once this one is finished."}, 'in_flight': {'type': 'boolean', 'description': 'Evidence says they already started it, so it is not overdue and never the next thing to press.'}, 'overdue_days': {'type': 'integer'}}}}, 'moreCount': {'type': 'integer'}, 'blockedReason': {'type': ['string', 'null'], 'description': 'no_move / nothing_open / all_in_flight — why there is no next thing.'}}}
入力スキーマ
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'enum': ['bank', 'card', 'sim', 'ssn'], 'type': 'string', 'description': 'bank = checking account, card = credit card, sim = phone plan, ssn = the SSN itself.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['topic', 'places', 'places_total', 'options'], 'properties': {'topic': {'type': 'string'}, 'places': {'type': 'array', 'items': {'type': 'object', 'description': 'A branch / store: name, addr, tel, hours, the no-SSN line with its source.'}}, 'options': {'type': 'array', 'items': {'type': 'object', 'description': 'A no-branch option: name, stance (official page) and firsthand stance, facts, url, source.'}}, 'prefNote': {'type': ['string', 'null']}, 'prefScope': {'type': ['string', 'null']}, 'places_total': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', 'properties': {'beds': {'enum': ['room', 'studio', '1', '2', '3+'], 'type': 'string', 'description': 'Bedroom tier. "room" means a room in a shared place.'}, 'hood': {'type': 'string', 'description': 'Neighborhood name, matched loosely (e.g. "Mission", "Sunset").'}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'How many to return (default 10, max 25). Newest first.'}, 'max_price': {'type': 'number', 'description': "Max monthly rent in USD. Listings with no stated price are excluded when you set this — we don't let unpriced posts through a price filter."}, 'min_price': {'type': 'number', 'description': 'Min monthly rent in USD.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['gated', 'total', 'searched', 'matched', 'listings'], 'properties': {'gated': {'type': 'boolean', 'description': 'true = free sample only (anonymous or partner key); total still tells the true index size.'}, 'total': {'type': 'integer'}, 'matched': {'type': 'integer'}, 'listings': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'price', 'source', 'requirements_stated'], 'properties': {'url': {'type': 'string'}, 'beds': {'type': ['string', 'null']}, 'hood': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null']}, 'title': {'type': ['string', 'null']}, 'posted': {'type': ['string', 'null']}, 'source': {'type': ['string', 'null']}, 'last_seen': {'type': ['string', 'null']}, 'requirements_stated': {'type': 'boolean'}, 'not_checked_vs_budget': {'type': 'boolean'}}}}, 'searched': {'type': 'integer'}, 'not_checked_vs_budget': {'type': 'integer'}, 'listings_with_no_stated_requirements': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', 'required': ['trigger'], 'properties': {'d0': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Move-in day, YYYY-MM-DD.'}, 'to': {'type': 'string', 'maxLength': 200, 'description': 'The new address, as one line.'}, 'stage': {'enum': ['pre_arrival', 'housing', 'move_planning', 'move_logistics', 'activate', 'settle', 'stabilize'], 'type': 'string', 'description': 'Which stage of the journey they are in right now, if you know it.'}, 'trigger': {'type': 'string', 'maxLength': 60, 'description': 'What set the move off: lease_signed, offer_accepted, relocation_approved, or your own short label.'}, 'profile_seed': {'type': 'object', 'description': 'Reserved. Accepted but not applied yet — the person fills their own profile after signing up.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['id', 'url', 'partner', 'trigger', 'dry_run'], 'properties': {'d0': {'type': ['string', 'null']}, 'id': {'type': 'string'}, 'to': {'type': ['string', 'null']}, 'url': {'type': 'string'}, 'stage': {'type': ['string', 'null']}, 'dry_run': {'type': 'boolean', 'description': 'true when called with a pr_test_ key.'}, 'partner': {'type': 'string'}, 'trigger': {'type': 'string'}}}
最近のツール変更
類似のMCPサーバー
Enel SP: Gestão Imobiliária
Supports Enel São Paulo utility account lookups for property management workflows.
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Calcgrid
Runs general-purpose calculators for loans, dates, lunar and solar terms, time zones, units, and a larger catalog of specialized …
Local MCP
Connects AI assistants to Mac email, calendars, reminders, notes, tasks, files, Microsoft 365, Todoist, spreadsheets, and daily b…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
hopi
Provides read-only calculators, converters, validators, text utilities, encoders, and generators for everyday and technical tasks.
Microburbs Australian Property Data
Provides Australian property, suburb, valuation, sales, rental, zoning, school, risk, geospatial, and census statistics.
mu
Supports personal and collaborative tasks including web browsing, app creation, blogs, bookmarks, discussions, and contact manage…