mcp
Search and apply to real jobs, browse companies, and read tech news via Datronis's live data.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
Search and apply to real jobs, browse companies, and read tech news via Datronis's live data.
How to connect
How to connect mcp to Claude
The server address to paste into Claude settings:
https://api.datronis.com/api/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect mcp to ChatGPT
The server address to paste into ChatGPT settings:
https://api.datronis.com/api/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect mcp to Cursor
The server address to paste into Cursor settings:
https://api.datronis.com/api/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (19)
Raw names from tools/list. Only developers need these.
| search_jobs | Search job listings by keyword, location, type, or remote policy. Returns paginated results with title, company, salary, and application URL. |
| get_job | Get full details of a job listing by its slug or ID, including description, requirements, company info, and application link. |
| get_news | Fetch the latest news articles. Optionally filter by category, locale, or title keyword. Returns title, summary, publication date, and URL. |
| get_categories | List all content categories available on the platform (for filtering news, jobs, etc.). |
| search_companies | Search companies on the platform. Returns company name, industry, location, size, website, and open roles count. |
| get_platform_stats | Get high-level statistics about the Datronis platform: total active jobs, jobs indexed in the last 7 days, companies, countries represented, news articles, and users. |
| apply_to_job | Submit a job application on behalf of the authenticated user. Requires a personal access token (generate one at /app/api-keys/). A resume is mandatory: if no resume_id is given, the user's default (or most recently updated) resume is used automatically, and the call fails with a clear error if the user has no resume yet. |
| list_my_resumes | List the authenticated user's saved resumes. Requires a personal access token (generate one at /app/api-keys/). |
| get_my_applications | Check the status of the authenticated user's job applications. Requires a personal access token (generate one at /app/api-keys/). |
| draft_news | Draft and publish a news article. Open to anyone with a Datronis account — the personal access token is for rate-limiting and audit, not permission-gating. Always drafted in English first; an automated safety classifier must return "green" (not political, not likely to be seen as controversial or divisive) before the article goes live. A "flagged" result creates the article unpublished and returns the reasons — use resubmit_news with revised content to try again; there is no way to force-publish a flagged article. Publishes English-only unless target_locales is given. |
| resubmit_news | Revise and reclassify a news article that draft_news (or a previous resubmit_news call) rejected as "flagged". Every call is its own fully logged classification attempt against the news_id's audit trail — never a silent status flip. Publishes the revision live only if the classifier now returns "green". Only the account that originally submitted the article (via draft_news) may resubmit it — a different account's api_key is rejected, even a valid one. |
| get_missing_news_translations | List published English news articles and which locale codes they are still missing a translation for. Pass locale to focus on one language at a time. Use this to find work for submit_news_translation — this tool only reports gaps, it never translates anything itself. |
| submit_news_translation | Publish your own translation of an already-published English article into a new locale. Unlike draft_news's target_locales (which asks Datronis's own server to translate it), the translated title/body you pass here is published as-is — you (the calling AI) do the translation. Open to anyone with an account, same as draft_news; the source article must already be live, and only one translation may exist per (article, locale) — a locale that already has a translation is rejected, use get_missing_news_translations to find real gaps first. |
| admin_create_news | Admin-only: publish a news article directly into any locale, any status, with no safety classifier and no English-first requirement. Requires an api_key belonging to an admin account — a valid but non-admin key is rejected. For non-admin accounts, use draft_news instead. Can also queue selected translations or every missing locale without keeping the MCP request open while translation runs. |
| admin_edit_news | Admin-only: edit any existing news article — title, body, category, or published status — regardless of who created it or what locale it is in. Requires an api_key belonging to an admin account. Unlike resubmit_news, there is no ownership restriction and no safety classifier; omit a field to leave it unchanged. |
| admin_translate_news | Admin-only: durably queue server-generated translations for an existing published news article. Pass target_locales for selected languages, or omit it to fill every missing locale across all 24 supported languages. Existing translations are skipped and each locale has a deterministic task, so repeating the call is safe. This call returns quickly; use admin_get_news_translation_status until complete=true. |
| admin_get_news_translation_status | Admin-only: inspect translation coverage and durable queue state for a news article. Returns existing locale rows, missing locale codes, per-locale QUEUED/PROCESSING/COMPLETED/FAILED jobs, and complete=true only when all 24 languages exist. |
| create_resume | Create a new resume for the authenticated user by directly specifying its content — name, headline, summary, contact info, work experience, education, skills, projects, certificates. Unlike the human resume builder at /app/resume-builder/, this tool skips layout and styling entirely — Datronis applies sensible defaults, which the user can still adjust later in the builder without losing anything you wrote. Requires a personal access token. |
| update_resume | Update an existing resume's content and/or metadata (title, locale, status, default flag). By default this merges: fields you omit stay as they are, and any section array you DO send (experiences, education, skills, projects, certificates, customSections) replaces that one section while every other section is untouched — call list_my_resumes first if you need to see current content before adding to it (e.g. appending one job to an existing experience list). Requires a personal access token. |