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.

- 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'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.