Skip to main content

typecast-mcp

A validator-only MCP server. It checks a job-posting JSON against a strict Pydantic schema and returns one line per error, in a form an agent can act on:

skills: has 70 items, maximum is 30 - remove 40, starting with required=false ones

No LLM, no API key, no network calls. Dependencies: mcp and pydantic.

It is the validation layer of Typecast, a project that measures how often LLMs fail to return valid structured output and what fixes it.

Tools

  • get_job_posting_schema: the JSON Schema of a job posting. It does not carry every rule: duplicate skill names and the intern/experience rule are only checked by the validator.
  • validate_job_posting: takes one argument, posting, the whole job-posting JSON as ONE string. Returns valid, a list of error lines (field: problem (got: value)), and the parsed posting when valid.

Install

Requires uv. Add this to your MCP client config (Claude Desktop, Cursor, and others):

{
  "mcpServers": {
    "typecast": {
      "command": "uvx",
      "args": ["typecast-mcp"]
    }
  }
}

Claude Code:

claude mcp add typecast -- uvx typecast-mcp

On Windows, if the client cannot find uvx, put the full path to uvx.exe in command. Without uv: pip install typecast-mcp, then use typecast-mcp as the command.

What it does not check

Whether the values are correct. A posting can be valid and still have the wrong seniority or the wrong skills. See Why not just use native structured outputs?

Full spec, limits and design decisions: docs/MCP.md.

License

MIT

Metadata

Release files for typecast-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for typecast-mcp 0.1.0
File Size Uploaded Provenance Actions
typecast_mcp-0.1.0.tar.gz 8.0 kB Without provenance Details for typecast_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for typecast-mcp 0.1.0
File Interpreter ABI Platform Actions
typecast_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for typecast_mcp-0.1.0-py3-none-any.whl

Total release size: 18.0 kB

Release files / typecast_mcp-0.1.0.tar.gz

Download URL typecast_mcp-0.1.0.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
80c33dc248f46c2a2ca50da01b33615475ebceef2e531df7f35e9ea771c06bdf
BLAKE2b-256 checksum
How to use checksums
903efc6baedebd8892a90383668f184ef62789f36415b41fff4c9f5cc5726f74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / typecast_mcp-0.1.0-py3-none-any.whl

Download URL typecast_mcp-0.1.0-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8564b3ead835c07e4d5311981895591ff0c223df30d1c675ab740e2b511cb4ca
BLAKE2b-256 checksum
How to use checksums
8574be8fe2d532d4be030b98aa32bcf83dd376d52227996c5a2c2b736953db5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for typecast-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page