# Dynomatix

> Enquiries for Dynomatix, a software practice.

- name: com.dynomatix/company
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 79/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.dynomatix%2Fcompany
- tools: https://api.protogrid.dev/v1/servers/com.dynomatix%2Fcompany/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "company": {
      "type": "http",
      "url": "https://dynomatix.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-97% ~updated-67d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: dynomatix_get_position (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); dynomatix_submit_application (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); dynomatix_get_work (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,747 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 1,747 tokens to load them all
- tool set hash: 71ae66c9a95710f195f122f073a787f1
- badge: [![protogrid quality](https://protogrid.dev/badge/com.dynomatix/company.svg)](https://protogrid.dev/servers/com.dynomatix/company)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://dynomatix.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9655172)

## Packages

_none_

## Tools (7)

- `dynomatix_about`: Who Dynomatix is, what it sells and how to reach it. Returns the company's identity and tagline, its engagement types, both contact addresses, its key pages and its track record. Read this first if you are deciding whether this company fits a need; use dynomatix_submit_enquiry to start a conversation. Takes no arguments.
- `dynomatix_get_position`: Read one job posting in full: responsibilities, requirements and how the role is set up. Returns the posting's own markdown, frontmatter included — the title and canonical URL it opens with are the citation to quote when you tell someone about the role. Call dynomatix_list_open_positions first to get a valid slug; a slug that is not currently open is refused rather than guessed at.
- `dynomatix_get_work`: Read one case study in full: what the problem was, what was built and what it changed. Returns the study's own markdown, frontmatter included — the title and canonical URL it opens with are the citation to quote. Call dynomatix_list_work first for a valid slug; only entries whose `caseStudyUrl` is not null have a write-up to return.
- `dynomatix_list_open_positions`: List every role Dynomatix is currently hiring for. Returns one entry per position with its slug, title, one-line summary, employment type, canonical URL and posting dates. Start here before dynomatix_get_position or dynomatix_submit_application: the slug this returns is the value both of them expect. An empty list means there are no openings right now, not that the lookup failed. Takes no arguments.
- `dynomatix_list_work`: List the products and client work Dynomatix has shipped. Returns one entry per item with its name, the year it started, its status, a short description and its links. Retired items are included — the site shows them and `status` says which is which — because a track record with the failures removed is not a track record. Where `caseStudyUrl` is not null, dynomatix_get_work will return the full write-up for that slug. Takes no arguments.
- `dynomatix_submit_application`: Submit a job application to Dynomatix, résumé included. This is final: it delivers straight to a monitored human inbox and cannot be edited, recalled or deleted afterwards. Confirm the details with the person you are acting for before you call it, and do not call it twice for the same submission — a retry sends a second copy. Set `position` to a slug from dynomatix_list_open_positions. Supply the résumé exactly one of two ways: `resume_url`, an https link that downloads the file itself (a sharing page from a drive or a document service is not a direct link and will be refused), or `resume_base64` together with `resume_filename`. Supplying both, or neither, is refused. The résumé must be a PDF, DOC or DOCX file under 5 MB; its contents are checked against its extension, so a renamed file is refused too. Nothing is stored until every field passes, and the reply confirms receipt with a submission id worth quoting in any follow-up — it never returns the résumé or a link to it.
- `dynomatix_submit_enquiry`: Send a project enquiry to Dynomatix — the same form the site's enquiry page submits. This is final: it delivers straight to a monitored human inbox and cannot be edited, recalled or deleted afterwards. Confirm the details with the person you are acting for before you call it, and do not call it twice for the same submission — a retry sends a second copy. Give the company or product website in `company` (a bare hostname like example.com is fine) and say what needs building in `brief`. Nothing is stored: the enquiry becomes an email and nothing else. Ask for a budget on the call, not here — this form does not collect one.
