Search and apply to real jobs, browse companies, and read tech news via Datronis's live data.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://api.datronis.com/api/mcp19 tools · 959mssearch_jobsSearch job listings by keyword, location, type, or remote policy. Returns paginated results with title, company, salary, and application URL.Search job listings by keyword, location, type, or remote policy. Returns paginated results with title, company, salary, and application URL.
| Parameter | Type | Description |
|---|---|---|
| q | string | Search keyword (title or description) |
| country | string | Filter by country (e.g. "United States") |
| city | string | Filter by city |
| remote_type | string | Remote work policy |
| job_type | string | Employment type |
| job_level | string | Experience level required |
| skills | array | Required skills (e.g. ["Python", "React"]) |
| salary_min | integer | Minimum annual salary (USD) |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 10) |
| api_key | string | Optional: your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Prefer sending it as an `Authorization: Bearer <token>` HTT… |
get_jobGet full details of a job listing by its slug or ID, including description, requirements, company info, and application link.Get full details of a job listing by its slug or ID, including description, requirements, company info, and application link.
| Parameter | Type | Description |
|---|---|---|
| slug* | string | Job slug (URL-friendly identifier) or job ID |
| api_key | string | Optional: your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Prefer sending it as an `Authorization: Bearer <token>` HTT… |
get_newsFetch the latest news articles. Optionally filter by category, locale, or title keyword. Returns title, summary, publication date, and URL.Fetch the latest news articles. Optionally filter by category, locale, or title keyword. Returns title, summary, publication date, and URL.
| Parameter | Type | Description |
|---|---|---|
| title | string | Search keyword in title |
| category_id | integer | Filter by category ID |
| locale | integer | Language locale (1=English, 2=Persian, 3=Spanish, 4=German, ...) |
| limit | integer | — |
| offset | integer | — |
get_categoriesList all content categories available on the platform (for filtering news, jobs, etc.).List all content categories available on the platform (for filtering news, jobs, etc.).
| Parameter | Type | Description |
|---|---|---|
| locale | integer | Language locale (1=English) |
search_companiesSearch companies on the platform. Returns company name, industry, location, size, website, and open roles count.Search companies on the platform. Returns company name, industry, location, size, website, and open roles count.
| Parameter | Type | Description |
|---|---|---|
| query | string | Company name or industry keyword |
| country | string | Filter by country |
| industry | string | Filter by industry |
| is_hiring | boolean | Filter to companies actively hiring |
| limit | integer | Results per page (default: 10) |
| page | integer | Page number (default: 1) |
get_platform_statsGet high-level statistics about the Datronis platform: total active jobs, jobs indexed in the last 7 days, companies, countries represented, news articles, and users.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.
No input schema was published for this tool.
apply_to_jobSubmit 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…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…
| Parameter | Type | Description |
|---|---|---|
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
| job_id* | string | Job ID to apply for (from search_jobs or get_job) |
| resume_id | string | Resume to attach. If omitted, your default resume (or most recently updated) is used automatically. |
| cover_letter | string | Optional cover letter text |
list_my_resumesList the authenticated user's saved resumes. Requires a personal access token (generate one at /app/api-keys/).List the authenticated user's saved resumes. Requires a personal access token (generate one at /app/api-keys/).
| Parameter | Type | Description |
|---|---|---|
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
| query | string | Search keyword in resume title or headline |
| status | string | Filter by resume status |
| locale | string | Filter by resume locale |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 20) |
get_my_applicationsCheck the status of the authenticated user's job applications. Requires a personal access token (generate one at /app/api-keys/).Check the status of the authenticated user's job applications. Requires a personal access token (generate one at /app/api-keys/).
| Parameter | Type | Description |
|---|---|---|
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 20) |
draft_newsDraft 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 d…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 d…
| Parameter | Type | Description |
|---|---|---|
| title* | string | Article title (English) |
| body* | string | Article body in the format selected by content_format |
| content_format | string | Body format. Use "markdown" for headings, tables, lists, code blocks, links and images; use "html" for rich HTML with classes and inline CSS. Defaults to html… |
| category_id | integer | Category ID; defaults to the site's default news category |
| target_locales | array | Optional 2-letter locale codes to also translate and publish into (e.g. ["de","ru"]). English is always published first. Omit to publish English-only — broad m… |
| allow_self_translation | boolean | Reserves (does not yet grant a UI for) your permission to personally translate this article into additional locales later, beyond target_locales. Defaults to t… |
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
resubmit_newsRevise 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 "gr…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 "gr…
| Parameter | Type | Description |
|---|---|---|
| news_id* | integer | The news_id returned by a previous draft_news call |
| title* | string | Revised article title (English) |
| body* | string | Revised article body (English) |
| content_format | string | Body format. Use "markdown" for headings, tables, lists, code blocks, links and images; use "html" for rich HTML with classes and inline CSS. Defaults to html… |
| target_locales | array | Same as draft_news — only used if this revision is approved |
| allow_self_translation | boolean | Same as draft_news. Omit to leave the article's existing setting unchanged; pass explicitly to change it. |
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
get_missing_news_translationsList 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.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.
| Parameter | Type | Description |
|---|---|---|
| locale | string | Optional 2-letter locale code (e.g. "fi") to only return articles missing that specific translation. Omit to see every published article missing at least one l… |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 20) |
submit_news_translationPublish 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…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…
| Parameter | Type | Description |
|---|---|---|
| news_id* | integer | The news_id of the published English source article (from get_news or get_missing_news_translations) |
| locale* | string | 2-letter target locale code (e.g. "fi") — see get_missing_news_translations for what a given article still needs |
| title* | string | Translated title, in the target locale |
| body* | string | Translated body, in the target locale — HTML or plain text, same format as the source |
| content_format | string | Body format. Use "markdown" for headings, tables, lists, code blocks, links and images; use "html" for rich HTML with classes and inline CSS. Defaults to html… |
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
admin_create_newsAdmin-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 tra…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 tra…
| Parameter | Type | Description |
|---|---|---|
| title* | string | Article title, in the target locale |
| body* | string | Article body in the format selected by content_format |
| content_format | string | Body format. Use "markdown" for headings, tables, lists, code blocks, links and images; use "html" for rich HTML with classes and inline CSS. Defaults to html… |
| locale* | string | 2-letter locale code to publish directly into (e.g. "en", "de") — no English-first requirement, unlike draft_news |
| category_id | integer | Category ID; defaults to the site's default news category |
| published | boolean | Whether the article goes live immediately. Defaults to true. No safety classifier runs either way — admin judgment only. |
| target_locales | array | Optional locale codes to translate in the durable background queue after creating the article. Use translate_to_all instead when every missing locale is wanted. |
| translate_to_all | boolean | When true, queue every missing locale after creating the article. The tool returns immediately; use admin_get_news_translation_status to follow progress. |
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
admin_edit_newsprivilegedAdmin-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…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…
| Parameter | Type | Description |
|---|---|---|
| news_id* | integer | The news_id of any existing article — not limited to ones the caller created |
| title | string | New title. Omit to leave unchanged. |
| body | string | New body. Omit to leave unchanged. |
| content_format | string | Body format. Use "markdown" for headings, tables, lists, code blocks, links and images; use "html" for rich HTML with classes and inline CSS. Defaults to html… |
| category_id | integer | New category ID. Omit to leave unchanged. |
| published | boolean | Publish or unpublish the article. Omit to leave the current status unchanged. |
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
admin_translate_newsAdmin-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 repea…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 repea…
| Parameter | Type | Description |
|---|---|---|
| news_id* | integer | Any published news row in the translation family. |
| target_locales | array | Locale codes to fill (for example ["fa","de"]). Omit to queue every locale that is still missing. Existing translations are skipped, so retries are safe. |
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
admin_get_news_translation_statusAdmin-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.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.
| Parameter | Type | Description |
|---|---|---|
| news_id* | integer | Any news row in the translation family. |
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
create_resumeCreate 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 appl…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 appl…
| Parameter | Type | Description |
|---|---|---|
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
| title | string | Internal title to identify this resume, e.g. "Backend Engineer — EU". Defaults to "Untitled Resume". |
| locale | string | 2-letter locale code for this resume version, e.g. "en", "de". Defaults to "en". |
| is_default | boolean | Make this the default resume — used by apply_to_job when no resume_id is given. |
| name | string | Full name shown on the resume header. |
| headline | string | Short professional title under the name, e.g. "Senior Software Engineer". |
| summary | string | 2-4 sentence professional summary. |
| location | string | City, Country shown in the header. |
| contact | object | Contact links shown in the header. |
| experiences | array | Work history, most recent first. If provided, replaces this entire section — send the complete list, not just what changed. |
| projects | array | Projects section. If provided, replaces this entire section — send the complete list, not just what changed. |
| skills | array | Skill categories. If provided, replaces this entire section — send the complete list, not just what changed. |
| certificates | array | Certifications. If provided, replaces this entire section — send the complete list, not just what changed. |
| education | array | Education history. If provided, replaces this entire section — send the complete list, not just what changed. |
| customSections | array | Extra named sections not covered above (awards, publications, volunteering, etc). If provided, replaces this entire section — send the complete list, not just… |
update_resumeUpdate 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…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…
| Parameter | Type | Description |
|---|---|---|
| api_key | string | Your Datronis personal access token (starts with "dtk_"). Generate one at /app/api-keys/. Required unless sent as an `Authorization: Bearer <token>` HTTP heade… |
| resume_id* | string | The resume to update — from list_my_resumes. |
| title | string | New internal title. Omit to leave unchanged. |
| locale | string | New locale code. Omit to leave unchanged. |
| status | string | New status. Omit to leave unchanged. |
| is_default | boolean | Make this the default resume. Omit to leave unchanged. |
| full_replace | boolean | false (default): merge — fields you omit stay as they are; any section array you DO send (experiences, education, skills, projects, certificates, customSection… |
| name | string | Full name shown on the resume header. |
| headline | string | Short professional title under the name, e.g. "Senior Software Engineer". |
| summary | string | 2-4 sentence professional summary. |
| location | string | City, Country shown in the header. |
| contact | object | Contact links shown in the header. |
| experiences | array | Work history, most recent first. If provided, replaces this entire section — send the complete list, not just what changed. |
| projects | array | Projects section. If provided, replaces this entire section — send the complete list, not just what changed. |
| skills | array | Skill categories. If provided, replaces this entire section — send the complete list, not just what changed. |
| certificates | array | Certifications. If provided, replaces this entire section — send the complete list, not just what changed. |
| education | array | Education history. If provided, replaces this entire section — send the complete list, not just what changed. |
| customSections | array | Extra named sections not covered above (awards, publications, volunteering, etc). If provided, replaces this entire section — send the complete list, not just… |
19 of 19 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Search and apply to real jobs, browse companies, and read tech news via Datronis's live data.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.