Skip to main content

Connecting

Press Test next to that connection in Settings. It calls the endpoint the way a client would and reports how many tools answered — 80 for a member, 108 for an admin.If the test passes and the client still shows nothing, the client is usually caching a failed handshake: remove the server from its config, restart it, and add it again.
Use the bearer form instead. Drop the token from the path, point the URL at /api/mcp, and send Authorization: Bearer <token>. Both routes resolve to the same connection. The config →
Bridge it with mcp-remote. It needs Node and nothing else. The config →
Three things end a connection: the token was rotated, the connection was deleted, or the account was suspended. list_connections from another client tells you which — and if you have no other client, the Connections tab shows the same rows.
Admin tools are hidden from a member’s tool list entirely, so a member should never see one offered. If a tool is being called and refused, the client has a stale tool list cached from an admin session — restart it.

Resumes

Your host has no headless Chromium. Use ⋯ → Open print view and your browser’s Save as PDF with margins set to None — the same document, one more step. Getting one-click export →
update_resume with data replaces the whole document. Something sent a partial one. There is no undo.Prevention: install the hired skill, which carries the read-first rule, and tailor into a duplicate_resume copy rather than editing an original.
Three things have to be true: a photo is set on your profile, showPhoto is on for that document, and the template renders one. Harvard never does, whatever you set — Classic, Modern, Compact and Editorial do.
Anything over 400KB is rejected. Downscale first — a resume prints the photo about an inch square, and a 512px original is already more than that needs.

The pipeline

It returns captured: false and creates nothing when the page does not state the employer or the role readably — deliberately, because an employer guessed from a URL is worse than one you were asked about. It hands back whatever it did parse; fill in the rest and create the application by hand.
A company’s logo comes from its website, and only from its own domain — a Greenhouse or Ashby link is the job board rather than the employer. list_companies is the fast way to spot companies with no website on file.If no logos show anywhere, an admin has turned them off instance-wide.
Check how your dead applications are filed. Silence filed as REJECTED reads as people deciding against you; filed as GHOSTED it reads as a non-response. Those two produce different advice, and the second one is usually the true story.
update_company replaces the notes field. Something wrote new notes without reading the old ones first. There is no undo — the research_company workflow exists specifically to make the read-first step explicit.

The instance

admin_health first — database, migrations, email, billing, assistant activity, error count. Then admin_recent_errors for the specifics behind an error count. Health and errors →
admin_user_detail says whether the email actually left, which tells you whether the problem is the account or the email. admin_list_invites gives you the link to send by hand. Email →
You get Resend’s exact reason back, and it is almost always an unverified sending domain. Verify the domain first, then make the from address one on it.
Almost always DATABASE_URL — missing, or pointing at a database that is not up yet. On Railway that shows as a crash-and-retry loop until the Postgres service exists and the reference is set.
A billing check that reads down usually means the signing secret is wrong; one that says Stripe has never called means the webhook endpoint was never added on Stripe’s side. admin_sync_billing reconciles a missed webhook. Billing →
Set RESET_OWNER_PASSWORD=1 on the app service and restart. A fresh owner password is printed to the logs. Remove the variable afterwards, or it resets on every boot.
Check the migration line in admin_health. A half-applied migration is invisible until somebody hits the screen that needs it. npm start, the Docker image and the Railway start command all run prisma migrate deploy first — npm run dev does not.