Skip to content
Back to UR Check
Archived · Merged into UR Check

UR MCP App

UR has no public API. UR MCP App takes the same data the official site shows for vacancies and hands it to AI agents as three MCP tools: search vacancies, report what changed, save watch settings. Requests go one at a time and skip images, about the load of one person viewing a results page. In Claude and ChatGPT, the rooms show up as cards right in the chat.

Changes since the last check as cards in the chat: how many rooms are new and gone, and two you can apply for now
Type
MCP server + MCP App · 3 tools for Claude and ChatGPT
Period
Oct 2026
Runs on
Railway, Singapore (shut down) · SQLite on a volume

About

After building UR Manager, I caught myself still asking an AI about rooms. AI assistants now have notifications and scheduled tasks of their own, and they're far better than my screens at talking a choice through. So why not just hand the AI accurate data and let it do the rest? That's where ur-mcp came from.

A skill would have been the simple route, but UR's data has gaps and needs cleaning up, so I built an MCP server. Ask Claude or ChatGPT for a 2DK near a station in 板橋区, it calls UR MCP App, and the rooms show up as cards in the chat, each with buttons for the listing and a map. Alerts come from a claude.ai scheduled task that asks for changes right after each check.

It's an amazing time. Without building notifications, a scheduler or a login, one MCP server with the right data gets better answers than the scraped results I used to show. It shares no code with UR Manager. A few people besides me use it through private links, and adding someone takes one sentence to the AI as well.

In October 2026 I merged this with UR Manager into UR Check, which uses accounts and OAuth in place of secret links.

What it does

Search
One area with rent, floor space, layout, walk to a station without a bus, no ground floor and pets. Up to 50 rooms by monthly cost, each with the listing and a map.
Cards in the chat
In claude.ai on the web and iPhone, and in ChatGPT, rooms show up as cards: monthly cost, layout, floor, size, walk to a station, badges, and buttons for UR and the map. They follow the app's colors and dark mode. Where cards aren't supported, the same rooms come as a table.
What changed
New, relisted and gone rooms in your watched areas, filtered by your own settings. A report after each check misses nothing, and rooms that came and went between checks are listed with their times.
Watch settings in words
“Make it ¥140,000 and skip the ground floor” is saved per person and applies from the next alert.
Its own history
Watched areas are checked at 8, 12 and 16 JST and kept in SQLite, so “new” means new to this service, not just new since the last search.
Claude and ChatGPT
Claude Code with a bearer token; claude.ai and ChatGPT connectors with a secret URL per person. I add people, reissue their links or cut them off by asking the AI, with no redeploy.
How it works: Claude or ChatGPT calls UR MCP App, which queries UR one request at a time and keeps a history
Changing the alert budget in a chat: update_watch_settings saves it and lists what matches now

How it's built

Server
Node.js 24 (TypeScript run directly, no build) · Hono · MCP TypeScript SDK, stateless · MCP Apps (ext-apps) · Zod
Data
The vacancy data UR's site shows · SQLite (node:sqlite) on a Railway volume
Clients
Claude Code · claude.ai on the web and iOS (connectors, scheduled tasks) · ChatGPT apps
Infra
Railway, Singapore · one replica · service config as code (railway.ts)
Quality
Vitest with recorded UR responses · live smoke tests · Biome · TypeScript 7 · GitHub Actions

Not affiliated with UR (Urban Renaissance Agency). Always confirm availability on the official UR site. The card screenshots use sample data; the other images are drawn from real UR MCP App results.